RGR guard cannot recover from dirty-tree reviewer veto with missing active ledger #233
Labels
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Slipstream/auto_review#233
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
While working on the rootless OCI
just servefix branch, the RGR guard/tool ledger reached an inconsistent state that blocked the normal recovery path after an implementation-review veto.Observed sequence:
rtk cargo test -p ar-gateway staged_oci_bundle_materializes_config_and_runtime_command_points_at_stage --libnix build --no-link .#checks.x86_64-linux.ar-gateway-embedded-oci-config-contractsecurity-reviewerapproved the diff.rgr-implementation-reviewervetoed a real follow-up issue: directory permissions were applied before copying children, so restrictive packaged directories could make staging fail.Tooling state mismatch:
rgr_statusreported:No active RGR cycle recorded for this session.rgr_startrefused to start the next cycle because the worktree was dirty:start a new cycle only from a clean worktree.rgr-test-authorrefused because no active RGR cycle existed.apply_patchrefused Rust test edits undercrates/*/srcbecause RED approval was not recorded.rgr_record_redrefused because no RGR cycle was active.rgr_approve_redrefused because no observed RED was recorded.Impact:
The guardrails prevented both valid recovery paths:
Committing the vetoed dirty state would violate the project RGR discipline, but the RGR tools also blocked writing the corrective RED test.
Expected behavior:
The RGR state machine should support a reviewer-veto recovery path from a dirty, uncommitted GREEN candidate. Possible fixes:
dirty tree + no active ledger + reviewer veto, requiring the orchestrator to record the veto and next RED scope; orSecurity note: this is a process/tooling gap, not a secret leak. No secrets were read or committed.