The edge set has no way to say "narrows without replacing", so authors reach for supersedes
**Found by `dira why`, in dira's own ledger.** Three entries carried a `supersedes` edge whose target was still `accepted` or `answered`, while `docs/design.md` §4.1 says the edge "replaces an earlier entry, flipping it to `superseded`". The record was telling two stories at once.
The states were right and the **edges** were wrong. In all three cases the author — me — meant *narrows*, *amends* or *answers*:
- `dec-0012` → `dec-0005`: narrows how surfaces are served. `dec-0005`'s storage interface is live and being implemented right now; calling it superseded would be false. - `dec-0016` → `dec-0012`: narrows the no-webfont reading. The server-rendered architecture stands. - `dec-0011` → `qst-0001`: answers it. A question can never be superseded — the schema gives questions only `open` and `answered`.
All three are now `informs`, which is true but weak: `informs` is the catch-all with no lifecycle effect, so a reader cannot tell "this narrowed that" from "this is vaguely related".
The question
Does the edge set gain an `amends` (or `narrows`) type, or do authors stay disciplined with `informs` plus a note?
**For adding one:** the relationship is real, common, and load-bearing — three of thirty-one entries needed it within a month. `dira why` cannot draw a chain correctly without it, and `dira check` arguably needs it: a decision that *narrows* a constraint should be enforced differently from one that *replaces* it.
**Against:** every added type is permanent, must be understood at every tier (`dec-0006`), and must be rendered on every surface. `cst-0002` closed the entry kinds for exactly this reason and the same discipline should apply to edges. There is also a real chance `informs` plus a required note is sufficient and the failure was authoring, not vocabulary.
**Not blocking.** The ledger is now internally consistent either way. It becomes urgent when `dira check` needs to reason about constraint amendment, which is E3.
The wider point
Nothing detected this until a *reader* was built. The schema validated all three entries, the coverage gate passed, and the contradiction sat in the record for weeks — because every check tested whether entries were well-formed, and none tested whether they were **consistent with each other**. That is a different class of check and it does not exist yet.
Alternatives on record — 0
no alternatives recorded — nothing has been weighed against this question yet