Skip to content

`# Countersign` is a recognized synonym for `## Sign-off`

Date: 2026-09-05 Status: closed Supersedes: none Superseded-by: none — current

MR-7’s status-vocabulary reconciliation (mary-wiki fleet directive, T7) surfaced that cli/src/verbs/validate.ts:45,55 locates the sign-off block by matching ^##\s+Sign-off\s*$ only. Three decision docs in this corpus record their human countersign under a top-level # Countersign heading instead:

  • docs/decisions/2026-08-17-what-counts-as-a-credential-store.md (status: open)
  • docs/decisions/2026-08-17-a-shipped-credential-is-disclosed-not-stored.md (status: countersigned 2026-08-18 — alex@devarno.com)
  • docs/decisions/2026-08-17-n8n-27-exit-condition.md (status: countersigned 2026-08-18 — alex@devarno.com)

All three carry a real, dated, attributed countersign — the fact the checker exists to verify — at a heading level the checker cannot see. This is the fifth instance of the corpus’s fail-open-on-unparseable-status default masking a checker blindness (F-097, F-110, F-156, F-… — the prior four): while status stays an unrecognized freeform string, it reads as open, open skips the Sign-off check entirely, and the heading-level mismatch never fires. Checked live 2026-09-04: no doc with a recognized closed/superseded status has its countersign under # Countersign alone — the blindness is real but currently dormant, not a live vacuous pass.

This blocks mary-wiki’s T7 batch 1 (mapping the two countersigned <date> docs above to status: closed), since doing so today would make MR-7 report “lacks Sign-off block” against a doc that in fact has one, one level up.

Treat # Countersign (H1) as an accepted synonym for ## Sign-off (H2) in every function that locates the sign-off section: pendingCountersign, the sign-off-section extractor, and the countersignDefects scan in cli/src/verbs/validate.ts. Match ^#{1,2}\s+(Sign-off|Countersign)\s*$ (case-sensitive on the two known spellings) instead of the current H2-only, “Sign-off”-only pattern. No change to decision-doc.ts’s generator, which keeps emitting ## Sign-off for every new document — this recognizes an existing convention, it does not adopt a second one going forward.

  • Rewrite the three docs to ## Sign-off — edits the body of decisions already ratified/countersigned under MR-7’s append-only rule; changing a merged record’s structure to satisfy a parser is backwards.
  • Leave both headings unparseable, mark permanently unparseable-status — discards real countersign facts the corpus already holds instead of reading them; also blocks T7 batch 1 indefinitely for no substantive reason.
  • Full heading-format normalization pass across all decision docs — unscoped; no other heading-level divergence is known to exist, and inventing one to fix would be solving a problem not observed.

For code:

  • cli/src/verbs/validate.ts: broaden the three regexes (pendingCountersign, section-extractor, and their shared match) to accept # or ## before Sign-off or Countersign.
  • cli/cli/tests/validate.test.ts: add a case using an H1 # Countersign block to prevent regression.

For docs:

  • None. The three existing docs are unedited.

For in-flight phases:

  • Unblocks mary-wiki fleet-directive T7 batch 1 (2 docs, status: mapped from countersigned <date> to closed), which was reverted 2026-09-04 pending this ruling.

For invariants:

  • None added or repealed. MR-7’s Sign-off requirement is unchanged; this only widens what satisfies it structurally.
  • cli/src/verbs/validate.ts:40-167
  • docs/decisions/2026-08-17-a-shipped-credential-is-disclosed-not-stored.md
  • docs/decisions/2026-08-17-n8n-27-exit-condition.md
  • docs/decisions/2026-08-17-what-counts-as-a-credential-store.md
  • mary-wiki/docs/runbooks/2026-09-04-fleet-directive-phase-2-verification-and-governance.md
  • Subagent: fleet (mary-wiki session 2026-09-05)
  • (proxy) Human countersign — approves # Countersign as a recognized Sign-off-block synonym

Countersigned by human:alex@devarno.com on 2026-09-05, by explicit directive in session (“ill approve”). Ticked by the agent as scribe, not as signatory.