Allow necessary in-repo path expansion - #411
Conversation
|
Important Approval pendingCodeRabbit has no unresolved comments, but it has not reviewed the latest commit. Use the checkbox below to review the latest commit. CodeRabbit will approve the changes if it finds no blocking issues.
WalkthroughThe workflow permits evidence-backed repository path expansion within an approved goal. Typed reservations update preflight maps, collision checks, capacity calculations, and multi-editor coordination. Material scope, trust, security, external-effect, ambiguity, and verification risks still stop execution. ChangesRepository path expansion
Estimated code review effort: 4 (Complex) | ~45 minutes Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches 💡 1📝 Generate docstrings 💡
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Review SummaryThis PR relaxes the worker path-expansion policy (owned paths / envelope are coordination controls, not a permission boundary) and adds a contract test ( Main finding: incomplete mirror set leaves contradictory old-policy text in place
None of these mention the new path-expansion allowance, and "scope or risk growth" / "scope or blast radius grows" read as blanket stop triggers — directly contradicting the new rule that a necessary added path is not scope growth. Since Given the existing precedent of Secondary/minor notes (see inline comments)
Other notes (not blocking)
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 7b54036249
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
7b54036 to
b786513
Compare
ReviewThe core contract change (default-allow necessary in-repo path expansion, with an explicit stop list) is textually identical across all five full-contract surfaces ( One remaining inconsistency, not addressed by this PR: Design/security note (not a blocker, but worth surfacing given the review focus): this policy lets a worker self-determine "repository evidence" as sufficient grounds to expand its own file-editing authority without user approval. The stop list (destructive/irreversible actions, secrets/permissions/deployment/billing effects, security/privacy/compliance changes, trust-boundary crossings) covers the obvious high-risk categories well, but there's no explicit guidance to treat repository content itself (comments, issue text, embedded instructions) as untrusted input when it's the "evidence" driving the expansion decision — a plausible prompt-injection vector in a batch/triage context where the target repo's content isn't fully trusted. Given the enumerated stops are fairly comprehensive, this is more a suggestion for a future hardening pass than a defect in this PR. Everything else — |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: b78651313a
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
Addressed the Claude review summary on final head e0136ff. The canonical allowance now has five exact full surfaces and three compact mirrors, including triage and public documentation; the focused contract passes 3/43. The worker restatement and exact UNKNOWN wording are fixed as noted in their threads. The suggested model-routing and CONTEXT edits were reviewed and declined: those files describe genuine semantic scope/risk growth at a higher level and do not treat a file enumeration as a permission boundary, so they remain compatible with the canonical rule. The optional self-assertion concern is also closed by production-bound full/compact/worker assertions. Independent full bin/validate passed. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: e0136ff9cb
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Review summaryThis PR loosens the "owned paths" contract so a worker can add evidence-backed, in-repository paths to its edit scope without user approval, replacing a previous hard stop for any out-of-envelope edit. The same paragraph is mirrored verbatim across Two substantive points left inline:
Minor: the contract paragraph is now duplicated six times (5 doc surfaces + 1 Ruby string constant in the test). That's self-enforcing via the exact-match test, so not blocking, but it does mean every future wording change must touch six places in lockstep. No issues found with |
|
Current-head dispositions for the later review summaries: the substantive pause-signaling and requested-path reservation concerns are fixed on ff99b3a with blocked lifecycle/heartbeat/Lane Card signaling and typed reservation union in preflight. The model-routing and CONTEXT recommendation remains declined because those summaries describe genuine material semantic scope/risk growth and defer to the canonical workflow; the security note is already covered by the repository explicit untrusted-content posture and unconditional trust/security stops. The trust-signoff request is already satisfied by trusted maintainer-authored issue #408 and this explicit batch authorization. Exact contract duplication is intentional and regression-tested. Independent type review, security preflight, focused tests, and full bin/validate are clean. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: ff99b3a431
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
ReviewI independently re-verified the current head (checked-out merge of Verified correct:
|
|
Current-head disposition for the Claude review summary at #411 (comment):
Independent exact-head QA passed file-expansion 4/54, preflight 60/501, goal mirrors 99/1277, prompt headroom >=300, and full bin/validate. |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@skills/plan-pr-batch/bin/batch-plan-preflight`:
- Around line 321-342: Update validate_expansion_path_reservations to build
lanes_by_id using a non-raising lane ID lookup, preserving the structured
lane-id-invalid-or-duplicate rejection when a lane omits id. In
skills/plan-pr-batch/bin/batch-plan-preflight-test.rb lines 545-567, add a
regression case combining a planned lane without id and
expansion_path_reservations, asserting rejection without invalid-envelope.
🪄 Autofix
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro Plus
Run ID: 87b4053a-74d5-4eb1-93f2-920643959d76
📒 Files selected for processing (12)
CHANGELOG.mdCONTEXT.mdbin/validatedocs/agent-workflows-model-routing.mddocs/pr-batch-skills.mdskills/plan-pr-batch/SKILL.mdskills/plan-pr-batch/bin/batch-plan-preflightskills/plan-pr-batch/bin/batch-plan-preflight-test.rbskills/pr-batch/SKILL.mdskills/pr-batch/bin/file-expansion-contract-test.rbskills/triage/SKILL.mdworkflows/pr-processing.md
Review summaryReviewed the diff (12 files, +721/-40): the Main points:
What looked solid: The collision/reservation logic in |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: a196e3c4de
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: bad1733caa
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Review: Allow necessary in-repo path expansionOverviewThis PR replaces the "workers may only touch owned/pre-declared paths" rule with a coordinated-expansion model: a worker may touch an evidence-backed, necessary-but-undeclared in-repo path without stopping for user approval, provided it's tracked through a new typed Code quality (
|
There was a problem hiding this comment.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
skills/plan-pr-batch/bin/batch-plan-preflight (1)
352-354: 🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick winDo not clear a reservation from planned path evidence.
The stale check treats any matching
pathsentry as reflected.validate_file_touch_mapsacceptsplanned-path-evidencewithoutsource == "verified", but the workflow requires the reservation until the verified file-touch map reflects the path. A planned evidence record can therefore remove the reservation before verification. Require a verified lane map for this check.Proposed fix
- reflected_paths = maps.is_a?(Hash) && maps[lane_id].is_a?(Hash) ? maps[lane_id]["paths"] : nil + lane_map = maps.is_a?(Hash) ? maps[lane_id] : nil + reflected_paths = + lane_map.is_a?(Hash) && lane_map["source"] == "verified" ? lane_map["paths"] : nil🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@skills/plan-pr-batch/bin/batch-plan-preflight` around lines 352 - 354, Update the stale reservation check in the preflight flow around lane_id and reflected_paths so a matching path only counts when maps[lane_id] is a verified lane map with source equal to "verified". Do not treat planned-path-evidence entries as reflected; preserve the completed_lane_ids check and existing path-matching behavior for verified maps.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Outside diff comments:
In `@skills/plan-pr-batch/bin/batch-plan-preflight`:
- Around line 352-354: Update the stale reservation check in the preflight flow
around lane_id and reflected_paths so a matching path only counts when
maps[lane_id] is a verified lane map with source equal to "verified". Do not
treat planned-path-evidence entries as reflected; preserve the
completed_lane_ids check and existing path-matching behavior for verified maps.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro Plus
Run ID: 368a138a-a829-4d78-9225-fbc7001e4a91
📒 Files selected for processing (9)
CHANGELOG.mddocs/pr-batch-skills.mdskills/plan-pr-batch/SKILL.mdskills/plan-pr-batch/bin/batch-plan-preflightskills/plan-pr-batch/bin/batch-plan-preflight-test.rbskills/pr-batch/SKILL.mdskills/pr-batch/bin/file-expansion-contract-test.rbskills/triage/SKILL.mdworkflows/pr-processing.md
🚧 Files skipped from review as they are similar to previous changes (5)
- CHANGELOG.md
- docs/pr-batch-skills.md
- skills/plan-pr-batch/bin/batch-plan-preflight-test.rb
- skills/triage/SKILL.md
- workflows/pr-processing.md
|
Current-head address-review closeout for Mattered and fixed:
Optional and fixed:
Discussed and dispositioned without code change:
Resolved threads:
Skipped as no-action artifacts:
Evidence: preflight 70/644; expansion contract 4/66; goal completion 103/1346; prompt headroom 303/302/302; relevant RuboCop clean; local Future address-review scans should begin after this summary. |
Review SummaryThis PR reworks the "worker owned-paths" contract across Code quality / correctness (
|
|
Fixed on exact current head |
eec86f0 to
76cca90
Compare
|
Review Summary This PR reworks the pr-batch/plan-pr-batch policy so workers may expand into repository paths that weren't in the original owned-paths list, as long as the expansion is evidence-backed and coordinated via a new typed Code quality / correctness (batch-plan-preflight) Traced the new reservation logic (
Did not find a correctness bug in this script; it's well covered by the new tests. Possible scope creep (worth a maintainer look) The GMCC-v4 compact completion contract is changed in 5 files (workflows/pr-processing.md x2 occurrences, skills/pr-batch/SKILL.md, skills/triage/SKILL.md, skills/plan-pr-batch/scripts/check_goal_prompt_size.rb, skills/pr-batch/bin/goal-completion-contract-test.rb) from This adds a Maintainability note (already acknowledged in prior review threads) The full contract paragraph (~35 lines) is duplicated verbatim across 5 markdown surfaces, and a compact one-liner across 3 more. This is guarded by the new file-expansion-contract-test.rb, which will catch drift, so it's not a correctness risk today — just flagging that this doc-as-prompt duplication pattern will keep growing maintenance cost with every future policy tweak. Security No issues found. Path/URI validation is appropriately strict; no shell/eval/network calls were introduced in the Ruby script. Overall: solid, well-tested implementation of the stated feature. The one thing worth calling out explicitly is the undocumented failed-state addition to the GMCC-v4 contract. |
Address-review summaryExact head:
All 25 review threads are resolved. No current-head review item remains untriaged, pending author action, or release-blocking. |
|
head_sha: 76cca90
|
|
Completed-batch audit: replay evidence follows. |
…pt-locale * origin/main: Reconcile advisory model routing after #348 (#409) Allow necessary in-repo path expansion (#411) Explain no-auto-merge verdicts in plain English (#431) Fix superseded Actions checks overriding current CI (#436) Activate reviewed private coordination backend (#434) Add replay-safe batch usage receipts (#424) Document Playwright video proof for UX changes (#429) Add secure GitHub Actions policy gate (#384)
…ation-gate * origin/main: Reconcile advisory model routing after #348 (#409) Allow necessary in-repo path expansion (#411) Explain no-auto-merge verdicts in plain English (#431) Fix superseded Actions checks overriding current CI (#436) Activate reviewed private coordination backend (#434) Add replay-safe batch usage receipts (#424) Document Playwright video proof for UX changes (#429) Add secure GitHub Actions policy gate (#384)
…e-verdict * origin/main: Reconcile advisory model routing after #348 (#409) Allow necessary in-repo path expansion (#411) Explain no-auto-merge verdicts in plain English (#431) Fix superseded Actions checks overriding current CI (#436) Activate reviewed private coordination backend (#434) Add replay-safe batch usage receipts (#424) Document Playwright video proof for UX changes (#429) Add secure GitHub Actions policy gate (#384) # Conflicts: # skills/pr-batch/bin/autonomous-merge-eligibility-test.rb
…ural-review-axis * origin/main: (24 commits) Define user-facing coordination ownership and heartbeat contracts (#387) Test push-downstream audit entry aggregation (#421) Reconcile advisory model routing after #348 (#409) Allow necessary in-repo path expansion (#411) Explain no-auto-merge verdicts in plain English (#431) Fix superseded Actions checks overriding current CI (#436) Activate reviewed private coordination backend (#434) Add replay-safe batch usage receipts (#424) Document Playwright video proof for UX changes (#429) Add secure GitHub Actions policy gate (#384) Suppress unchanged Goal monitor wakes (#395) Document single-target plan-pr-batch routing (#405) Require exact-head hosted QA before merge (#291) Change merge mode from queue to direct (#415) Harden coordination parsing after PR #339 audit (#410) Change merge submission mode to merge_queue_only (#412) Scope archive-readiness, add retry heartbeat and launch modes, ship the batch-status skill (#362) Default merge submission to direct (#407) Fix <PROJECT> digit ambiguity, anchor section extraction, ship coordination gate (#339) Enforce requested-versus-observed model route provenance (#348) ...
…ht-helper * origin/main: (22 commits) Reconcile advisory model routing after #348 (#409) Allow necessary in-repo path expansion (#411) Explain no-auto-merge verdicts in plain English (#431) Fix superseded Actions checks overriding current CI (#436) Activate reviewed private coordination backend (#434) Add replay-safe batch usage receipts (#424) Document Playwright video proof for UX changes (#429) Add secure GitHub Actions policy gate (#384) Suppress unchanged Goal monitor wakes (#395) Document single-target plan-pr-batch routing (#405) Require exact-head hosted QA before merge (#291) Change merge mode from queue to direct (#415) Harden coordination parsing after PR #339 audit (#410) Change merge submission mode to merge_queue_only (#412) Scope archive-readiness, add retry heartbeat and launch modes, ship the batch-status skill (#362) Default merge submission to direct (#407) Fix <PROJECT> digit ambiguity, anchor section extraction, ship coordination gate (#339) Enforce requested-versus-observed model route provenance (#348) Fix locale-dependent test, surface policy-only CLAUDE.md follow-ups, add read-only seam-drift audit (#337) Add PR #377 changelog entry (#382) ...
…eet-automation * origin/main: Test push-downstream audit entry aggregation (#421) Reconcile advisory model routing after #348 (#409) Allow necessary in-repo path expansion (#411) Explain no-auto-merge verdicts in plain English (#431) Fix superseded Actions checks overriding current CI (#436) Activate reviewed private coordination backend (#434) Add replay-safe batch usage receipts (#424) Document Playwright video proof for UX changes (#429) # Conflicts: # CHANGELOG.md
…ok-gates * origin/main: (23 commits) Test push-downstream audit entry aggregation (#421) Reconcile advisory model routing after #348 (#409) Allow necessary in-repo path expansion (#411) Explain no-auto-merge verdicts in plain English (#431) Fix superseded Actions checks overriding current CI (#436) Activate reviewed private coordination backend (#434) Add replay-safe batch usage receipts (#424) Document Playwright video proof for UX changes (#429) Add secure GitHub Actions policy gate (#384) Suppress unchanged Goal monitor wakes (#395) Document single-target plan-pr-batch routing (#405) Require exact-head hosted QA before merge (#291) Change merge mode from queue to direct (#415) Harden coordination parsing after PR #339 audit (#410) Change merge submission mode to merge_queue_only (#412) Scope archive-readiness, add retry heartbeat and launch modes, ship the batch-status skill (#362) Default merge submission to direct (#407) Fix <PROJECT> digit ambiguity, anchor section extraction, ship coordination gate (#339) Enforce requested-versus-observed model route provenance (#348) Fix locale-dependent test, surface policy-only CLAUDE.md follow-ups, add read-only seam-drift audit (#337) ... # Conflicts: # CHANGELOG.md
Why
Workers treated an incomplete precomputed file list like a permission boundary,
which could strand otherwise authorized and validated work. This change lets a
lane add evidence-backed paths inside the target repository when they are
necessary for the approved goal or required validation, while preserving every
material stop and preventing parallel editors from racing onto the same newly
discovered path.
What changed
authorization boundaries.
reflected in the verified map or cancelled. A sole editor continues without
user approval only after the coordinator records the reservation and refreshed
preflight accepts it.
signal the coordinator, which records the reservation and reruns preflight
before resuming work.
a fresh accepted preflight, absence from held lanes, and eligibility when a
launch or relaunch is required; acceptance alone never authorizes resume.
expansion_path_reservationsv1 records to batch preflight.Collision and risky-capacity decisions now use verified PR paths plus active
reservations; overlap requires explicit max-concurrency-one serialization.
destructive actions, trust/repository boundaries, external effects,
consequential ambiguity or judgment, policy/security changes, collisions,
and weakened verification.
in-repository path discovery is not confused with material semantic scope
growth.
treating failed current-head CI/configured reviewers as NOT COMPLETE. This is
a fail-closed mirror correction, not a new completion policy.
the compact contract across three worker prompts, and register deterministic
regression coverage plus an Unreleased changelog entry.
Fixes #408
How to review and verify
workflows/pr-processing.mdand its exactfull mirrors in plan-pr-batch, pr-batch, triage, and
docs/pr-batch-skills.md.batch-plan-preflight's optional reservation parser and effective map:exact bindings, canonical path, durable evidence, stale-record rejection,
collision/capacity union, and max-one serialization.
file-expansion-contract-test.rbandbatch-plan-preflight-test.rb, then confirmbin/validateregisters thefocused contract and
CHANGELOG.mdrecords the behavior.Agent details
Commands and results
produced focused failures before each correction.
universal-reservation, worker-restatement, compact, and summary semantics.
ruby skills/pr-batch/bin/file-expansion-contract-test.rb— 4 runs, 66assertions, 0 failures.
ruby skills/plan-pr-batch/bin/batch-plan-preflight-test.rb— 72 runs, 652assertions, 0 failures.
ruby skills/pr-batch/bin/goal-completion-contract-test.rb— 103 runs, 1,346assertions, 0 failures.
result.
git diff --check origin/main...HEAD— passed.bin/validate— exit 0;PASS agent-workflows validation;RuboCop 138 files/no offenses.
batch-plan-preflight 72/652, goal-completion 103/1,346, prompt headroom
303/302/302, diff check, Ruby syntax, and direct RuboCop all passed.
qa-evidence v2replay —SATISFIEDwith no release-blocking codefinding.
codex reviewattempt was invalid, terminated, andexcluded. Independent QA covered correctness, type design, security,
compatibility, release process, test quality, and documentation consistency.
Exact-head and replay evidence
3a42c2fe06c956514faf993eb081f5efa6e4440f76cca902fa4f8ecd7da0c7882d502603072aef85693591f51d70ec4e2d31efd84e191ba129453376292365080f5c7b54799eba67QA Evidence
/root/qa_408_76cca; independent read-only checker; lifecyclecomplete at detached exact head
76cca902.reservation lifecycle/collision semantics; five full and three compact
mirrors; worker restatement; current-base Explain no-auto-merge verdicts in plain English #431 overlap; security,
compatibility, documentation, changelog, and release-process lenses.
mirror correction is disclosed in What changed and the Decision log; its
current-head review thread is dispositioned before merge.
Reservation type design
one canonical path, a known single-line reason, and a durable URI reference.
independent status boolean or new dependency type.
UNKNOWN, noncanonical, duplicate, identity-mismatched,completed-lane, and already-reflected reservations reject.
reservations. A reserved-path overlap cannot be waived by a typed edit edge;
it requires an explicit shared max-concurrency-one serialization group.
Coordination and reviewer telemetry
coordination_backendton/a; this batch ran serially with durable coordinator-owned state./root/issue_408_rebase_67714(Sol/highpreferred; observedcodex/UNKNOWN/UNKNOWN)./root/qa_408_76cca(Sol/xhighpreferred; observedcodex/UNKNOWN/UNKNOWN).issue-408 -> qa-408is satisfied at the tested head;both lane states are complete.
under the repository rate-limit waiver; the current-head disclosure thread is
dispositioned before merge.
Review dispositions
exact UNKNOWN wording, parallel collision handling, unconditional stops,
typed requested-path reservations, sole-editor reservation visibility,
blocked/Lane Card signaling, standalone summary qualifiers, max-one eligible
resume, and granular malformed-lane diagnostics.
maintainer-authored issue Default to allowing necessary file expansion within an approved worker goal #408 and this explicit batch authorization. This
does not waive trust, security, or external-effect stops.
CONTEXT.mdnow distinguish material semantic scope growthfrom evidence-backed necessary in-repository path discovery and link the
canonical workflow.
untrusted-content posture. The remaining summary is duplicate synthesis; exact
mirror duplication is intentional and contract-tested.
Decision log
required in-repository acceptance/release surfaces, not new product scope.
rebasing. A transient trusted-base merge-mode regression reproduced on main
and was repaired upstream by Change merge mode from queue to direct #415 before the final stable base.
design makes requested paths typed collision inputs and signals coordinator
wait state without inventing a second lifecycle or dependency model.
failedacross the workflow, pr-batch,triage, prompt-headroom fixture, and goal-completion contract test. This is an
adjacent fail-closed mirror correction: the pre-existing canonical expanded
contract already required current-head failures to remain NOT COMPLETE, so no
new completion policy or broader merge authority is introduced.
Merge confidence
and schema tests plus independent exact-head full validation and type review.
agents are green, the post-cutoff review scan is empty, and no thread is
unresolved.
human-approved-for-current-headat76cca902fa4f8ecd7da0c7882d502603072aef85; triggered gates arearchitectural-product-judgment,autonomous-merge-policy-change,changed-lines-limit,commit-count-limit, andpublic-compatibility.Rollback is code-only and established. The exact sorted gate set is approved
by
justin808in the durable current-head decision atAllow necessary in-repo path expansion #411 (comment).
exact head, base, ordinary gates, and durable decision stay unchanged.
there is no data migration, deployment, permission grant, or external side
effect.
Audit receipts
Completed-batch audit
Status: Clean — no outstanding findings or follow-ups. Durable receipt.