Skip to content

admin-bypass-sweep (1b) Step 5a calls the rebase probe - #493

Open
EdbertChan wants to merge 4 commits into
mainfrom
plan/admin-bypass-sweep-1b-step-5a-calls-the-rebase-probe
Open

admin-bypass-sweep (1b) Step 5a calls the rebase probe#493
EdbertChan wants to merge 4 commits into
mainfrom
plan/admin-bypass-sweep-1b-step-5a-calls-the-rebase-probe

Conversation

@EdbertChan

@EdbertChan EdbertChan commented Sep 12, 2026

Copy link
Copy Markdown
Owner

Summary

Step 5a now calls the shipped rebase probe when checking a conflicting pull request.

The passage explains the probe's OK, FAIL, and UNCHECKED outcomes while preserving the existing blocked-pull-request policy.

Review Claim

Step 5a names scripts/probe_branch_rebase.sh and explains all three outcomes without changing Step 5's blocked-pull-request policy.

Review Lane

behavior

Review Unit

product-skill

Safety Invariant

The blocked-pull-request policy in Step 5 is unchanged; only the passage describing how to test is rewritten.

Slice Rationale

This slice changes one passage and its focused contract test, stacked on the step that ships the executable it names.

Non-goals

  • Does not change Step 5's policy for a blocked pull request.
  • Does not touch the merge passage.
  • Does not edit any other written procedure.

Test Plan

Test Plan
  • python3 -m unittest discover -s product/skills/admin-bypass-sweep/tests -vRan 3 tests and OK.
  • bash scripts/scrub-handoff-artifacts.shscrub-handoff-artifacts-ok.

Revert Plan

Revert Plan
  • Safe to revert? Yes.
  • Revert command: git revert <sha>.
  • Post-revert steps: None.
  • Data migration? No.

Note

Low Risk
Documentation and skill contract tests only; Step 5 blocked-PR policy is unchanged and no runtime merge logic is modified.

Overview
Step 5a in admin-bypass-sweep no longer walks through disposable worktrees, manual rebases, and force-pushes to distinguish stale GitHub CONFLICTING from real conflicts. It now tells operators to run scripts/probe_branch_rebase.sh after git fetch origin master and act on three documented outcomes: OK (treat as stale mergeability—wait and re-check mergeable, then continue Step 4), FAIL (same blocked-PR policy as Step 5), and UNCHECKED (do not assume either case; flag for manual retry or setup repair).

Contract tests lock that passage: it must name the probe script and all three outcomes, and must not mention rm -rf (replacing earlier improvised cleanup wording).

Reviewed by Cursor Bugbot for commit a6fa29f. Bugbot is set up for automated code reviews on this repo. Configure here.

Invoker Bot and others added 4 commits September 12, 2026 18:08
…the Step 5a passage to call the shipped probe.

Review claim: Step 5a names the probe and all three of its outcomes.
Review lane: behavior
Safety invariant: The blocked-pull-request policy in Step 5 is unchanged; only the passage describing how to test is rewritten.
Effectiveness measurement: A fixture asserts the Step 5a passage names the probe and all three outcomes, and that the words `rm -rf` no longer appear in it.
Slice rationale: One passage of one document, stacked on the step that ships the executable it names.
Architectural effect: The written procedure points at a shipped executable instead of an inline recipe.
Goal: Rewrite the Step 5a passage of product/skills/admin-bypass-sweep/SKILL.md to call scripts/probe_branch_rebase.sh and describe its three outcomes.
Motivation: The passage already told the reader to tear down with the safe teardown command, and that wording did not prevent an improvised removal that corrupted the next reading. Naming one executable removes the chance to improvise.
Alternative considerations: Adding another sentence of guidance was rejected, since equivalent guidance is already present and did not hold.
Implementation details: Replace the fenced passage in Step 5a with a call to scripts/probe_branch_rebase.sh and a short list of its three outcomes. Add a fixture under the skill's tests folder asserting the passage names the probe, names all three outcomes, and no longer contains an improvised removal.
Non-goals: Does not change Step 5's policy for a blocked pull request, does not touch the merge passage, and does not edit any other written procedure.
Layer: domain
Feature state: active
Files: product/skills/admin-bypass-sweep/SKILL.md, product/skills/admin-bypass-sweep/tests/fires_step5a_names_probe.md
Change types:
- product/skills/admin-bypass-sweep/SKILL.md: docs-only
- product/skills/admin-bypass-sweep/tests/fires_step5a_names_probe.md: create
Acceptance criteria:
- `python3 -m unittest discover -s product/skills/admin-bypass-sweep/tests -v` exits 0.
- The Step 5a passage names scripts/probe_branch_rebase.sh.
- The Step 5a passage lists all three outcomes.

Solution:
  Rewrite the Step 5a passage to call the shipped probe.
