Development record
a superseded Phase-0 pseudo-ADR sits in research/notes/ claiming ADR-01, outside every record gate
a superseded Phase-0 pseudo-ADR sits in research/notes/ claiming ADR-01, outside every record gate
.abcd/development/research/notes/01-harness-interface.md is shaped like an
accepted decision but filed as evidence, and the mismatch has let a superseded
architecture sit in the record unchallenged. Four defects, one root cause.
- It presents as a decision in the evidence folder. Line 1 is
# ADR-01: Harness Interface Designand it declaresStatus: Accepted (Phase 0 lock). Theresearch/notes/README.md"What does NOT belong here" list opens with decisions, which belong in.abcd/development/decisions/adrs/. - The id collides. The real adr-1 is
decisions/adrs/0001-three-layer-mental-model.md, withid: adr-1frontmatter. Two documents claim ADR-01. - It carries no frontmatter, so it has no
id, nostatus, and nosuperseded_by. record-lint's ADR machinery never sees it as a record, which is the mechanism behind the staleness: an "accepted lock" describingharness.py,pluggy,abc.ABC, andanthropic.types.Messagepassed through adr-21 (rebuild-in-go, 2026-07-06) untouched, because no gate was watching it. - Two inbound references dangle. The brief, at
05-internals/03-configuration.md:403, gives the ADR naming convention asNNNN-<slug>.md (e.g. 0001-harness-interface.md), citing a filename that does not exist;itd-6line 73 cites "ADR-02 (02-mcpbridge-implementation-contract.md)", which exists nowhere in the repo.
Why it matters: the document is not held to currency by adr-5, because it is not the brief. The defect is that it reads as normative while sitting outside every gate that governs normative records, so a reader reasonably takes a superseded Python design for current architecture. That misreading has already happened once in review.
Note on discoverability: the harness-name normalisation (PR #442) rewrote 22 occurrences in this file, so its git mtime now suggests active maintenance. The content is unchanged by that sweep and remains superseded.
Grounds
- pursued: the note no longer presents as a decision; a record-lint run at e076c8e3 with cross_store_id_claim armed reports nothing on it, and a reintroduced ADR-01 title would show it wrong by tripping that rule
Frontmatter
| id | iss-2608221457227162 |
|---|---|
| type | issue |
| lifecycle | resolved |
| severity | major |
.abcd/work/issues/resolved/iss-2608221457227162-a-superseded-phase-0-pseudo-adr-sits-in.md
open on GitHub ↗ · commit history ↗
mentions8
- adr-1Three-layer mental model (brief / intent / spec)
- adr-2Three intent kinds (standalone / bundle-member / discipline)
- adr-5Brief is the current state; no version label, no archive directory
- adr-21Rebuild abcd as a Go binary
- iss-2608230752354926ADR-23: Transport Agnostic Core (probe)
- iss-2608230752354927relative links under .abcd/work/ are checked by no lint root
- iss-2608230847432286a gate that validates a proxy for a claim switches off the vigilance an absent gate would have preserved
- itd-6RepoPrompt over MCP is one opt-in reviewer route, beside the host's own agents