docs(autonomy,source-control): codify Boris-intent audit — attribution seams, merge-tier precision precondition, ADR 0002 ruling - #784
Conversation
A two-auditor pass of everything built against the captured Boris playbook found zero violations and three unmarked-extension attribution seams, plus one gate asymmetry. Codified: the guardrail matrix hub, blocking knob, and promotion-predicate apparatus now name themselves as this contract's instantiation of the playbook's qualitative bar rather than his prescription; the autopilot merge tier gains a bot-review precision precondition so merge automation inherits the same earned-promotion discipline ADR 0002 demands for the lesser advisory-to-blocking flip; ADR 0002 records the enforcement ruling (execution evidence promoted to a required status check, verdict gating unchanged) and drops its interim status. Autonomy 0.7.4, source-control 0.15.5. Closes #509 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The ruling's addendum read as if implemented while the caller still uses workflow-level paths filtering; marking the check required before the caller restructure lands would wedge every prose PR. State the sequence explicitly: caller restructure, then workflow shape, then the ruleset requirement. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
Claude finished @kyle-sexton's task in 1m 2s —— View job Security Review — PR #784
No security issues found. All 9 changed files are documentation prose, version string bumps ( Specific surfaces checked:
The ADR's implementation-ordering guard (caller restructure → workflow shape → ruleset required-check) is correctly sequenced and avoids the wedge condition it documents. |
|
Claude finished @kyle-sexton's task in 2m 0s —— View job PR Review — docs(autonomy,source-control): Boris-intent codification v2
SummaryThis PR records three related, discrete outcomes as documentation: the #509 enforcement design ruling (ADR 0002 addendum), three Boris-intent attribution seams across the autonomy guardrail contract, and a second enabling precondition for the source-control autopilot merge tier. All changes are prose/contract only — no behavioral shifts in any plugin. ADR 0002 Addendum
The addendum is technically precise and well-structured. A few observations: Implementation ordering (lines 54–59): The load-bearing ordering guard — caller restructure → ci-workflows shape → ruleset — is the most operationally critical piece in this PR. The ADR correctly states "must NOT mark this check required until the caller restructure has landed" and describes each step as independently verifiable before the next. The guard is clear and actionable. Execution evidence vs verdict gating (lines 60–63): The distinction between "required check proves the pass ran" vs "findings blocking" is sharp and necessary. Worth having this explicit, since the two are easy to conflate. Evidence model (lines 65–71): The Triage-flippability rationale for why labels are glance-only is correct — any actor with Triage access can add/remove a label, which is a lower bar than App-only check creation. The reasoning holds. Merge-queue revisit trigger (lines 86–88): This is a real operational hazard — a Attribution paragraph (lines 72–76): The explicit "not the source playbook" attribution is exactly what the Boris-intent audit asked for. The three cited standards (OpenSSF Scorecard, GitHub protected-branch docs, NIST SP 800-218A) are accurate and applicable. One style note: The No issues in this file. Autonomy Plugin (0.7.3 → 0.7.4)
The attribution sentence is correctly positioned — it follows the verbatim Boris step-4 quote and explicitly partitions ownership: "the playbook names the obligation, this contract supplies the mechanism." Clear.
Placement is slightly interesting — the paragraph is inserted after the
Framing the numeric-predicate promotion apparatus as this contract's quantification of the qualitative "earned widespread trust" bar is accurate. The contract's own telemetry-backed predicate is meaningfully more precise than the playbook's bar, and the attribution paragraph makes that explicit without overclaiming. CHANGELOG
Source-Control Plugin (0.15.5 → 0.15.6)
The new precondition is correctly partitioned from the existing review-workflow requiredness one. The closing sentence draws the distinction cleanly: "The requiredness precondition above governs whether the review workflow ran; this one governs whether its verdicts have earned the authority to stand in for a human approval." That's the right framing — two separate failure modes, each its own precondition. The cross-reference to ADR 0002 is appropriate (no file path needed — "ADR 0002" is how other entries in this file cross-reference external docs). The "operator discretion alone is insufficient" wording is deliberate and important — it closes the loophole where an operator could argue that subjective confidence substitutes for a recorded precision window. CHANGELOG
Version Consistency
VerdictApproved. The changes are internally consistent, factually accurate, and well-scoped to documentation only. The implementation ordering guard in ADR 0002 (the most operationally sensitive piece) is precise and actionable. No issues found. |
Closes #509 — supersedes #782 (identical content, rebased: a source-control 0.15.5 landed mid-flight, so the precision-precondition entry stacks as 0.15.6).
The enforcement/evidencing design ruling is recorded in ADR 0002's dated addendum (execution evidence → required status check via always-run workflow + job-level conditional; verdict gating unchanged; check run canonical evidence, label glance-only; implementation-ordering guard: caller restructure → ci-workflows shape → github-iac ruleset; merge_group revisit trigger). Plus the Boris-intent audit's attribution seams (guardrail matrix, blocking knob, promotion predicates) and the autopilot merge tier's bot-review precision enabling precondition (tier remains DISABLED). Autonomy 0.7.4, source-control 0.15.6.
All review threads from #782 were addressed there (ordering guard added, thread resolved); markdownlint 0 errors; versions match CHANGELOG heads.
Related
🤖 Generated with Claude Code