Review claim: Step 5a names the probe and all three of its outcomes.
Review lane: behavior
Safety invariant: The blocked-pull-request policy in Step 5 is unchanged; only the passage describing how to test is rewritten.
Effectiveness measurement: A fixture asserts the Step 5a passage names the probe and all three outcomes, and that the words `rm -rf` no longer appear in it.
Slice rationale: One passage of one document, stacked on the step that ships the executable it names.
Architectural effect: The written procedure points at a shipped executable instead of an inline recipe.
Goal: Rewrite the Step 5a passage of product/skills/admin-bypass-sweep/SKILL.md to call scripts/probe_branch_rebase.sh and describe its three outcomes.
Motivation: The passage already told the reader to tear down with the safe teardown command, and that wording did not prevent an improvised removal that corrupted the next reading. Naming one executable removes the chance to improvise.
Alternative considerations: Adding another sentence of guidance was rejected, since equivalent guidance is already present and did not hold.
Implementation details: Replace the fenced passage in Step 5a with a call to scripts/probe_branch_rebase.sh and a short list of its three outcomes. Add a fixture under the skill's tests folder asserting the passage names the probe, names all three outcomes, and no longer contains an improvised removal.
Non-goals: Does not change Step 5's policy for a blocked pull request, does not touch the merge passage, and does not edit any other written procedure.
Layer: domain
Feature state: active
Files: product/skills/admin-bypass-sweep/SKILL.md, product/skills/admin-bypass-sweep/tests/fires_step5a_names_probe.md
Change types:
- product/skills/admin-bypass-sweep/SKILL.md: docs-only
- product/skills/admin-bypass-sweep/tests/fires_step5a_names_probe.md: create
Acceptance criteria:
- `python3 -m unittest discover -s product/skills/admin-bypass-sweep/tests -v` exits 0.
- The Step 5a passage names scripts/probe_branch_rebase.sh.
- The Step 5a passage lists all three outcomes.

Invoker-Finalize-Id: e859b330-f6c2-4da7-9aaf-2356607f423a
…erministic proof for the Step 5a wiring.

Review claim: A fixture asserts the passage names the probe.
Review lane: proof
Safety invariant: Proof-only; adds no product behavior.
Effectiveness measurement: The suite fails if the passage stops naming the probe or drops an outcome.
Slice rationale: One proof slice for this step.
Architectural effect: None; verification only.
Goal: Prove the Step 5a wiring deterministically.
Motivation: The change is to one written passage, so the proof reads that passage.
Alternative considerations: Manual verification was rejected as non-deterministic.
Implementation details: Execute the command below as the terminal proof.
Non-goals: No product edits here; proof only.
Layer: app_regression
Feature state: active

Exit code: 0
Invoker-Finalize-Id: 3aa932b8-5cc2-4fba-bc5c-115d7a475b4f
… that no ephemeral inter-task handoff files remain.

Review claim: The workflow leaves no scratch handoff artifacts behind.
Review lane: cleanup
Safety invariant: Read-only; never deletes files, alters the index, or commits caller work.
Effectiveness measurement: The gate fails when a plans/invoker-handoff.* or lens-*.json file is still present after the leaf tasks complete.
Slice rationale: One terminal hygiene gate for the workflow.
Architectural effect: None; check only.
Goal: Confirm no ephemeral handoff files survive the run.
Motivation: Inter-task scratch files leak into diffs and read as part of the work.
Alternative considerations: Deleting them automatically was rejected; the gate reports, it does not mutate.
Implementation details: Run scripts/scrub-handoff-artifacts.sh without --apply.
Non-goals: No deletion, no index changes, no commits.
Layer: app_regression
Feature state: active

Exit code: 0
Invoker-Finalize-Id: 2c57922e-973b-4c94-a350-bde1591b77ee
…acd04e326-8748be37 — Terminal check that no ephemeral inter-task handoff files remain.

Review claim: The workflow leaves no scratch handoff artifacts behind.
Review lane: cleanup
Safety invariant: Read-only; never deletes files, alters the index, or commits caller work.
Effectiveness measurement: The gate fails when a plans/invoker-handoff.* or lens-*.json file is still present after the leaf tasks complete.
Slice rationale: One terminal hygiene gate for the workflow.
Architectural effect: None; check only.
Goal: Confirm no ephemeral handoff files survive the run.
Motivation: Inter-task scratch files leak into diffs and read as part of the work.
Alternative considerations: Deleting them automatically was rejected; the gate reports, it does not mutate.
Implementation details: Run scripts/scrub-handoff-artifacts.sh without --apply.
Non-goals: No deletion, no index changes, no commits.
Layer: app_regression
Feature state: active
@cursor

cursor Bot commented Sep 12, 2026

Copy link
Copy Markdown

Bugbot couldn't run - usage limit reached

Bugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit.

A user or team admin can review and increase usage limits in the Cursor dashboard.

(requestId: serverGenReqId_596a16d7-bbee-4de6-8a2f-7a3d47185a63)

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