Skip to content

fix: Scoped gate starts inherit the run epoch; thread it through the build chain (change 0467) - #349

Merged
danielhanold merged 9 commits into
mainfrom
fix/document-run-epoch-in-the-docket-build-task-gate-drive-start
Sep 29, 2026
Merged

danielhanold merged 9 commits into
mainfrom
fix/document-run-epoch-in-the-docket-build-task-gate-drive-start

Conversation

@danielhanold

@danielhanold danielhanold commented Sep 28, 2026 •

Copy link
Copy Markdown
Owner

↩ Change 0467 — Scoped gate starts inherit the run epoch; thread it through the build chain

↩ Change 0467 — Scoped gate starts inherit the run epoch; thread it through the build chain

Summary

  • Driver: a scoped gate.drive.start now inherits the run epoch pinned on its scope (a foreign presented epoch is still refused); the build-owner advisory precheck in startBudgetedBuild reconciles with that same effective epoch.
  • Skills: docket-implement-next, docket-build, docket-build-task thread --run-epoch into every prepare-scope and build-owned start; task workers never handle it, except the repair worker's build-owned post-fix re-run.
  • Parent run-gate block: cursor-rules/run-gate.md / AGENTS.md now copy the <epoch> into the implement-next dispatch prompt; the Codex agent.enter request file carries it too.
  • Guards: repoguard tests pin every thread (mutation-tested); dispatch-block budget re-baselined 1137 -> 1153 (ceiling 1156). Glossary updated.

Results: docs/results/2026-09-28-document-run-epoch-in-the-docket-build-task-gate-drive-start-results.md

Review

Reviewer rung: docket-review-deep (no build record from the resumed run -> standard default; diff > 1500 changed lines bumped one step).

# Severity Finding Disposition
1 blocker Repair worker's build-owned post-fix re-run had no epoch source (certain stale-run-epoch) fixed 7fb799d08
2 important startBudgetedBuild advisory precheck reconciled with the presented, not the scope's, epoch fixed 6c9226f54
3 important Codex agent.enter request file did not carry the run epoch fixed 18db4ba15
4 minor Glossary still said only the dispatch context rides the prompt fixed c7a4c8e29

Full suite re-run after the fixes: green (66/66).

command: go run ./cmd/docket development test
result: green
head_sha: cd24449
ran_at: 2026-09-29T06:03:04Z

Docket-Plan-Path: docs/superpowers/plans/2026-09-28-document-run-epoch-in-the-docket-build-task-gate-drive-start.md
…467)

precheckScopedStart now resolves the start's effective run epoch
(scopedRunEpoch) and Admit substitutes it into its own copy of the
request before the epoch gate, the scoped admission record, finished-
incumbent reconciliation, and the admission ticket. A scoped start that
presents no epoch inherits the one its scope pinned (first and successor
starts alike); presenting a different epoch fails scopedIdentityMatch as
scope-identity-mismatch before anything is reserved. An epoch-less scope
leaves the presented value governing, unchanged.

Mutation evidence: dropping the substitution reddens the two inheritance
tests (stale-run-epoch / empty slot epoch); dropping the epoch clause in
scopedIdentityMatch reddens the two foreign-epoch tests (admitted).
@danielhanold
danielhanold force-pushed the fix/document-run-epoch-in-the-docket-build-task-gate-drive-start branch from d383b43 to cd24449 Compare September 29, 2026 06:03
@danielhanold
danielhanold merged commit 9a46fbf into main Sep 29, 2026
1 check passed
@danielhanold
danielhanold deleted the fix/document-run-epoch-in-the-docket-build-task-gate-drive-start branch September 29, 2026 06:04
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