Skip to content

[P2-018] Make claims, handoff and completion follow-ups reliable - #3

Merged
deku2026 merged 1 commit into
mainfrom
p2-018-execution-repair
Sep 25, 2026
Merged

deku2026 merged 1 commit into
mainfrom
p2-018-execution-repair

Conversation

@deku2026

Copy link
Copy Markdown

Focused repair of the parallel execution rules; the delivery graph's tasks, prerequisites, obligations and the baseline are unchanged (complete through WP03.02; WP03.03 not started).

Rule changes (docs/planning/delivery/README.md)

  • DLV-26 (claims). One key per ID: lower case, dots replaced by hyphens (claims/con-02, task/con-02, ledger/tasks/con-02.md).
    • Git for Windows cannot store a ref, branch or file named con.02. Verified locally: CON is a reserved device name, which breaks every CON.* task.
    • Every claim change is a compare-and-swap on the exact claim commit that was read.
    • Only the claimant at the current epoch renews, updates, blocks, releases or completes a claim. Re-claim, takeover and completion follow-up append the next epoch.
  • DLV-27 (handoff and fencing). Voluntary handoff (release with a current handoff record, immediate re-claim) is separated from recovery of an expired lease. The recovery rule adds a one-hour wait after the release request. Merges are bound to the reviewed head commit.
  • New rules:
    • DLV-40: the claim record is the durable handoff, updated at each checkpoint.
    • DLV-41: a delivered task becomes a completion follow-up once its completion prerequisites complete; upstream completion alone is not its acceptance.
    • DLV-42: workers, reviewers, integration owners and an optional coordinator are replaceable sessions with no state outside records, pull requests and the ledger.
  • DLV-29 (integration owner). The role is held through roles/integration-<repository>, so the current owner is discoverable. Any worker may assume a vacant role.
  • DLV-11/31/37 (exclusive phases). An exclusive phase binds every task that enters it. The build slot uses the workstation lock instead of a lease branch.
  • DLV-23/28/33/38 and section 9. Delivered tasks have no owner while waiting. Completion evidence adds the pull requests, reviewed and merge commits (titles keep the task IDs) and CI/publication evidence. Bundles keep separate handoff records.

Graph and views

  • Resource protocols now name how each exclusive phase is taken:
    • the build slot (workstation lock);
    • live runs on the deployed Cloud and AI environments (leases/res-cloud-deployment, leases/res-ai-workflow-and-routes);
    • the Android module-skeleton restructuring (leases/res-mobile-build-config).
  • The 34 build-slot declarations change from append to exclusive.
  • The nine repository adoption tasks' ledger write scopes use the new key names.
  • adoption.md ledger record names are updated.
  • Views are regenerated with the Plan tool from the companion Plan-B pull request. Lane records now name each task's claim, branch, ledger record and integration role.

Validation

  • python tools/delivery.py check passed: 529 tasks, 58 adoption slices, 110 views current, 0 warnings, ledger valid.
  • A link and anchor check over the changed documents found no problems.
  • Merge this before the companion Plan-B pull request.

🤖 Generated with Claude Code

- DLV-26/DLV-27: one Windows-safe key per ID (claims/<key>, task/<key>,
  ledger/tasks/<key>.md; Git for Windows cannot store con.02). Every
  claim change is a compare-and-swap on the claim commit that was read;
  only the claimant at the current epoch renews, updates, blocks,
  releases or completes it. Voluntary handoff is separated from recovery
  of an expired lease, and merges are bound to the reviewed head commit.
- New DLV-40 (durable handoff record on the claim), DLV-41 (completion
  follow-up for delivered tasks) and DLV-42 (replaceable sessions:
  workers, reviewers, integration owners, optional coordinator).
- DLV-29: the integration owner role is held and handed over through
  roles/integration-<repository>, so the current owner is discoverable.
- DLV-11/31/37: exclusive phases bind every task entering them; the
  build slot uses the workstation lock. Resource protocols name their
  leases; the 34 build-slot declarations become exclusive.
- DLV-23/28/33/38, section 9 and the adoption record names updated.
  Views regenerated with the Plan delivery tool.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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