# Decision log template with ADRs

A decision log and its records, in six linked documents: the log that lists every decision with its status, the way your team decides, a blank record to copy, and three example records, one of them superseded by the next. Download them as Markdown files: they open in any editor, sit well in a code repository, and import into Nodary as a map.

Free, no account, no email. Use it, change it, share it.

[Download the template (.zip)](https://nodary.ai/downloads/decision-log-template.zip)

## Read every page before you download

The log is the page everyone opens: one line per decision, linked to its record. Records follow the architecture decision record (ADR) format, and work for any decision, technical or not. The examples follow one sample product deciding where to keep uploaded files.

- Decision log: The index of every decision: its number, its status, its date and what replaced it.
- How we decide: Who proposes and who decides, how a record goes from proposed to decided, and when decisions are reviewed.
- Decision record template: A blank record to copy for each new decision: status, context, options, decision and consequences.
- ADR-001 Keep decisions in this log: The first record: why the team writes its decisions down, and how.
- ADR-002 Store uploaded files on the application server: An example of a superseded record: it stays as it was, with the number of the record that replaced it.
- ADR-003 Store uploaded files in object storage: An example of an accepted record that supersedes an earlier one.

### Decision log

_How to use this template: italic lines are guidance. Replace them with your own words, then delete them. Values in square brackets are yours to fill in. Each decision has its own record, linked from the table below; a record is never deleted, and a decision that changes gets a new record that supersedes it._

#### Decisions

| Number | Decision | Status | Date | Decided by | Superseded by |
| --- | --- | --- | --- | --- | --- |
| [ADR-001](https://nodary.ai/templates/decision-log#doc-adr-001) | Keep decisions in this log | accepted | [date] | [names] |  |
| [ADR-002](https://nodary.ai/templates/decision-log#doc-adr-002) | Store uploaded files on the application server | superseded | [date] | [names] | [ADR-003](https://nodary.ai/templates/decision-log#doc-adr-003) |
| [ADR-003](https://nodary.ai/templates/decision-log#doc-adr-003) | Store uploaded files in object storage | accepted | [date] | [names] |  |
| [ADR-004] | [Your next decision] | [proposed] | [date] | [names] |  |

#### Statuses

```mermaid
flowchart LR
  n0["Proposed"]
  n1["Accepted"]
  n2["Rejected"]
  n3["Superseded"]
  n4["Deprecated"]
  n0 --> n1
  n0 --> n2
  n1 --> n3
  n1 --> n4
```
_How a decision’s status changes_

| Status | Meaning |
| --- | --- |
| Proposed | Written and open for review, not decided yet |
| Accepted | Decided: the team works to it |
| Rejected | Decided against, and kept so nobody has to ask again |
| Superseded | Replaced by a later decision, whose number it gives |
| Deprecated | No longer applies, and nothing replaced it |

#### When to write a record

- The decision is hard to reverse: [a database, a supplier, a public API, a price]
- Several options were seriously considered
- Someone will ask why in six months
- It changes how another team works

#### The rest of the log

- [How we decide](https://nodary.ai/templates/decision-log#doc-process): who proposes, who decides, and how a record is reviewed
- [Decision record template](https://nodary.ai/templates/decision-log#doc-record): the blank record to copy for each new decision

_This template is free to use, change and share. It comes from_ [Nodary](https://nodary.ai)_, where these files import as a map of linked documents._

### How we decide

**Owner:** [name] · **Status:** draft · **Last reviewed:** [date]

_The rules of the log, agreed once. Without them, records get written for small things and skipped for big ones._

#### Who decides

| Kind of decision | Proposed by | Decided by | Consulted |
| --- | --- | --- | --- |
| [Architecture] | [any engineer] | [tech lead] | [...] |
| [Product scope] | [...] | [product owner] | [...] |
| [Supplier or spending] | [...] | [...] | [...] |

#### From proposal to decision

1. Copy the [record template](https://nodary.ai/templates/decision-log#doc-record), give it the next number and the status proposed.
2. Write the context and at least two options before the decision.
3. Ask the deciders to review it by [date].
4. Set the status to accepted or rejected, with the date and the deciders.
5. Add a line to the [decision log](https://nodary.ai/templates/decision-log#doc-overview).

#### Changing a decision

_Never edit an accepted record to say something else. Write a new record that supersedes it, set the old one to superseded with the new record’s number, and link the two both ways._

#### Reviews

- Accepted decisions are reviewed: [every quarter, at each milestone]
- Proposed decisions older than [two weeks] are decided or withdrawn

Related: [Decision log](https://nodary.ai/templates/decision-log#doc-overview) · [Decision record template](https://nodary.ai/templates/decision-log#doc-record)

### Decision record template

_Copy this page for each new decision and give it the next number, such as ADR-004 followed by the decision in a few words._

| Field | Value |
| --- | --- |
| Number | [ADR-000] |
| Status | [proposed, accepted, rejected, superseded by ADR-..., deprecated] |
| Date | [date] |
| Decided by | [names] |
| Supersedes | [none, or ADR-...] |

#### Context

_The forces at play: what is true today, what hurts, what constrains the choice. Facts, not the decision._

[Context]

#### Options considered

| Option | For | Against |
| --- | --- | --- |
| [Option A] | [...] | [...] |
| [Option B] | [...] | [...] |

#### Decision

_What you will do, in full sentences, starting with “We will”._

We will [...].

#### Consequences

- Easier: [...]
- Harder: [...]
- To watch: [...]

Related: [Decision log](https://nodary.ai/templates/decision-log#doc-overview) · [How we decide](https://nodary.ai/templates/decision-log#doc-process)

### ADR-001 Keep decisions in this log

| Field | Value |
| --- | --- |
| Number | ADR-001 |
| Status | accepted |
| Date | [date] |
| Decided by | [names] |
| Supersedes | none |

#### Context

Decisions are made in meetings, chats and calls. A few months later, nobody remembers why the team chose what it did, and newcomers either repeat old debates or undo choices without knowing what they cost.

#### Options considered

| Option | For | Against |
| --- | --- | --- |
| Write nothing down | Fast | The reasons are lost |
| Minutes of every meeting | Everything is kept | Nobody reads them, and decisions hide among the rest |
| One short record per significant decision, listed in a log | Easy to find and to read | About fifteen minutes per decision |

#### Decision

We will write one record for each significant decision, numbered in order, and list it in the [decision log](https://nodary.ai/templates/decision-log#doc-overview). A record is never deleted or rewritten: a new record supersedes it.

#### Consequences

- Easier: knowing why, and bringing newcomers up to speed
- Harder: deciding quickly without writing anything
- To watch: records written after the fact, or not at all

Related: [Decision log](https://nodary.ai/templates/decision-log#doc-overview) · [How we decide](https://nodary.ai/templates/decision-log#doc-process)

### ADR-002 Store uploaded files on the application server

| Field | Value |
| --- | --- |
| Number | ADR-002 |
| Status | superseded by [ADR-003](https://nodary.ai/templates/decision-log#doc-adr-003) |
| Date | [date] |
| Decided by | [names] |
| Supersedes | none |

_An example of a superseded record. Nothing in it was changed when ADR-003 replaced it, apart from its status._

#### Context

Users attach files to their documents. The product runs on one application server with a large disk, and the team has two engineers.

#### Options considered

| Option | For | Against |
| --- | --- | --- |
| The application server’s disk | Simple, nothing new to run | Hard to back up and to share with a second server |
| Object storage | Grows without limits, cheap | One more service to learn and pay for |

#### Decision

We will store uploaded files on the application server’s disk and back the disk up every night.

#### Consequences

- Easier: shipping uploads this month
- Harder: adding a second server later
- To watch: the disk’s free space and the time a restore takes

Related: [Decision log](https://nodary.ai/templates/decision-log#doc-overview) · [ADR-003 Store uploaded files in object storage](https://nodary.ai/templates/decision-log#doc-adr-003)

### ADR-003 Store uploaded files in object storage

| Field | Value |
| --- | --- |
| Number | ADR-003 |
| Status | accepted |
| Date | [date] |
| Decided by | [names] |
| Supersedes | [ADR-002](https://nodary.ai/templates/decision-log#doc-adr-002) |

#### Context

Traffic now needs a second application server, and a file written on one server’s disk is missing on the other. Restoring the nightly backup took four hours in the last drill. [ADR-002](https://nodary.ai/templates/decision-log#doc-adr-002) assumed a single server; that is no longer true.

#### Options considered

| Option | For | Against |
| --- | --- | --- |
| A disk shared between the servers | No change to the code | One more thing to run, and a single point of failure |
| Object storage | Every server sees every file, versions kept, restores in minutes | Code changes for uploads and downloads |

#### Decision

We will store uploaded files in object storage with versioning on, and serve them through signed links that expire. This supersedes [ADR-002](https://nodary.ai/templates/decision-log#doc-adr-002).

#### Consequences

- Easier: adding servers, and restoring a deleted file
- Harder: running the product on a laptop without the storage service
- To watch: the storage bill, and links shared before they expire

Related: [Decision log](https://nodary.ai/templates/decision-log#doc-overview) · [ADR-002 Store uploaded files on the application server](https://nodary.ai/templates/decision-log#doc-adr-002)

## How to use it

### Agree on who decides

Fill in the process page first: which kinds of decision need a record, who proposes, who decides and who is consulted.

### Copy the record for each decision

Give it the next number and the status proposed. Write the context and at least two options before anyone writes the decision.

### Decide, then list it

Set the status to accepted or rejected, with the date and the deciders, and add a line to the log. A rejected decision stays: it saves the next debate.

### Supersede, never rewrite

When a decision changes, write a new record that supersedes the old one, and mark the old one superseded with the new number. The history stays readable.

## Import it into Nodary as a map

Nodary is an AI-native workspace where a team’s documents link instead of piling up. Import the .zip and the log arrives with its records filed under it and the links between them kept. Mark each record as canon, exploration, obsolete or superseded by the record that replaced it: the status shows on the document, and AI agents connected over MCP are told before they read a superseded one. When two documents disagree, Nodary shows both passages side by side.

1. Open a project’s map and choose Import.
2. Choose the Folder or ZIP tab, then Choose a ZIP.
3. Pick the downloaded file, check the tree, and import.

The Free plan holds ten documents per workspace, the project’s own page included: the template’s six leave room for three more records. Nodary also has a one-page Architecture Decision Record template built in.

## Keeping a decision log people trust

A decision log fails when nobody writes in it, or when what it says no longer matches what the team does. These habits prevent both.

### One decision per record

A record that settles three things is reopened three times. Keep each one to a single decision with a single status.

### Context before the decision

Write what is true today and what constrains the choice before the decision itself. Six months later, the context is what explains it.

### Always name two options

A record with one option is an announcement. Name the alternatives you seriously considered and why you did not take them.

### Supersede, never rewrite

An accepted record is never edited to say something else. A new record replaces it and both stay, so the log tells the true story.

### Say who decided

Each record names its deciders and its date. A decision without a name has nobody to ask, and nobody to change it.

### Link to what it changes

Link each record to the documents it changes, and those documents back to it. A reader of the design then finds the reason in one click.

## Questions about decision logs

### What is a decision log?

A decision log is a running list of a team’s significant decisions: what was decided, when, by whom, its status, and a link to the record that explains it. It lets anyone, including a new teammate or an AI agent, find out why things are the way they are without asking around.

### What is an ADR?

An architecture decision record, or ADR, is a short document for one significant decision: its context, the options considered, the decision and its consequences, with a number and a status. The format comes from software architecture, and works for any decision a team wants to keep.

### What does superseded mean?

A superseded decision has been replaced by a later one. It stays in the log, unchanged, with the number of the record that replaced it, and the new record says which one it supersedes. Nothing is deleted, so the history stays true.

### When should a team write a decision record?

When a decision is hard to reverse, when several options were seriously considered, when it changes how another team works, or when someone is likely to ask why in six months. Small reversible choices do not need one.

### Should decision records live with the code or with the documents?

Teams that only share decisions among engineers often keep them in the code repository. When product, design, support or clients need to read them too, a shared workspace makes them easier to find. The files in this template work in both places.

### Can I use it outside Nodary?

Yes. The files are plain Markdown with relative links: put the folder in a repository, open it in Obsidian as a vault, or read it on GitHub, diagram included.

The page: https://nodary.ai/templates/decision-log
