v2.1.0 — the gate rebuilt from the roast's owner decisions
Ten owner decisions from a two-round adversarial roast of the whole collection (Claude Opus 5, GPT-5.6-Sol, Gemini 3.1 Pro; 72 standing findings, stopped before the loop ran dry).
What changes for you
- Receipts move out of the scratchpad.
proof-rN.mdandbreak-rN.mdnow live in the project's durable records home — the gate refuses to dispatch without them, and the session that wrote them has usually already ended. They are never committed on the candidate branch, which would advance the head past the SHA under review. duck-reviewwill not dispatch until the export is authorized. The gate works by sending your repository's contents to model vendors outside your machine. A host that refuses on those grounds has asked the owner's question, so it routes toduck-deciderather than to a retry. If you have not authorized the export for a repository, the gate fails closed and says so.- Reviewer family comes from the harness roster, not a self-report. One binary can serve several families; a harness that prints no roster establishes no family, which is the unknown identity the gate already refuses to count.
duck-runproves before it freezes the candidate SHA.duck-prooffixes what it finds, so the old order left the authorization pointing at code nobody reviewed.duck-campaignowns its continuation by booking the next session per packet, instead of handing off to a driver the collection never shipped.duck-cutrunsduck-scanas its only locator, and a CUT commit now carries the deleted item's text — deletion is the one verdict with no recovery path.duck-proofandduck-drylose the sections that duplicatedduck-runandduck-campaign.- The validator gains two checks: the release version must agree across the three files carrying it, and a skill showing a reviewer dispatch must also state the by-path rule.
Known gaps, stated rather than discovered
Nothing in the distribution says which controls are mechanically enforced and which are discipline. Pin validation and receipt existence are discipline. That disclosure was written and then removed by owner decision; the constraint it satisfied is knowingly unmet.
This release did not pass its own gate. It landed under a written owner waiver of duck-land's APPROVE precondition, merged through the OrganizationAdmin bypass of the master ruleset's last-push-approval rule. Both were recorded before the fact. It is the second consecutive release of gate files on a waiver.
Full log: v2.0.2...v2.1.0