Skip to content

feat(delivery): G4 controller-visible PR delivery lifecycle projection (#115) - #161

Open
James3014 wants to merge 1 commit into
codex/issue-115-pr-delivery-g0-g3from
codex/issue-115-g4-lifecycle-projection
Open

James3014 wants to merge 1 commit into
codex/issue-115-pr-delivery-g0-g3from
codex/issue-115-g4-lifecycle-projection

Conversation

@James3014

Copy link
Copy Markdown
Owner

Depends on #147.

Implements only #115 G4 controller-visible lifecycle projection.
No G5 CI/readback.
No merge authority.
No new lifecycle persistence.

Authority design

  • DurableOperationStore remains the canonical persistent truth.
  • New src/pr-delivery-lifecycle.ts is a pure deterministic projection over the existing durable github_pr_delivery operation and its G0-G3 receipt (type-only import, zero I/O, zero GitHub calls).
  • server.ts gains one read-only pr_delivery_lifecycle_read adapter (readOnlyHint=true, idempotentHint=true).
  • github-pr-delivery.ts does not import the G4 module (dependency direction preserved).

States

PR_DELIVERY_PREPARED / PR_DELIVERY_IN_FLIGHT / PR_DELIVERED / PR_DELIVERY_RECONCILE_REQUIRED / PR_DELIVERY_BLOCKED. No CI_GREEN / CI_FAILED / MERGE_READY (G5).

CANDIDATE_READY / BRANCH_PUSHED remain existing controller-observed git Candidate receipts until a separately justified durable Candidate lifecycle contract exists.

Verification

  • New suite src/pr-delivery-lifecycle.test.ts: 13/13 pass.
  • Existing G0-G3 suites unmodified: delivery 22/22, durable 22/22, durable-ci 22/22.
  • typecheck / build / full npm test green.

G4 is a pure deterministic projection over the existing durable
github_pr_delivery operation and its G0-G3 receipt. No new lifecycle
persistence, no second operation identity, no GitHub calls, no CI or
merge state. Server exposes one read-only pr_delivery_lifecycle_read
projection adapter.

Depends on #147. No G5 CI/readback. No merge authority.
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