fix(ui): explain missing worktree seed provenance

Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
DottaandPaperclip committed 2026-08-25 19:31:23 +00:00
1 parent 8ff25515f8
commit 2c6eaaa52d
2 files changed
+15 -2

No files matched your search

@@ -115,6 +115,12 @@ describe("WorktreeRunEngineBanner", () => {
expect(container.textContent).toContain("Toggle it off and back on");
});
it("explains a missing seed epoch", () => {
const container = mount(suppressed("missing_seed_epoch"));
expect(container.textContent).toContain("missing seed epoch");
expect(container.textContent).toContain("Toggle off and back on");
});
it("explains a flag-disabled run engine", () => {
const container = mount(suppressed("flag_disabled"));
expect(container.textContent).toContain("Run engine off");
@@ -134,8 +140,8 @@ describe("WorktreeRunEngineBanner", () => {
expect(strip?.textContent).toContain("5 inherited runs inactive");
});
// PAP-14415: the strip supplies its own bold "Run engine" subject, so the
// suppressed predicate must not restate it (no "Run engine run engine off").
// The strip supplies its own bold "Run engine" subject, so the suppressed
// predicate must not restate it (no "Run engine run engine off").
it("does not stutter the run-engine subject in the suppressed strip", () => {
const container = mount(suppressed("flag_disabled", { quarantinedRunCount: 4 }), "strip");
const text = container
@@ -58,6 +58,13 @@ function suppressionCopy(
"This worktree has not stamped an instance identity yet, so execution fails closed. Toggle off and back on to arm execution.",
stripLabel: "suppressed — no identity",
};
case "missing_seed_epoch":
return {
headline: "Execution suppressed — missing seed epoch",
detail:
"This worktree has no seed epoch stamped yet, so execution fails closed. Toggle off and back on to arm execution.",
stripLabel: "suppressed — missing seed epoch",
};
case "instance_id_mismatch":
return {
headline: "Toggle inactive — bound to another instance",