# SOP-1100: Create Decision Record

**Applies to:** All projects using the COR document system
**Last updated:** 2026-03-12
**Last reviewed:** 2026-03-12
**Status:** Active

---

## What Is It?

An Architecture / Any Decision Record (ADR) captures a decision made during a session, along with its context, alternatives considered, and consequences. ADRs provide a traceable history of why things are the way they are.

---

## Why

Decisions without recorded context become mysterious over time. ADRs preserve the reasoning behind choices so future team members (or your future self) can understand why things are the way they are without re-debating settled questions.

---

## When to Use

- A design or architecture choice is made
- A policy or convention is established or changed
- A sync/copy decision affects multiple projects
- A naming convention or workflow is agreed upon
- Any decision worth explaining to your future self

## When NOT to Use

- Routine operations covered by an existing SOP
- Bug fixes (use INC instead)
- Temporary or trivial choices with no lasting impact

---

## Naming Convention

```
<PREFIX>-<NNNN>-ADR-<YYYYMMDD><Dn>-<Short-Description>.md
```

- **PREFIX** — project prefix (e.g., COR, ALF)
- **NNNN** — sequential number in the business layer ADR area
- **YYYYMMDD** — date the decision was made
- **Dn** — decision sequence number for that day (D1, D2, D3, ...)
- **Short-Description** — kebab-case summary of the decision

Examples:
- `COR-6001-ADR-20260312D1-Adopt-Johnny-Decimal.md`
- `ALF-6001-ADR-20260312D1-Bella-Skip-SOP-1001.md`
- `ALF-6002-ADR-20260312D2-Fix-Bella-1004-Conflict.md`
- `ALF-6003-ADR-20260312D3-Introduce-ADR-Document-Type.md`

**Note:** Area is user-chosen and is not bound to any specific type. See COR-1001 for authoritative numbering rules.

---

## ADR Template

```markdown
# ALF-NNNN-ADR-YYYYMMDDD#: <Short Description>

- **Date:** YYYY-MM-DD
- **Status:** Proposed | Accepted | Superseded | Deprecated
- **Related:** <ALF-NNNN, ALF-NNNN, ...>

---

## Context

What prompted this decision? What problem or question came up?

---

## Options Considered

- **Option A:** <description>
- **Option B:** <description>
- **Option C:** <description> _(if applicable)_

---

## Decision

What was decided and by whom.

---

## Rationale

Why this option was selected over the alternatives.

---

## Consequences

- What changes as a result of this decision
- What needs to be updated (SOPs, configs, other docs)
- Any trade-offs accepted

---

## Change History

| Date | Change | By |
|------|--------|----|
| YYYY-MM-DD | Initial version | Author |
```

---

## Quick Create Shortcut

To create a new ADR, just say **"new D"** (or "新建一个 D"). The agent will:

1. Check today's date
2. Find the last Dn for today (`af list` and filter by today's date in ADR names)
3. Assign the next sequential number (e.g., if D3 exists, the new one is D4; if it's a new day, start at D1)
4. Ask for the topic or create it directly if context is clear

---

## Steps (Manual)

1. **Determine the next number** — run `af list` to find the next available ADR ACID
2. **Determine today's sequence** — check how many ADRs already exist for today's date via `af list`, use the next Dn
3. **Create the file** — use `af create adr` with the naming convention and template above
4. **Fill in all sections** — keep it concise; a good ADR can be as short as 10 lines
5. **Save** — `af create adr` places the file in the correct layer automatically

---

## Language Policy

All ADR documents must be written in English. Team discussions may happen in any language, but the recorded document is always in English for consistency and searchability.

---

## Safety Notes

- Write the ADR as close to the decision moment as possible — context fades fast
- If a decision is later reversed, do not delete the original ADR; create a new one that supersedes it and update the original's status to "Superseded"
- Keep ADRs factual, not aspirational

---

## Change History

| Date | Change | By |
|------|--------|----|
| 2026-03-12 | Initial version | Claude Code |
| 2026-03-12 | Added quick create shortcut convention | Claude Code |
| 2026-03-14 | PDCA + Johnny Decimal migration: renamed from ALF-1005 to COR-1000 | Claude Code |
| 2026-03-20 | Added Why section per ALF-2210 | Claude Code |
