codex-orchestrator 2.0.11 → 2.0.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +22 -0
- package/README.md +25 -51
- package/dist/src/index.d.ts +2 -8
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -4
- package/dist/src/index.js.map +1 -1
- package/dist/src/v2/acceptance-proof.d.ts +46 -31
- package/dist/src/v2/acceptance-proof.d.ts.map +1 -1
- package/dist/src/v2/acceptance-proof.js +157 -195
- package/dist/src/v2/acceptance-proof.js.map +1 -1
- package/dist/src/v2/active-attempt.d.ts +94 -0
- package/dist/src/v2/active-attempt.d.ts.map +1 -0
- package/dist/src/v2/active-attempt.js +200 -0
- package/dist/src/v2/active-attempt.js.map +1 -0
- package/dist/src/v2/adapters/command.d.ts +6 -0
- package/dist/src/v2/adapters/command.d.ts.map +1 -1
- package/dist/src/v2/adapters/command.js +43 -2
- package/dist/src/v2/adapters/command.js.map +1 -1
- package/dist/src/v2/candidate.d.ts +15 -31
- package/dist/src/v2/candidate.d.ts.map +1 -1
- package/dist/src/v2/candidate.js +7 -29
- package/dist/src/v2/candidate.js.map +1 -1
- package/dist/src/v2/checked-change.d.ts +3 -2
- package/dist/src/v2/checked-change.d.ts.map +1 -1
- package/dist/src/v2/checked-change.js +4 -3
- package/dist/src/v2/checked-change.js.map +1 -1
- package/dist/src/v2/cli-contract.d.ts +1 -1
- package/dist/src/v2/cli-contract.d.ts.map +1 -1
- package/dist/src/v2/cli-contract.js +4 -6
- package/dist/src/v2/cli-contract.js.map +1 -1
- package/dist/src/v2/cli.d.ts +8 -0
- package/dist/src/v2/cli.d.ts.map +1 -1
- package/dist/src/v2/cli.js +13 -0
- package/dist/src/v2/cli.js.map +1 -1
- package/dist/src/v2/code-review-report.d.ts +10 -18
- package/dist/src/v2/code-review-report.d.ts.map +1 -1
- package/dist/src/v2/code-review-report.js +63 -60
- package/dist/src/v2/code-review-report.js.map +1 -1
- package/dist/src/v2/codex-process.d.ts +6 -2
- package/dist/src/v2/codex-process.d.ts.map +1 -1
- package/dist/src/v2/codex-process.js +25 -9
- package/dist/src/v2/codex-process.js.map +1 -1
- package/dist/src/v2/config.d.ts +0 -2
- package/dist/src/v2/config.d.ts.map +1 -1
- package/dist/src/v2/config.js +3 -6
- package/dist/src/v2/config.js.map +1 -1
- package/dist/src/v2/contained-report-operation.d.ts +41 -196
- package/dist/src/v2/contained-report-operation.d.ts.map +1 -1
- package/dist/src/v2/contained-report-operation.js +139 -466
- package/dist/src/v2/contained-report-operation.js.map +1 -1
- package/dist/src/v2/containment.d.ts +1 -0
- package/dist/src/v2/containment.d.ts.map +1 -1
- package/dist/src/v2/containment.js +12 -2
- package/dist/src/v2/containment.js.map +1 -1
- package/dist/src/v2/delivery-authority.d.ts +26 -0
- package/dist/src/v2/delivery-authority.d.ts.map +1 -0
- package/dist/src/v2/delivery-authority.js +44 -0
- package/dist/src/v2/delivery-authority.js.map +1 -0
- package/dist/src/v2/direct-delivery.d.ts +16 -36
- package/dist/src/v2/direct-delivery.d.ts.map +1 -1
- package/dist/src/v2/direct-delivery.js +135 -122
- package/dist/src/v2/direct-delivery.js.map +1 -1
- package/dist/src/v2/immutable-workflow-publisher.d.ts.map +1 -1
- package/dist/src/v2/immutable-workflow-publisher.js +3 -1
- package/dist/src/v2/immutable-workflow-publisher.js.map +1 -1
- package/dist/src/v2/implementation-report.d.ts +3 -1
- package/dist/src/v2/implementation-report.d.ts.map +1 -1
- package/dist/src/v2/implementation-report.js +28 -10
- package/dist/src/v2/implementation-report.js.map +1 -1
- package/dist/src/v2/implementation-reviewer.d.ts +41 -12
- package/dist/src/v2/implementation-reviewer.d.ts.map +1 -1
- package/dist/src/v2/implementation-reviewer.js +114 -42
- package/dist/src/v2/implementation-reviewer.js.map +1 -1
- package/dist/src/v2/pending-effect-settlement.d.ts +44 -0
- package/dist/src/v2/pending-effect-settlement.d.ts.map +1 -0
- package/dist/src/v2/pending-effect-settlement.js +69 -0
- package/dist/src/v2/pending-effect-settlement.js.map +1 -0
- package/dist/src/v2/process-identity.d.ts +45 -0
- package/dist/src/v2/process-identity.d.ts.map +1 -0
- package/dist/src/v2/process-identity.js +118 -0
- package/dist/src/v2/process-identity.js.map +1 -0
- package/dist/src/v2/proof-report.d.ts +2 -1
- package/dist/src/v2/proof-report.d.ts.map +1 -1
- package/dist/src/v2/proof-report.js +10 -4
- package/dist/src/v2/proof-report.js.map +1 -1
- package/dist/src/v2/review-feedback-coordinator.d.ts +1 -1
- package/dist/src/v2/review-feedback-coordinator.d.ts.map +1 -1
- package/dist/src/v2/review-feedback-coordinator.js +1 -1
- package/dist/src/v2/review-feedback-coordinator.js.map +1 -1
- package/dist/src/v2/review-feedback.d.ts +14 -20
- package/dist/src/v2/review-feedback.d.ts.map +1 -1
- package/dist/src/v2/review-feedback.js +45 -87
- package/dist/src/v2/review-feedback.js.map +1 -1
- package/dist/src/v2/run-issue.d.ts +129 -88
- package/dist/src/v2/run-issue.d.ts.map +1 -1
- package/dist/src/v2/run-issue.js +1965 -2381
- package/dist/src/v2/run-issue.js.map +1 -1
- package/dist/src/v2/run-state-projections.d.ts +84 -0
- package/dist/src/v2/run-state-projections.d.ts.map +1 -0
- package/dist/src/v2/run-state-projections.js +142 -0
- package/dist/src/v2/run-state-projections.js.map +1 -0
- package/dist/src/v2/run-store.d.ts +99 -81
- package/dist/src/v2/run-store.d.ts.map +1 -1
- package/dist/src/v2/run-store.js +245 -542
- package/dist/src/v2/run-store.js.map +1 -1
- package/dist/src/v2/runtime-assets.d.ts +3 -0
- package/dist/src/v2/runtime-assets.d.ts.map +1 -1
- package/dist/src/v2/runtime-assets.js +104 -0
- package/dist/src/v2/runtime-assets.js.map +1 -1
- package/dist/src/v2/runtime.d.ts +56 -44
- package/dist/src/v2/runtime.d.ts.map +1 -1
- package/dist/src/v2/runtime.js +383 -503
- package/dist/src/v2/runtime.js.map +1 -1
- package/dist/src/v2/setup.js +0 -2
- package/dist/src/v2/setup.js.map +1 -1
- package/dist/src/v2/validation-progression.d.ts +70 -0
- package/dist/src/v2/validation-progression.d.ts.map +1 -0
- package/dist/src/v2/validation-progression.js +247 -0
- package/dist/src/v2/validation-progression.js.map +1 -0
- package/dist/src/v2/workflow-assets.d.ts +9 -3
- package/dist/src/v2/workflow-assets.d.ts.map +1 -1
- package/dist/src/v2/workflow-assets.js +256 -43
- package/dist/src/v2/workflow-assets.js.map +1 -1
- package/internal-workflow/docs/agents/bug-workflow-routing.md +9 -7
- package/internal-workflow/docs/agents/coding-skill-routing.md +170 -120
- package/internal-workflow/docs/agents/tool-usage.md +23 -12
- package/internal-workflow/manifest.json +1 -1
- package/internal-workflow/operations/code-review/SKILL.md +34 -15
- package/internal-workflow/operations/implementation/SKILL.md +21 -16
- package/internal-workflow/profiles/implementer.toml +9 -0
- package/internal-workflow/profiles/review_coordinator.toml +9 -0
- package/internal-workflow/profiles/spec_reviewer.toml +9 -0
- package/internal-workflow/profiles/standards_reviewer.toml +9 -0
- package/internal-workflow/schemas/code-review-v1.json +1 -1
- package/internal-workflow/schemas/implementation-report-v1.json +1 -1
- package/internal-workflow/schemas/proof-report-v1.json +1 -1
- package/internal-workflow/skills/bug-root-cause-explainer/SKILL.md +114 -0
- package/internal-workflow/skills/bug-root-cause-explainer/agents/openai.yaml +7 -0
- package/internal-workflow/skills/bug-root-cause-explainer/evals/evals.json +18 -0
- package/internal-workflow/skills/code-review/SKILL.md +84 -306
- package/internal-workflow/skills/code-review/agents/openai.yaml +5 -3
- package/internal-workflow/skills/code-review/evals/evals.json +83 -0
- package/internal-workflow/skills/code-review/references/standards-smells.md +41 -0
- package/internal-workflow/skills/diagnosing-bugs/SKILL.md +69 -32
- package/internal-workflow/skills/diagnosing-bugs/agents/openai.yaml +2 -2
- package/internal-workflow/skills/diagnosing-bugs/evals/evals.json +63 -0
- package/internal-workflow/skills/grilling/SKILL.md +51 -0
- package/internal-workflow/skills/grilling/agents/openai.yaml +6 -0
- package/internal-workflow/skills/grilling/evals/evals.json +47 -0
- package/internal-workflow/skills/implement/SKILL.md +135 -0
- package/internal-workflow/skills/implement/agents/openai.yaml +6 -0
- package/internal-workflow/skills/implement/evals/evals.json +150 -0
- package/internal-workflow/skills/plan/SKILL.md +59 -0
- package/internal-workflow/skills/plan/agents/openai.yaml +6 -0
- package/internal-workflow/skills/plan/evals/evals.json +36 -0
- package/internal-workflow/skills/prototype/LOGIC.md +130 -0
- package/internal-workflow/skills/prototype/SKILL.md +69 -0
- package/internal-workflow/skills/prototype/UI.md +157 -0
- package/internal-workflow/skills/prototype/agents/openai.yaml +6 -0
- package/internal-workflow/skills/prototype/evals/evals.json +67 -0
- package/internal-workflow/skills/research/SKILL.md +110 -0
- package/internal-workflow/skills/research/agents/openai.yaml +6 -0
- package/internal-workflow/skills/research/evals/evals.json +49 -0
- package/internal-workflow/skills/tdd/SKILL.md +72 -67
- package/internal-workflow/skills/tdd/agents/openai.yaml +2 -2
- package/internal-workflow/skills/tdd/evals/evals.json +12 -0
- package/internal-workflow/skills/tdd/mocking.md +48 -1
- package/internal-workflow/skills/tdd/refactoring.md +3 -3
- package/internal-workflow/skills/tickets-orchestrator/SKILL.md +199 -0
- package/internal-workflow/skills/tickets-orchestrator/agents/openai.yaml +6 -0
- package/internal-workflow/skills/tickets-orchestrator/evals/evals.json +126 -0
- package/internal-workflow/skills/tickets-orchestrator/references/delegate-integrate.md +83 -0
- package/internal-workflow/skills/tickets-orchestrator/references/finish-delivery.md +69 -0
- package/internal-workflow/skills/tickets-orchestrator/references/stop-completion.md +63 -0
- package/internal-workflow/skills/to-spec/SKILL.md +133 -0
- package/internal-workflow/skills/to-spec/agents/openai.yaml +6 -0
- package/internal-workflow/skills/to-spec/evals/evals.json +24 -0
- package/internal-workflow/skills/to-tickets/SKILL.md +189 -0
- package/internal-workflow/skills/to-tickets/agents/openai.yaml +6 -0
- package/internal-workflow/skills/to-tickets/evals/evals.json +79 -0
- package/internal-workflow/skills/to-tickets/references/publishing-details.md +117 -0
- package/package.json +1 -1
- package/dist/src/v2/proof-store.d.ts +0 -54
- package/dist/src/v2/proof-store.d.ts.map +0 -1
- package/dist/src/v2/proof-store.js +0 -301
- package/dist/src/v2/proof-store.js.map +0 -1
- package/dist/src/v2/route-continuations.d.ts +0 -32
- package/dist/src/v2/route-continuations.d.ts.map +0 -1
- package/dist/src/v2/route-continuations.js +0 -2
- package/dist/src/v2/route-continuations.js.map +0 -1
- package/dist/src/v2/route-coordinator.d.ts +0 -72
- package/dist/src/v2/route-coordinator.d.ts.map +0 -1
- package/dist/src/v2/route-coordinator.js +0 -275
- package/dist/src/v2/route-coordinator.js.map +0 -1
- package/dist/src/v2/route-decision.d.ts +0 -120
- package/dist/src/v2/route-decision.d.ts.map +0 -1
- package/dist/src/v2/route-decision.js +0 -380
- package/dist/src/v2/route-decision.js.map +0 -1
- package/dist/src/v2/spec-coordinator.d.ts +0 -73
- package/dist/src/v2/spec-coordinator.d.ts.map +0 -1
- package/dist/src/v2/spec-coordinator.js +0 -126
- package/dist/src/v2/spec-coordinator.js.map +0 -1
- package/dist/src/v2/spec-delivery.d.ts +0 -112
- package/dist/src/v2/spec-delivery.d.ts.map +0 -1
- package/dist/src/v2/spec-delivery.js +0 -336
- package/dist/src/v2/spec-delivery.js.map +0 -1
- package/dist/src/v2/triage-route.d.ts +0 -68
- package/dist/src/v2/triage-route.d.ts.map +0 -1
- package/dist/src/v2/triage-route.js +0 -223
- package/dist/src/v2/triage-route.js.map +0 -1
- package/dist/src/v2/waiting-human-coordinator.d.ts +0 -49
- package/dist/src/v2/waiting-human-coordinator.d.ts.map +0 -1
- package/dist/src/v2/waiting-human-coordinator.js +0 -509
- package/dist/src/v2/waiting-human-coordinator.js.map +0 -1
- package/dist/src/v2/waiting-human.d.ts +0 -143
- package/dist/src/v2/waiting-human.d.ts.map +0 -1
- package/dist/src/v2/waiting-human.js +0 -408
- package/dist/src/v2/waiting-human.js.map +0 -1
- package/internal-workflow/docs/agents/contract-test-ledger.md +0 -71
- package/internal-workflow/docs/agents/review-gates.md +0 -42
- package/internal-workflow/docs/agents/review-protocol.md +0 -98
- package/internal-workflow/evals/coding-skill-evals.json +0 -373
- package/internal-workflow/operations/ambiguity-review/SKILL.md +0 -5
- package/internal-workflow/operations/qualification-repair/SKILL.md +0 -17
- package/internal-workflow/operations/spec-author/SKILL.md +0 -12
- package/internal-workflow/operations/spec-review/SKILL.md +0 -12
- package/internal-workflow/operations/triage/SKILL.md +0 -12
- package/internal-workflow/profiles/analyst_deep.toml +0 -9
- package/internal-workflow/profiles/implementer_standard.toml +0 -9
- package/internal-workflow/profiles/proof_agent.toml +0 -8
- package/internal-workflow/profiles/reviewer_deep.toml +0 -9
- package/internal-workflow/profiles/reviewer_standard.toml +0 -9
- package/internal-workflow/schemas/ambiguity-review-v1.json +0 -1
- package/internal-workflow/schemas/spec-author-v1.json +0 -1
- package/internal-workflow/schemas/spec-review-v1.json +0 -30
- package/internal-workflow/schemas/triage-route-v1.json +0 -1
- package/internal-workflow/skills/agent-auto/SKILL.md +0 -19
- package/internal-workflow/skills/agent-auto/agents/openai.yaml +0 -6
- package/internal-workflow/skills/code-debugger/SKILL.md +0 -122
- package/internal-workflow/skills/code-debugger/agents/openai.yaml +0 -7
- package/internal-workflow/skills/code-review/references/bug-classes.md +0 -56
- package/internal-workflow/skills/code-review/references/cleanup-lens.md +0 -52
- package/internal-workflow/skills/code-review/references/framework-lenses.md +0 -34
- package/internal-workflow/skills/code-review/references/targeted-recipes.md +0 -49
- package/internal-workflow/skills/implementation-spec-maker/SKILL.md +0 -107
- package/internal-workflow/skills/implementation-spec-maker/agents/openai.yaml +0 -6
- package/internal-workflow/skills/implementation-spec-maker/references/source-modes.md +0 -32
- package/internal-workflow/skills/implementation-spec-maker/references/spec-template.md +0 -146
- package/internal-workflow/skills/implementation-spec-review/SKILL.md +0 -131
- package/internal-workflow/skills/implementation-spec-review/agents/openai.yaml +0 -6
- package/internal-workflow/skills/implementation-spec-review/evals/evals.json +0 -78
- package/internal-workflow/skills/implementation-spec-review/references/review-loop.md +0 -121
- package/internal-workflow/skills/small-task-implementer/SKILL.md +0 -112
- package/internal-workflow/skills/small-task-implementer/agents/openai.yaml +0 -6
- package/internal-workflow/skills/spec-implementer/SKILL.md +0 -133
- package/internal-workflow/skills/spec-implementer/agents/openai.yaml +0 -6
- package/internal-workflow/skills/spec-implementer/evals/evals.json +0 -30
- package/internal-workflow/skills/spec-implementer/references/review-loop.md +0 -100
- package/internal-workflow/skills/triage/AGENT-BRIEF.md +0 -192
- package/internal-workflow/skills/triage/OUT-OF-SCOPE.md +0 -101
- package/internal-workflow/skills/triage/SKILL.md +0 -134
- package/internal-workflow/skills/triage/agents/openai.yaml +0 -6
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: tickets-orchestrator
|
|
3
|
+
description: Coordinate an approved multi-ticket dependency graph through unique fresh workers, strict dependency-safe integration, root-owned Git checkpoints, direct Parent proof, and cumulative Spec and Standards review. Route a single ticket to Implement.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Tickets Orchestrator
|
|
7
|
+
|
|
8
|
+
Coordinate the complete approved graph. This skill owns graph scheduling,
|
|
9
|
+
integration, local checkpoints, and the cumulative Parent outcome. It does not
|
|
10
|
+
replace Implement for one ticket or create another planning layer.
|
|
11
|
+
|
|
12
|
+
## Graph-only boundary
|
|
13
|
+
|
|
14
|
+
Activate only for an approved graph with multiple executable child tickets,
|
|
15
|
+
multiple ready disjoint children, dependency-frontier coordination, or an
|
|
16
|
+
explicit request to execute the complete graph. A single deterministic ticket
|
|
17
|
+
routes to `$implement`, which supplies its one fresh worker and owns its normal
|
|
18
|
+
proof and review path.
|
|
19
|
+
|
|
20
|
+
Do not implement a planning-context Parent when executable children exist.
|
|
21
|
+
Root must not implement a full child or merge ticket boundaries. A ticket that
|
|
22
|
+
cannot execute from its body plus the Parent PRD is a ticket-packet defect and
|
|
23
|
+
fails closed.
|
|
24
|
+
|
|
25
|
+
## Authority and ownership
|
|
26
|
+
|
|
27
|
+
Before work, require:
|
|
28
|
+
|
|
29
|
+
- one clean isolated integration worktree and pinned baseline for every
|
|
30
|
+
repository in the graph;
|
|
31
|
+
- the complete Parent PRD, complete tickets, and authoritative tracker state,
|
|
32
|
+
including native Parent, sub-issue, and blocker links;
|
|
33
|
+
- repository policy, bounded child write scopes and exclusions; and
|
|
34
|
+
- deterministic proof obligations that exercise the target coordinator state.
|
|
35
|
+
|
|
36
|
+
Every child receives a unique fresh `implementer`. Begin every assignment with
|
|
37
|
+
`Assigned role: implementer` and include the complete ticket, complete Parent
|
|
38
|
+
PRD, repository policy, bounded write scope, exclusions, required proof, stop
|
|
39
|
+
conditions, and explicit no-Git boundary. Capture a non-empty worker identity
|
|
40
|
+
and wait for that same worker to complete. Workers perform no Git action and
|
|
41
|
+
return changed files, local proof, skipped checks, risks, Decision Deltas,
|
|
42
|
+
overlap, and blockers. Any worker Git event fails the child.
|
|
43
|
+
|
|
44
|
+
Root is the only integrator and Git writer. After the required gates pass, root
|
|
45
|
+
automatically creates a scoped child or wave checkpoint. Push and PR always
|
|
46
|
+
require separate authority. Tracker writes also require explicit authority.
|
|
47
|
+
|
|
48
|
+
## Ephemeral integration ledger
|
|
49
|
+
|
|
50
|
+
Keep one in-memory integration ledger keyed by stable authoritative repository
|
|
51
|
+
identity, never by a worker or worktree path. For each repository record its
|
|
52
|
+
integration worktree, pinned baseline SHA, ordered confirmed checkpoint SHAs,
|
|
53
|
+
any checkpoint SHAs rediscovered during recovery as `recovery_commits`, and,
|
|
54
|
+
once settled, its final checkpoint and exact `baseline..final` range. Fail
|
|
55
|
+
closed when repository identity or membership is ambiguous.
|
|
56
|
+
|
|
57
|
+
This ledger coordinates only the current run. Never serialize it to a file,
|
|
58
|
+
database, branch, commit, tracker field, comment, tag, or other durable state.
|
|
59
|
+
Git checkpoints remain product integration commits, not workflow-state
|
|
60
|
+
records. Rebuild a lost ledger from authoritative sources and confirmed Git.
|
|
61
|
+
|
|
62
|
+
## Coordinator contract
|
|
63
|
+
|
|
64
|
+
1. Populate the repository-keyed in-memory ledger, pin every baseline, inspect
|
|
65
|
+
each integration worktree's clean status, reread Parent, tickets, tracker
|
|
66
|
+
links, blockers, and labels, then build the ready frontier.
|
|
67
|
+
2. Do not start a blocked child. Sequence any dependency or overlap. Use one
|
|
68
|
+
parallel wave only when owners, write scopes, public seams, proof resources,
|
|
69
|
+
migrations, generated artifacts, and source-of-truth contracts are all
|
|
70
|
+
genuinely disjoint.
|
|
71
|
+
3. Launch one unique fresh worker per ready child. Never reuse a worker context
|
|
72
|
+
or treat narration as completion.
|
|
73
|
+
4. Wait for every worker in the wave. A failure, timeout, missing identity,
|
|
74
|
+
incomplete wait, scope drift, dirty overlap, or stale or missing proof fails
|
|
75
|
+
the affected wave.
|
|
76
|
+
5. Root inspects each worker report and the complete integrated diff, confirms
|
|
77
|
+
ownership and scope, and leaves unrelated or ambiguous state untouched.
|
|
78
|
+
6. Run only rewritten target-state checks plus the smallest affected combined
|
|
79
|
+
deterministic proof on the settled bytes. Do not use inherited coordinator
|
|
80
|
+
tests, live agents, or Codex execution as acceptance evidence, and do not
|
|
81
|
+
create a replacement runner.
|
|
82
|
+
7. Only after worker proof, root inspection, target-state checks, and combined
|
|
83
|
+
proof are current may root create the scoped checkpoint in the affected
|
|
84
|
+
repository. Its message names the Parent and exact child or wave issues.
|
|
85
|
+
8. Reread Git to confirm the checkpoint and clean integration boundary, then
|
|
86
|
+
append its SHA to that repository's in-memory checkpoint sequence before
|
|
87
|
+
releasing successors. A proven checkpoint is an integration boundary, not
|
|
88
|
+
a Parent completion claim.
|
|
89
|
+
|
|
90
|
+
A multi-repository wave settles checkpoints per repository but releases as one
|
|
91
|
+
unit. If settlement stops after one or more repository checkpoints are
|
|
92
|
+
confirmed, retain those earlier commits; do not roll them back, rewrite them,
|
|
93
|
+
or duplicate them to simulate an atomic wave. Reconstruct every affected
|
|
94
|
+
repository from Git. For a repository with no confirmed checkpoint, classify
|
|
95
|
+
the checkpoint as not yet created, not as a failed checkpoint commit. In that
|
|
96
|
+
repository's isolated integration worktree, revalidate intact authorized work
|
|
97
|
+
or assign a unique fresh implementer to recreate missing work under the
|
|
98
|
+
original ticket boundary. Root then reruns affected target-state checks and the
|
|
99
|
+
combined deterministic proof across every repository range and creates only
|
|
100
|
+
the missing scoped checkpoint. Release no successor until every repository
|
|
101
|
+
checkpoint in the wave is confirmed and that combined proof is current. Keep
|
|
102
|
+
all settlement state only in the ephemeral repository-keyed ledger.
|
|
103
|
+
|
|
104
|
+
Any authorized in-scope repair returns to a unique fresh implementer for the
|
|
105
|
+
affected existing ticket under that ticket's original bounded assignment and
|
|
106
|
+
no-Git boundary. Root never edits the repair itself. Root integrates the worker
|
|
107
|
+
result, reruns the affected proof, and creates a new scoped checkpoint before
|
|
108
|
+
final review resumes. New
|
|
109
|
+
behavior, ownership, scope, or ticket boundaries are a Decision Delta and stop
|
|
110
|
+
the graph.
|
|
111
|
+
|
|
112
|
+
No per-ticket delivery Review runs for graph children. Their worker proof and
|
|
113
|
+
root checkpoint gates accumulate into the one final Parent Review below.
|
|
114
|
+
|
|
115
|
+
## Recovery
|
|
116
|
+
|
|
117
|
+
After interruption, reconstruct each repository entry only from its integration
|
|
118
|
+
worktree, pinned baseline, Parent PRD, tracker, tickets, Git, and unique root
|
|
119
|
+
checkpoints. Do not trust worker narration or create duplicate durable run
|
|
120
|
+
state. Put a uniquely rediscovered checkpoint SHA in both its ordered checkpoint
|
|
121
|
+
sequence and `recovery_commits`; do not create a recovery-only commit.
|
|
122
|
+
|
|
123
|
+
If a checkpoint command result is lost, reread Git in the affected repository
|
|
124
|
+
before any retry. Accept recovery when exactly one reachable scoped commit
|
|
125
|
+
after that repository's baseline has the expected Parent-and-ticket message and
|
|
126
|
+
matching diff. Multiple matches, unexpected commits, uncertain ownership, or
|
|
127
|
+
ambiguous uncommitted or staged state fail closed. When no matching commit
|
|
128
|
+
exists and Git confirms that no checkpoint was created, mark that repository
|
|
129
|
+
checkpoint not yet created and resume the per-repository settlement path; do
|
|
130
|
+
not describe it as a failed checkpoint commit. Leave uncertain bytes untouched
|
|
131
|
+
and release no successor until the whole wave settles.
|
|
132
|
+
|
|
133
|
+
## Final Parent acceptance
|
|
134
|
+
|
|
135
|
+
After every child checkpoint and final deterministic proof are settled, pin the
|
|
136
|
+
final checkpoint and exact `baseline..final` range in every repository entry.
|
|
137
|
+
Compare the complete Parent PRD directly against all full cumulative repository
|
|
138
|
+
ranges. Do not substitute child reports, local tests, tracker state, or the
|
|
139
|
+
last child diff.
|
|
140
|
+
|
|
141
|
+
The reusable final-review mechanism launches one fresh `spec_reviewer` and one
|
|
142
|
+
fresh `standards_reviewer` in parallel on the repository-keyed set of final
|
|
143
|
+
checkpoints and ranges. Spec checks every Parent obligation against the full
|
|
144
|
+
diff and proof. Standards checks correctness, repository policy, failure paths,
|
|
145
|
+
cleanup, duplicate ownership, compatibility residue, and unnecessary machinery.
|
|
146
|
+
|
|
147
|
+
Capture both non-empty identities and complete both waits. Reviewer verdicts
|
|
148
|
+
are evidence, not authority: root verifies each finding against the Parent and
|
|
149
|
+
cumulative diff, and Parent approval exists when both independent reviews have
|
|
150
|
+
no verified blocker or required-proof gap. Generic `PASS` without direct Parent
|
|
151
|
+
coverage, failed review, and timeout remain blocking. A blocker
|
|
152
|
+
requires a concrete defect or proof gap causally linked to a Parent obligation,
|
|
153
|
+
existing invariant, or mandatory repository rule. Other findings are
|
|
154
|
+
non-blocking observations.
|
|
155
|
+
|
|
156
|
+
Before repair dispatch, root independently establishes **Authority** (the
|
|
157
|
+
Parent obligation, invariant, or rule), **Trigger**, **Impact**, and **Minimal
|
|
158
|
+
repair**. Only a finding with all four facts is a verified blocker eligible for
|
|
159
|
+
repair. When root verifies such a blocker, assign the
|
|
160
|
+
affected existing ticket to a unique fresh implementer with no Git authority.
|
|
161
|
+
Root integrates the returned repair, reruns affected target-state and combined
|
|
162
|
+
deterministic proof, creates the scoped checkpoint, pins the new revision, and
|
|
163
|
+
launches only the affected targeted lens: Spec for Parent behavior, Standards
|
|
164
|
+
for correctness or mandatory rules, and both lenses for mixed or unisolatable
|
|
165
|
+
repairs. Before relaunch, update the affected
|
|
166
|
+
repository's final checkpoint and range. Give the reviewer the previous
|
|
167
|
+
reviewed checkpoint as baseline, the repair delta, repaired blockers, directly
|
|
168
|
+
affected Parent obligations and cross-ticket seams, and current affected proof.
|
|
169
|
+
Review only the repair delta and directly affected Parent obligations.
|
|
170
|
+
Untouched parts of the cumulative result retain their approval.
|
|
171
|
+
|
|
172
|
+
Before each repair dispatch, consolidate every verified blocker from the current review
|
|
173
|
+
into one graph-final repair batch. Dispatch each affected existing ticket once
|
|
174
|
+
under its original boundary, then settle all returned checkpoints and proof
|
|
175
|
+
before targeted Review. The original Parent and ticket authority covers these
|
|
176
|
+
in-scope repairs without another user confirmation. Repeat the graph-final
|
|
177
|
+
repair and targeted Review loop until approval; reviewer count is never a stop
|
|
178
|
+
condition. Use a complete cumulative two-lens Review again only when the repair
|
|
179
|
+
cannot be isolated from previously approved scope.
|
|
180
|
+
|
|
181
|
+
Deterministic checks may prove this mechanism's contract without counting as a
|
|
182
|
+
real final-review activation. The real activation occurs only for the settled
|
|
183
|
+
final graph revision owned by the graph's final acceptance step.
|
|
184
|
+
|
|
185
|
+
Read [delegate-integrate.md](references/delegate-integrate.md) for workers,
|
|
186
|
+
waves, integration, and checkpoints; [finish-delivery.md](references/finish-delivery.md)
|
|
187
|
+
for cumulative review and authorized delivery; and
|
|
188
|
+
[stop-completion.md](references/stop-completion.md) for fail-closed recovery.
|
|
189
|
+
|
|
190
|
+
## Handoff
|
|
191
|
+
|
|
192
|
+
Report, per repository key, the integration worktree, baseline SHA, ordered
|
|
193
|
+
checkpoint and recovery-commit SHAs, final checkpoint SHA, and exact final
|
|
194
|
+
range. Also report frontier state, worker identities and write scopes,
|
|
195
|
+
dependency and overlap decisions, checkpoint messages, combined deterministic
|
|
196
|
+
results tied to repository ranges, both final review questions and the ranges
|
|
197
|
+
in the reviewer brief when activated, tracker actions, skipped checks, risks,
|
|
198
|
+
Decision Deltas, blockers, and exact Git actions. Never claim Parent completion
|
|
199
|
+
from a child checkpoint or persist the in-memory ledger as handoff state.
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
interface:
|
|
2
|
+
display_name: "Tickets Orchestrator"
|
|
3
|
+
short_description: "Coordinate approved multi-ticket graphs"
|
|
4
|
+
default_prompt: "Use $tickets-orchestrator for this approved multi-ticket graph: unique fresh child implementers, strict dependency-safe root integration, root-owned checkpoints, direct cumulative Parent proof, and independent Spec and Standards review."
|
|
5
|
+
policy:
|
|
6
|
+
allow_implicit_invocation: true
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema_version": 1,
|
|
3
|
+
"skill": "tickets-orchestrator",
|
|
4
|
+
"cases": [
|
|
5
|
+
{
|
|
6
|
+
"id": "deterministic-ticket-direct",
|
|
7
|
+
"prompt": "Deliver one authorized issue whose execution targets and proof are already deterministic.",
|
|
8
|
+
"expected": ["route the ticket to Implement", "launch exactly one fresh implementer through the single-ticket route"],
|
|
9
|
+
"forbidden": ["activate tickets-orchestrator", "manufacture a replacement planning layer"]
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
"id": "fresh-worker-assignment-and-git-owner",
|
|
13
|
+
"prompt": "Start two children in an approved graph from a clean isolated integration worktree.",
|
|
14
|
+
"expected": ["use a unique fresh implementer for every ticket", "include the complete ticket, Parent PRD, repository policy, and bounded write scope", "reserve all Git actions to root"],
|
|
15
|
+
"forbidden": ["reuse a worker context", "let a worker stage or commit", "implement a full child on root"]
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"id": "dependency-and-overlap-sequencing",
|
|
19
|
+
"prompt": "Tickets A and B touch the same owner and proof resource; ticket C is natively blocked by B.",
|
|
20
|
+
"expected": ["sequence A and B", "release C only after B and combined deterministic proof succeed"],
|
|
21
|
+
"forbidden": ["launch A and B in one wave", "release C from worker narration"]
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"id": "safe-disjoint-wave",
|
|
25
|
+
"prompt": "Two ready tickets have disjoint owners, write scopes, migrations, generated artifacts, and exclusive proof resources.",
|
|
26
|
+
"expected": ["launch both fresh workers in one parallel wave", "wait for both workers before root integration"],
|
|
27
|
+
"forbidden": ["merge ticket boundaries", "let either worker commit"]
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"id": "repository-keyed-in-memory-scheduling",
|
|
31
|
+
"prompt": "An approved graph spans two repositories with separate integration worktrees and baselines.",
|
|
32
|
+
"expected": ["keep an in-memory ledger keyed by stable repository identity", "schedule each ticket only against its repository integration worktree, baseline, and checkpoints", "keep proof ranges separate per repository"],
|
|
33
|
+
"forbidden": ["key state by worker identity", "imply one Git range across repositories", "persist workflow state"]
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"id": "worker-or-proof-failure-fails-closed",
|
|
37
|
+
"prompt": "A worker times out or fails and another worker returns stale target-state validation.",
|
|
38
|
+
"expected": ["create no affected checkpoint commit", "release no successor", "report both blockers"],
|
|
39
|
+
"forbidden": ["substitute root implementation", "accept inherited legacy tests", "continue from a partial wave"]
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"id": "root-checkpoint-order",
|
|
43
|
+
"prompt": "A wave completes successfully and its successor is ready.",
|
|
44
|
+
"expected": ["wait for worker proof", "inspect the integrated diff on root", "run rewritten target-state checks and combined deterministic proof", "commit a scoped root checkpoint naming the Parent and exact ticket issues before releasing the successor"],
|
|
45
|
+
"forbidden": ["commit from a worker", "release the successor before the checkpoint"]
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"id": "crash-before-checkpoint",
|
|
49
|
+
"prompt": "Root crashes after combined proof but before the checkpoint commit begins.",
|
|
50
|
+
"expected": ["reread the worktree and Git", "treat the ticket as uncommitted", "release no successor until the full root gate is repeated"],
|
|
51
|
+
"forbidden": ["infer a checkpoint from completed proof", "trust worker narration", "skip root diff inspection"]
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"id": "lost-checkpoint-response",
|
|
55
|
+
"prompt": "The root commit command may have succeeded, but its response was lost.",
|
|
56
|
+
"expected": ["reread Git before retrying", "accept exactly one scoped checkpoint reachable from the pinned baseline whose message names the Parent and exact tickets"],
|
|
57
|
+
"forbidden": ["blindly retry the commit", "trust worker narration", "write duplicate durable run state"]
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"id": "repository-keyed-recovery-commit",
|
|
61
|
+
"prompt": "The in-memory ledger is lost after a checkpoint response disappears in one repository of a two-repository graph.",
|
|
62
|
+
"expected": ["rebuild repository entries from authoritative sources and Git", "record the uniquely rediscovered SHA in that repository checkpoint sequence and recovery_commits", "release successors only from the reconstructed repository-scoped checkpoint"],
|
|
63
|
+
"forbidden": ["create a recovery-only commit", "recover from worker narration", "write a ledger file"]
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"id": "multi-repository-wave-partial-checkpoint-settlement",
|
|
67
|
+
"prompt": "A two-repository wave passes proof. Root confirms the checkpoint in repository A, but settlement is interrupted before repository B has a checkpoint; Git later confirms that B has no matching commit and its work may be missing.",
|
|
68
|
+
"expected": ["retain repository A's confirmed earlier checkpoint", "reconstruct both repository entries from Git and classify repository B's checkpoint as not yet created rather than a failed checkpoint commit", "revalidate intact repository B work or recreate missing work through a unique fresh implementer in B's isolated integration worktree", "rerun combined deterministic proof across every repository range and create only B's missing scoped checkpoint", "release no successor until every repository checkpoint and combined proof settle"],
|
|
69
|
+
"forbidden": ["roll back or rewrite repository A's confirmed commit", "duplicate repository A's checkpoint", "release a successor from repository A alone", "persist settlement state"]
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"id": "interrupted-or-dirty-integration",
|
|
73
|
+
"prompt": "Root is interrupted during staging and later finds ambiguous uncommitted state overlapping the ticket scope.",
|
|
74
|
+
"expected": ["leave ambiguous state untouched", "block the affected ticket", "reconstruct only from baseline, tracker, Parent, tickets, Git, and unique root checkpoints"],
|
|
75
|
+
"forbidden": ["guess ownership", "discard the state", "commit ambiguous bytes", "create duplicate workflow bookkeeping"]
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"id": "cumulative-parent-review-mechanism",
|
|
79
|
+
"prompt": "All graph checkpoints and deterministic proof are settled at one final revision.",
|
|
80
|
+
"expected": ["compare the complete Parent PRD directly to the full cumulative diff", "launch fresh Spec and Standards reviewers in parallel", "complete both independent waits and grant coordinator approval only when no verified blocker or required-proof gap remains"],
|
|
81
|
+
"forbidden": ["gate acceptance on the raw reviewer verdict", "review only the last child", "accept a generic PASS", "reuse a reviewer context", "create durable review lifecycle state"]
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"id": "repository-ranges-in-proof-review-and-handoff",
|
|
85
|
+
"prompt": "A two-repository graph is ready for final proof, reviewer briefs, and handoff.",
|
|
86
|
+
"expected": ["pin an exact baseline..final range for each repository", "give the reviewer the repository-keyed baselines, final checkpoints, ranges, and proof", "report each integration worktree, checkpoint and recovery commit, and final range in handoff"],
|
|
87
|
+
"forbidden": ["review only one repository", "omit a repository range from the reviewer brief", "persist the in-memory ledger as handoff state"]
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"id": "failed-final-review",
|
|
91
|
+
"prompt": "The Standards reviewer fails or times out.",
|
|
92
|
+
"expected": ["block Parent completion", "report the failed Standards review"],
|
|
93
|
+
"forbidden": ["replace the reviewer with root self-review", "mark the Parent complete"]
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"id": "material-repair-reviews-new-revision",
|
|
97
|
+
"prompt": "A final reviewer reports a material finding in affected existing ticket #33; root independently establishes its Authority, Trigger, Impact, and Minimal repair without widening the Parent outcome.",
|
|
98
|
+
"expected": ["classify the finding as a verified blocker only after all four facts are established", "assign ticket #33 to a unique fresh implementer with no Git authority", "have root integrate the worker repair, rerun affected target-state and combined deterministic proof, and create a new scoped checkpoint", "launch only the affected fresh targeted lens on the new revision"],
|
|
99
|
+
"forbidden": ["dispatch repair from the reviewer label alone", "have root implement the material defect", "reuse either old approval", "record a review lifecycle", "create a durable completion artifact"]
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
"id": "graph-delivery-stops-before-remote-git",
|
|
103
|
+
"prompt": "All local graph checkpoints and cumulative acceptance approve, but push and PR were not separately authorized.",
|
|
104
|
+
"expected": ["report local checkpoint state", "perform no push or PR"],
|
|
105
|
+
"forbidden": ["infer push authority", "open a PR", "mutate the tracker without authority"]
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
"id": "cumulative-final-review-repair-loop",
|
|
109
|
+
"prompt": "The cumulative graph-final Standards reviewer reports two findings with established Authority, Trigger, Impact, and Minimal repair plus one unsupported preference labeled BLOCK; the targeted reviewer later reports another finding for which root independently establishes the same four facts.",
|
|
110
|
+
"expected": [
|
|
111
|
+
"consolidate all verified current-review blockers into one graph-final repair batch",
|
|
112
|
+
"treat the unsupported preference as an observation and perform no repair for it",
|
|
113
|
+
"dispatch each affected existing ticket once through a unique fresh Gitless implementer",
|
|
114
|
+
"settle updated checkpoints and cumulative proof before only the affected fresh targeted lens",
|
|
115
|
+
"continue the repair and targeted Review loop until approval"
|
|
116
|
+
],
|
|
117
|
+
"forbidden": [
|
|
118
|
+
"run per-ticket delivery Review",
|
|
119
|
+
"treat the reviewer label as repair authority",
|
|
120
|
+
"stop because of reviewer count alone",
|
|
121
|
+
"carry approval for the changed impact cone",
|
|
122
|
+
"persist review bookkeeping"
|
|
123
|
+
]
|
|
124
|
+
}
|
|
125
|
+
]
|
|
126
|
+
}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
# Delegate And Integrate
|
|
2
|
+
|
|
3
|
+
## Fresh child ownership
|
|
4
|
+
|
|
5
|
+
Launch one unique fresh `implementer` per child. Root never keeps a ticket for
|
|
6
|
+
itself, splits one child among workers, or reuses a prior worker context. Begin
|
|
7
|
+
the assignment with `Assigned role: implementer` and provide the complete
|
|
8
|
+
ticket, complete Parent PRD, repository policy, bounded write scope and
|
|
9
|
+
exclusions, blocker state, proof, stop conditions, concurrent-work warning,
|
|
10
|
+
and no-Git boundary.
|
|
11
|
+
|
|
12
|
+
Record a non-empty identity and complete the wait for that same worker. Require
|
|
13
|
+
changed files, local proof, skipped checks, risks, Decision Deltas, overlap, and
|
|
14
|
+
blockers. Worker timeout, failure, missing identity, incomplete wait, scope
|
|
15
|
+
drift, or any staging or commit attempt blocks its ticket. Root must not finish
|
|
16
|
+
the child on the worker's behalf.
|
|
17
|
+
|
|
18
|
+
## Frontier and waves
|
|
19
|
+
|
|
20
|
+
Build readiness from authoritative native blockers and the current root
|
|
21
|
+
checkpoints. Before scheduling, resolve every ticket to one stable repository
|
|
22
|
+
key and use only that repository's in-memory integration-worktree, baseline,
|
|
23
|
+
and checkpoint entry. A successor stays blocked until its prerequisites have a
|
|
24
|
+
confirmed checkpoint in the correct repository entries and current combined
|
|
25
|
+
proof across every affected repository range.
|
|
26
|
+
|
|
27
|
+
Tickets may share one wave only when their owners, write scopes, public seams,
|
|
28
|
+
proof resources, migrations, generated artifacts, and source-of-truth
|
|
29
|
+
contracts are all disjoint. Any uncertainty or overlap forces strict
|
|
30
|
+
sequencing. Wait for the whole disjoint wave before integration.
|
|
31
|
+
|
|
32
|
+
## Root integration gate
|
|
33
|
+
|
|
34
|
+
The mandatory order is: worker completion, root diff inspection, rewritten
|
|
35
|
+
target-state checks, combined deterministic proof, root checkpoint commit,
|
|
36
|
+
then successor release.
|
|
37
|
+
|
|
38
|
+
After every wave, root:
|
|
39
|
+
|
|
40
|
+
1. verifies each worker identity, completed wait, report, and local proof;
|
|
41
|
+
2. inspects the complete integrated diff and status in every affected
|
|
42
|
+
repository-keyed integration worktree without discarding unrelated or
|
|
43
|
+
ambiguous work;
|
|
44
|
+
3. confirms every changed file belongs to exactly one authorized child scope;
|
|
45
|
+
4. runs only the rewritten targeted coordinator checks and the smallest
|
|
46
|
+
affected combined deterministic check on settled bytes;
|
|
47
|
+
5. creates no new checkpoint in an unsettled repository and releases no
|
|
48
|
+
successor on any failure or stale result, while retaining any earlier
|
|
49
|
+
repository checkpoint already confirmed for the wave; and
|
|
50
|
+
6. after all gates pass, creates one scoped root checkpoint in each affected
|
|
51
|
+
repository whose message names the Parent and exact child or wave issues,
|
|
52
|
+
confirms each from Git, appends each SHA to the matching in-memory checkpoint
|
|
53
|
+
sequence, and only then recalculates the frontier.
|
|
54
|
+
|
|
55
|
+
Proof briefs must name the repository key, integration worktree, baseline,
|
|
56
|
+
current checkpoint, and exact range being exercised. Never combine bytes from
|
|
57
|
+
different repositories into an implied single Git range. The coordinator may
|
|
58
|
+
aggregate proof outcomes in memory, but must not persist the integration ledger
|
|
59
|
+
or create bookkeeping commits.
|
|
60
|
+
|
|
61
|
+
## Multi-repository wave settlement
|
|
62
|
+
|
|
63
|
+
Checkpoint settlement is per repository even though successor release is per
|
|
64
|
+
wave. If settlement is interrupted after some repositories commit, keep every
|
|
65
|
+
confirmed earlier checkpoint and reconstruct all affected repository entries
|
|
66
|
+
from Git. Never roll back, rewrite, or duplicate a confirmed commit to make the
|
|
67
|
+
wave appear atomic.
|
|
68
|
+
|
|
69
|
+
For each repository without a confirmed checkpoint, first use Git to determine
|
|
70
|
+
whether its authorized work is intact. No matching commit means its checkpoint
|
|
71
|
+
is not yet created; it is not by itself a failed checkpoint commit. Revalidate
|
|
72
|
+
intact work in that repository's isolated integration worktree. If work is
|
|
73
|
+
missing, assign a unique fresh implementer to recreate it under the original
|
|
74
|
+
ticket scope and no-Git boundary, then integrate it there. Rerun affected
|
|
75
|
+
target-state checks and the combined deterministic proof over every repository
|
|
76
|
+
range before root creates only the missing scoped checkpoints. Release no
|
|
77
|
+
successor until every repository checkpoint for the wave is confirmed and the
|
|
78
|
+
combined proof is current. Record no settlement state outside the ephemeral
|
|
79
|
+
repository-keyed ledger.
|
|
80
|
+
|
|
81
|
+
Root never edits a repair. Every authorized in-scope defect returns to a unique
|
|
82
|
+
fresh implementer, then root reruns affected proof. A change to product behavior, ownership, scope, or ticket
|
|
83
|
+
boundaries is a Decision Delta and stops integration.
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# Finish And Deliver
|
|
2
|
+
|
|
3
|
+
## Cumulative Parent acceptance
|
|
4
|
+
|
|
5
|
+
Start only after every child has a confirmed root checkpoint, every blocker is
|
|
6
|
+
settled, every repository-keyed integration worktree is clean, and required
|
|
7
|
+
deterministic proof is current on every final checkpoint.
|
|
8
|
+
|
|
9
|
+
1. In the in-memory ledger, pin each repository's final checkpoint and exact
|
|
10
|
+
`baseline..final` range. Compare the complete Parent PRD directly against the
|
|
11
|
+
full cumulative diff for every range. Cover every Parent obligation,
|
|
12
|
+
exclusion, child interaction, and failure path.
|
|
13
|
+
2. Launch one fresh `spec_reviewer` and one fresh `standards_reviewer` in
|
|
14
|
+
parallel. Give both briefs the
|
|
15
|
+
repository-keyed map of integration worktrees, baselines, final checkpoints,
|
|
16
|
+
exact final ranges, and proof plus the Parent PRD, child graph, and repository
|
|
17
|
+
policy. Require Spec to check Parent-obligation fidelity and Standards to
|
|
18
|
+
check correctness and cleanup, each returning `APPROVE` or `BLOCK`.
|
|
19
|
+
3. Capture both non-empty identities and require both completed waits. Their
|
|
20
|
+
outputs must tie findings to every pinned final range.
|
|
21
|
+
Generic `PASS`, a partial wait, missing Parent coverage, or a failed or
|
|
22
|
+
timed-out reviewer blocks Parent completion. The reviewer verdict is
|
|
23
|
+
evidence, not authority: approval exists when the completed independent
|
|
24
|
+
review has no verified blocker or required-proof gap. A blocker requires a
|
|
25
|
+
concrete defect or proof gap causally linked to a Parent obligation,
|
|
26
|
+
existing invariant, or mandatory repository rule; other findings are
|
|
27
|
+
non-blocking observations.
|
|
28
|
+
4. Verify findings against the cumulative diff. Before repair dispatch,
|
|
29
|
+
independently establish **Authority**, **Trigger**, **Impact**, and
|
|
30
|
+
**Minimal repair**. Only a finding with all four facts is a verified blocker
|
|
31
|
+
eligible for repair. For every authorized in-scope defect,
|
|
32
|
+
assign a unique fresh implementer to the affected existing ticket under its
|
|
33
|
+
original bounded assignment and explicit no-Git boundary. Root integrates
|
|
34
|
+
the worker result, reruns affected target-state checks and combined
|
|
35
|
+
deterministic proof, creates a new scoped checkpoint, pins that revision,
|
|
36
|
+
and launches only the affected fresh targeted lens: Spec for Parent behavior,
|
|
37
|
+
Standards for correctness or mandatory rules, and both for mixed or
|
|
38
|
+
unisolatable repairs. Root never
|
|
39
|
+
edits the repair. Before relaunch, update the affected in-memory final
|
|
40
|
+
checkpoint and range. Give the reviewer the previous reviewed checkpoint
|
|
41
|
+
as baseline, the repair delta, repaired blockers, directly affected Parent
|
|
42
|
+
obligations and cross-ticket seams, and current affected proof. Review only
|
|
43
|
+
the repair delta and directly affected Parent obligations. Untouched parts of
|
|
44
|
+
the cumulative result retain their approval. Before dispatch, consolidate
|
|
45
|
+
every verified blocker from the current review into one graph-final repair batch and
|
|
46
|
+
dispatch each affected ticket once for that revision. Repeat the graph-final repair and targeted
|
|
47
|
+
Review loop until approval; reviewer count is never a stop condition, and
|
|
48
|
+
in-scope repair requires no new user confirmation. Use a complete cumulative
|
|
49
|
+
Review again only when the repair cannot be isolated from previously approved
|
|
50
|
+
scope.
|
|
51
|
+
5. No per-ticket delivery Review runs for graph children. Never substitute the
|
|
52
|
+
last child diff, checkpoint messages, child reports,
|
|
53
|
+
tracker state, or root self-review for the completed approval.
|
|
54
|
+
|
|
55
|
+
Checking the reusable launch contract with deterministic tests is not the real
|
|
56
|
+
final activation. Activate reviewers only for the graph's settled final
|
|
57
|
+
revision after all source and consumer synchronization owned by that graph is
|
|
58
|
+
complete.
|
|
59
|
+
|
|
60
|
+
## Delivery boundaries
|
|
61
|
+
|
|
62
|
+
After coordinator approval from the completed independent evidence, report
|
|
63
|
+
every repository key, integration worktree,
|
|
64
|
+
baseline, checkpoint and recovery-commit SHA, final checkpoint, exact final
|
|
65
|
+
range, direct Parent coverage, deterministic proof, reviewer identities and
|
|
66
|
+
verdicts, skipped checks, and residual risk. This is a report, not durable
|
|
67
|
+
workflow state. Reconcile tracker state only when explicitly authorized. Push,
|
|
68
|
+
PR, merge, and release each require separate authority; local graph acceptance
|
|
69
|
+
grants none of them.
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# Stop And Completion
|
|
2
|
+
|
|
3
|
+
## Fail-closed conditions
|
|
4
|
+
|
|
5
|
+
Create no new checkpoint in an unsettled repository and release no successor
|
|
6
|
+
when any of these is true. Retain any earlier repository checkpoint already
|
|
7
|
+
confirmed for a partially settled multi-repository wave:
|
|
8
|
+
|
|
9
|
+
- Parent authority, a ticket body, native blocker state, repository policy,
|
|
10
|
+
owner, write scope, exclusion, or deterministic proof is missing or
|
|
11
|
+
contradictory;
|
|
12
|
+
- a child needs a new product decision, changed ownership, changed scope, or a
|
|
13
|
+
changed ticket boundary;
|
|
14
|
+
- worker identity is missing or reused, its wait is incomplete, it times out or
|
|
15
|
+
fails, its output overlaps another owner, or it attempts a Git action;
|
|
16
|
+
- supposedly parallel children share an owner, write scope, public seam, proof
|
|
17
|
+
resource, migration, generated artifact, or source-of-truth contract;
|
|
18
|
+
- the root diff contains unexplained or dirty overlapping bytes;
|
|
19
|
+
- target-state or combined deterministic proof is missing, failed, or stale;
|
|
20
|
+
- a ticket, checkpoint, proof result, or final range cannot be assigned to
|
|
21
|
+
exactly one repository-keyed in-memory integration entry;
|
|
22
|
+
- checkpoint ownership, message, scope, or commit result is ambiguous;
|
|
23
|
+
- the final reviewer is missing, incomplete, failed, timed out, tied to another
|
|
24
|
+
revision, or does not approve; or
|
|
25
|
+
- work is interrupted while index or worktree ownership is uncertain.
|
|
26
|
+
|
|
27
|
+
## Recovery
|
|
28
|
+
|
|
29
|
+
Rebuild the lost in-memory repository ledger only from authoritative repository
|
|
30
|
+
identity, each integration worktree and pinned baseline, Parent PRD, tracker,
|
|
31
|
+
tickets, Git, and unique root checkpoints. Worker narration and uncommitted
|
|
32
|
+
state are not completion evidence. Recovery creates no additional durable
|
|
33
|
+
workflow record.
|
|
34
|
+
|
|
35
|
+
After a lost checkpoint response, reread Git in the affected repository before
|
|
36
|
+
any retry. Recover only one commit reachable from that repository's pinned
|
|
37
|
+
baseline with the expected Parent-and-ticket message and exact authorized
|
|
38
|
+
scope. Append that SHA to the matching in-memory checkpoint sequence and
|
|
39
|
+
`recovery_commits`; never create a recovery-only commit. More than one match
|
|
40
|
+
blocks the ticket. If no match exists and Git confirms no checkpoint was
|
|
41
|
+
created, classify that repository checkpoint as not yet created, not as a
|
|
42
|
+
failed checkpoint commit. Preserve confirmed checkpoints in the other
|
|
43
|
+
repositories, then revalidate intact authorized work or recreate missing work
|
|
44
|
+
through a unique fresh implementer in the affected isolated integration
|
|
45
|
+
worktree. Root reruns affected checks and combined proof and creates only the
|
|
46
|
+
missing checkpoint. Leave ambiguous staged or unstaged bytes untouched; do not
|
|
47
|
+
guess, discard, stage, commit, or release a successor. No successor is released
|
|
48
|
+
until every repository checkpoint and the combined deterministic proof settle.
|
|
49
|
+
|
|
50
|
+
## Completion standard
|
|
51
|
+
|
|
52
|
+
The graph is complete only when every child has one confirmed root checkpoint,
|
|
53
|
+
all blockers are settled, every final repository worktree boundary is clean,
|
|
54
|
+
deterministic proof is current for every exact `baseline..final` range, the
|
|
55
|
+
complete Parent PRD is proved directly against those full cumulative diffs, and
|
|
56
|
+
one fresh Spec reviewer plus one fresh Standards reviewer completed on the
|
|
57
|
+
repository-keyed range map with approval for both lenses. A child
|
|
58
|
+
checkpoint, local test result, tracker status, worker report, generic verdict,
|
|
59
|
+
or review of only the final child cannot establish Parent completion.
|
|
60
|
+
|
|
61
|
+
Report any skipped check, Decision Delta, unresolved overlap, remote Git action,
|
|
62
|
+
or tracker action honestly. Never infer push or PR authority from local graph
|
|
63
|
+
completion.
|