diff --git a/.abcd/development/intents/README.md b/.abcd/development/intents/README.md index f4712d7e..3422ffc2 100644 --- a/.abcd/development/intents/README.md +++ b/.abcd/development/intents/README.md @@ -138,10 +138,12 @@ Continuously: intent-fidelity-reviewer's shape-classification role suggests | File | Frontmatter field | |---|---| -| `intents/{drafts,planned,shipped}/itd-N-.md` | `spec_id: spc-N` (or list, or `null` when in drafts/) | -| the native spec `spc-N-` | `intent: itd-N` (or list) | +| `intents/{drafts,planned,shipped}/itd-N-.md` | `spec_id: spc-N` (scalar, or `null` when in drafts/ — **never a list**) | +| the native spec `spc-N-` | `intent: itd-N` (or list — one spec may consume several intents; that is the bundle direction) | -Both directions present once `/abcd:intent plan` runs. `intent_lint` (pre-commit + CI) verifies they agree. +Both directions present once `/abcd:intent plan` runs. `intent_lint` (pre-commit + CI) verifies they agree, and rejects a list-valued `spec_id`. + +**Split-the-intent doctrine.** An intent is the unit of consumption: it is implemented by exactly one spec. Work too big for one spec decomposes into *tasks inside* that spec; an intent containing two separately verifiable promises is two intents — split it (precedent: the launch PRD's Tier A/B split into itd-67 and itd-72). This keeps the close hook singular, coverage computable, and doneness unambiguous — an intent can never be half-consumed and called done. --- @@ -194,6 +196,12 @@ prd_grandfathered: null # true = pre-spc-3 planned intent; GR002+GL005 suppress - **Given** , **when** , **then** . +## Prior Art + +> _Required. Positions the intent against the existing corpus: what it builds on, what almost covers it, why it is nonetheless its own intent. At least one resolvable reference (sibling intent, brief section, principle, ADR, or external source); "none found — searched " is a valid entry, an empty section is not._ + +- + ## Open Questions - @@ -223,9 +231,9 @@ The freeze is **non-self-referential**: re-computing the hash on the frozen PRD ## Customer Quotes — Persona Convention -Customer quotes use placeholder personas from `.abcd/development/personas.json` (Alice, Bob, Carol, ...). Each persona has role hints; pick a persona whose role matches the intent's audience. +Customer quotes use placeholder personas from `.abcd/development/personas.json` (Alice, Bob, Carol, ... — a fixed alphabetical sequence). Selection is **by role, never by name**: the intent's audience picks the role; the role's registered name is used. Every persona is they/them. -This is also a codified abcd principle: never use real names in press releases (PII), but never use generic "a hypothetical user" language (loses voice). Named personas keep quotes grounded without leaking real-world identifiers. +This is also a codified abcd principle ([`principles/personas-alice-bob-carol.md`](../principles/personas-alice-bob-carol.md)): never use real names in press releases (PII), but never use generic "a hypothetical user" language (loses voice). Named personas keep quotes grounded without leaking real-world identifiers. --- diff --git a/.abcd/development/intents/disciplines/itd-1-acceptance-gates.md b/.abcd/development/intents/disciplines/itd-1-acceptance-gates.md index 9eef9246..5c66ebde 100644 --- a/.abcd/development/intents/disciplines/itd-1-acceptance-gates.md +++ b/.abcd/development/intents/disciplines/itd-1-acceptance-gates.md @@ -7,6 +7,7 @@ suggested_kind: null spec_id: null reclassification_history: - { date: 2026-05-07, from: standalone, to: discipline, reason: "Reclassified per the three-intent-kinds change: itd-1 has no user moment of its own (it's a rule that applies to every other epic), so press-release shape was structurally wrong. Discipline shape (## Rule + ## Why) fits." } +severity: critical --- # Every Intent Has Acceptance Criteria; Every Audit Verifies Them diff --git a/.abcd/development/intents/disciplines/itd-37-modification-grammar.md b/.abcd/development/intents/disciplines/itd-37-modification-grammar.md index 6036f73a..88850507 100644 --- a/.abcd/development/intents/disciplines/itd-37-modification-grammar.md +++ b/.abcd/development/intents/disciplines/itd-37-modification-grammar.md @@ -6,6 +6,9 @@ kind_notes: "Cross-cutting modification-grammar gate; applied at every spec plan suggested_kind: null spec_id: null reclassification_history: [] +blocked_by: [itd-36] +builds_on: [itd-1] +severity: major --- # Every Spec Externalises How It Should And Shouldn't Be Modified diff --git a/.abcd/development/intents/disciplines/itd-5-prompt-quality-additions.md b/.abcd/development/intents/disciplines/itd-5-prompt-quality-additions.md index 1575225d..454ac398 100644 --- a/.abcd/development/intents/disciplines/itd-5-prompt-quality-additions.md +++ b/.abcd/development/intents/disciplines/itd-5-prompt-quality-additions.md @@ -7,6 +7,8 @@ suggested_kind: null spec_id: null reclassification_history: - { date: 2026-05-07, from: standalone, to: discipline, reason: "Reclassified per the three-intent-kinds change: itd-5 is a rule that applies to every agent spec — `prompt_version` frontmatter, one-shot pre-flight at lock-time, injection canaries — not a feature with a user moment of its own. Discipline shape (## Rule + ## Why) fits." } +blocked_by: [itd-1] +severity: major --- # Every Agent Prompt Carries Its Version, Earns Its Lock, And Survives Injection diff --git a/.abcd/development/intents/drafts/itd-10-purge-uninstall.md b/.abcd/development/intents/drafts/itd-10-purge-uninstall.md index 86a1ea4f..e5b4a21b 100644 --- a/.abcd/development/intents/drafts/itd-10-purge-uninstall.md +++ b/.abcd/development/intents/drafts/itd-10-purge-uninstall.md @@ -5,6 +5,8 @@ spec_id: null kind: standalone suggested_kind: null reclassification_history: [] +builds_on: [itd-13] +severity: minor --- # Full Removal When You Mean It diff --git a/.abcd/development/intents/drafts/itd-11-pass-b-pitfall-mitigation.md b/.abcd/development/intents/drafts/itd-11-pass-b-pitfall-mitigation.md index aae727d8..a41b4fc1 100644 --- a/.abcd/development/intents/drafts/itd-11-pass-b-pitfall-mitigation.md +++ b/.abcd/development/intents/drafts/itd-11-pass-b-pitfall-mitigation.md @@ -5,6 +5,7 @@ spec_id: null kind: standalone suggested_kind: null reclassification_history: [] +severity: minor --- # Disembark Survives Noisy Transcripts diff --git a/.abcd/development/intents/drafts/itd-12-work-adapter-weighting.md b/.abcd/development/intents/drafts/itd-12-work-adapter-weighting.md index b46f5520..7857ab50 100644 --- a/.abcd/development/intents/drafts/itd-12-work-adapter-weighting.md +++ b/.abcd/development/intents/drafts/itd-12-work-adapter-weighting.md @@ -5,6 +5,7 @@ spec_id: null kind: standalone suggested_kind: null reclassification_history: [] +severity: minor --- # Working Notes Don't Outrank Settled Decisions diff --git a/.abcd/development/intents/drafts/itd-13-scheduled-dev-sync.md b/.abcd/development/intents/drafts/itd-13-scheduled-dev-sync.md index 99741e1b..50806743 100644 --- a/.abcd/development/intents/drafts/itd-13-scheduled-dev-sync.md +++ b/.abcd/development/intents/drafts/itd-13-scheduled-dev-sync.md @@ -5,6 +5,7 @@ spec_id: null kind: standalone suggested_kind: null reclassification_history: [] +severity: minor --- # Reviews and Memory Stay Fresh, Always diff --git a/.abcd/development/intents/drafts/itd-14-prompt-registry-versioning.md b/.abcd/development/intents/drafts/itd-14-prompt-registry-versioning.md index 3e4ee32b..a373151d 100644 --- a/.abcd/development/intents/drafts/itd-14-prompt-registry-versioning.md +++ b/.abcd/development/intents/drafts/itd-14-prompt-registry-versioning.md @@ -5,6 +5,9 @@ spec_id: null kind: standalone suggested_kind: null reclassification_history: [] +blocked_by: [itd-5] +builds_on: [itd-15] +severity: minor --- # Prompts Are Versioned Like Code diff --git a/.abcd/development/intents/drafts/itd-15-self-dogfooded-sota-audit.md b/.abcd/development/intents/drafts/itd-15-self-dogfooded-sota-audit.md index 738539a5..ba77650c 100644 --- a/.abcd/development/intents/drafts/itd-15-self-dogfooded-sota-audit.md +++ b/.abcd/development/intents/drafts/itd-15-self-dogfooded-sota-audit.md @@ -5,6 +5,8 @@ spec_id: null kind: standalone suggested_kind: null reclassification_history: [] +severity: minor +builds_on: [itd-14] --- # abcd Audits Its Own Prompts on Every Self-Disembark diff --git a/.abcd/development/intents/drafts/itd-16-hash-chain-merkle-audit.md b/.abcd/development/intents/drafts/itd-16-hash-chain-merkle-audit.md index b63fc8f9..69651ecf 100644 --- a/.abcd/development/intents/drafts/itd-16-hash-chain-merkle-audit.md +++ b/.abcd/development/intents/drafts/itd-16-hash-chain-merkle-audit.md @@ -5,6 +5,8 @@ spec_id: null kind: standalone suggested_kind: null reclassification_history: [] +builds_on: [itd-9] +severity: major ---