Repository navigation
test(minvmd): keep clone and push working across a signing rotation (T52) - #2551
norrietaylor merged 2 commits into
Conversation
The case bep_signing_rotation_keeps_running_box_working starts a grant box, clones and pushes, runs bep --rotate-signing, and clones and pushes again from the same box id. It checks that min box spec prints the same root CA fingerprint before and after (BEP-061). Off macOS, without a sign-in or without E2E_BEP_PRIVATE_REPO, it records NOT RUN.
|
Important Review skippedBot user detected. To trigger a single review, invoke the
|
|
Approved: every review thread resolved at @norrietaylor resolved the last thread, which releases the approval this review had withheld. Nothing to do. |
There was a problem hiding this comment.
arch-review: PASS_WITH_CONDITIONS · 1 condition · the full ruling
The new e2e case conforms to Gatehouse §6.10 line 839. One box keeps its id across bep --rotate-signing, and the root fingerprint must not change. The live leg records NOT RUN here, and the clone cannot pass until #2499 lands. Thus the proof of BEP-061 stays open. C1 keeps it open until a live macOS run on the #2500 lane passes. Do not soften the clone failure before then.
Ruled at a5c2225 against gominimal/arch@109541a48c31 by claude-opus-5-5.
grep -q exits on its first match, and under pipefail the SIGPIPE in the pipeline can fail a healthy box. Capture the output, then glob it.
|
Round 1 of 10 on the runtime's review findings, pushed as
Verify Review threads the coder judged:
With a sign-in and E2E_BEP_PRIVATE_REPO on macOS, the case shows one running grant box that clones and pushes before and after Notes from the agent: This round replaces the |
There was a problem hiding this comment.
arch-review: PASS_WITH_CONDITIONS · 1 condition · the full ruling
The compare changes only the min ls check after the rotation. It now captures the output and does not pipe it into grep -q, so pipefail cannot fail a healthy box. The case still fails closed. The case conforms to Gatehouse §6.10 line 839: a signing rotation under an unchanged root re-creates no box and keeps the root. The leg records NOT RUN, and C1 keeps it open under #2500 and #2499 until a live lane observes it.
Ruled at cee7324 against gominimal/arch@109541a48c31 by claude-opus-5-5.
There was a problem hiding this comment.
minimal-review — approval withheld
Verdict COMMENT — APPROVE withheld: 3 unresolved threads — minimal-foundry[bot] scripts/session-e2e.sh, minimal-arch[bot] scripts/session-e2e.sh:12141, minimal-arch[bot] scripts/session-e2e.sh:12038. No findings.
Panel: 3 of 3 personas ran (correctness, security, supply-chain).
There was a problem hiding this comment.
minimal-review — approved
Verdict APPROVE — every review thread is resolved; @norrietaylor closed the last one. The review of cee7324c5783 withheld this approval on the threads open then. Posted as a comment: the App cannot approve its own pull request; the check and the label carry it.
There was a problem hiding this comment.
Babysitter approval at cee7324: every merge gate passes at this head (arch's conditions are the macOS legs, filed as residual #2565 by the epic owner's decision; zero open threads; every lane aggregator green). Squash title test(minvmd): keep clone and push working across a signing rotation (T52) and the squashed message pass commitlint. Queued for squash merge.
Generated by Claude Code
T52 — A signing rotation under a running grant box keeps clone and push working, end to end
slice: S9
kind: task
covers: BEP-061
size: M
est: 40 code, 200 tests
executor: agent
difficulty: needs care
model: standard
diagnostics: the e2e case prints the root fingerprint from
min box specbefore and after the rotation, and they matchobservability: none beyond the case's own output
layers:
- e2e:
- scripts/session-e2e.sh: starts a grant box, clones and pushes, rotates through
bep rotate-signing, clones and pushes again from the same box; records NOT RUN off macOS, without a sign-in or without E2E_BEP_PRIVATE_REPO, asbep_first_slice_end_to_enddoestest: ./scripts/session-e2e.sh bep_signing_rotation_keeps_running_box_working
produces: none
consumes: none
proof: A running grant box clones and pushes before and after a signing rotation without being re-created, and its root fingerprint is unchanged.
depends on:
- blocked by T51
Proof
A person on the macOS lane can now run ./scripts/session-e2e.sh bep_signing_rotation_keeps_running_box_working. The transcript shows one grant box that clones and pushe 8000 s before and after bep --rotate-signing, under the same box id and still listed by min ls. It also shows the root CA fingerprint from min box spec before and after the rotation, and the case fails if they differ. This box did not run the live path: the case records NOT RUN here, so the proof is not yet observed.
Notes from the agent: The task says
bep rotate-signing, but the bep CLI has no subcommand with that name. The real command is the flagbep --rotate-signing(crates/bep/src/main.rs), and the case runs that with --control $HOME/.minimal/bep/control.sock. The case uses MINVMD_BEP_BIN for the bep binary, or else the bep beside minvmd on PATH, which is how minvmd resolves it. The live path is unverified: it needs macOS, a VM with MINVMD_GVPROXY_BIN, amin auth loginsign-in and E2E_BEP_PRIVATE_REPO, and #2500 owns that lane. As in bep_first_slice_end_to_end, the clone meets the known gap #2499 (no git credential helper in the box), so the clone step will fail on a lane that runs it until #2499 lands. The case is also in the whole-lane order, after bep_first_slice_end_to_end. bash -n and shellcheck are clean.Tests
./scripts/session-e2e.sh bep_signing_rotation_keeps_running_box_workingVerify
min task run agent-verifyexited 101 under rustc 1.98.1, which the repository does not pin (1.97.0 in rust-toolchain.toml); the PR is not a draft on that alone — CI, which honours the pin, is the gate.Residuals
mainon the manual macOS lane of T82 — Run the Box Egress Proxy legs on the macOS lane #2500 (epic owner's decision, 2026-10-25; arch's conditions on the legs).Closes #2533
Generated by Claude Code