Skip to content

Document the new gates; make claim_gate's modes actually differ - #750

Merged
yogthos merged 1 commit into
mainfrom
document-gates
Aug 4, 2026
Merged

Document the new gates; make claim_gate's modes actually differ#750
yogthos merged 1 commit into
mainfrom
document-gates

Conversation

@yogthos

@yogthos yogthos commented Aug 4, 2026

Copy link
Copy Markdown
Collaborator

The three mechanisms that shipped in 0.21.6 — publish_guard, claim_gate, and the agent-authored-validator check — had no documentation. This adds it, and fixes something the writing surfaced.

Docs

  • config.md: the two new keys, with what each mode does.
  • verification-discipline.md: a section each. The publish-state guard's entry explains why there is no override token (the source harness shipped an overrideable version first and measured it leaking), and why it blocks discarding but never modifying (a deliberate departure — the source's setting was one-shot submission, dirge sessions keep working after green).
  • features.md: listed alongside the other loop guards, plus the memory expectations.
  • mcp-server.md: the delegate response's evidence object, and that files_changed is now scoped to the delegation.

Two sections had gone stale and now say so: the masked-command guard treats a newline as the separator it is, and the A/B harness records gate co-occurrence. The newline entry states what the rule costs rather than only what it catches.

The fix

claim_gate advertised off | advisory | blocking while the wiring only checked != Off — the last two were byte-identical, so the config surface promised a distinction that did not exist. Advisory is one-shot; blocking re-enters up to three times, mirroring MAX_REVIEW_REACT. A test fails if they collapse again.

Found by trying to write the docs, which is the usual way.

publish_guard, claim_gate and the agent-authored-validator check shipped in
0.21.6 with no docs. config.md gains the two keys, verification-discipline.md
gains a section each, and features.md lists them with the rest of the loop
guards.

Two documented behaviours had also gone stale: the masked-command guard now
treats a newline as the separator it is, and the A/B harness records gate
co-occurrence and has a self-test. Both sections say so, including what the
newline rule costs — an honest multi-line verification whose last line isn't the
check gets declined, same as the ';' rule already did.

Also: claim_gate advertised off/advisory/blocking while the wiring only checked
!= Off, so the last two were byte-identical and the config surface promised a
distinction that didn't exist. Advisory is one-shot; blocking re-enters up to
three times, mirroring MAX_REVIEW_REACT. A test now fails if they collapse
again.

mcp-server.md documents the delegate response's evidence object and that
files_changed is scoped to the delegation.
@yogthos
yogthos merged commit 16804cb into main Aug 4, 2026
14 checks passed
@yogthos
yogthos deleted the document-gates branch August 4, 2026 15:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant