codex-orchestrator 2.0.10 → 2.0.12
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 +52 -0
- package/README.md +29 -30
- package/dist/src/index.d.ts +4 -9
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -5
- package/dist/src/index.js.map +1 -1
- package/dist/src/v2/acceptance-proof.d.ts +53 -25
- package/dist/src/v2/acceptance-proof.d.ts.map +1 -1
- package/dist/src/v2/acceptance-proof.js +189 -197
- 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 +7 -0
- package/dist/src/v2/adapters/command.d.ts.map +1 -1
- package/dist/src/v2/adapters/command.js +44 -3
- package/dist/src/v2/adapters/command.js.map +1 -1
- package/dist/src/v2/adapters/gh-pull-request-adapter.js +1 -0
- package/dist/src/v2/adapters/gh-pull-request-adapter.js.map +1 -1
- package/dist/src/v2/adapters/pull-requests.d.ts +1 -0
- package/dist/src/v2/adapters/pull-requests.d.ts.map +1 -1
- package/dist/src/v2/adapters/pull-requests.js +1 -0
- package/dist/src/v2/adapters/pull-requests.js.map +1 -1
- package/dist/src/v2/adapters/worktree.js +3 -3
- package/dist/src/v2/adapters/worktree.js.map +1 -1
- package/dist/src/v2/atomic-store.d.ts +15 -0
- package/dist/src/v2/atomic-store.d.ts.map +1 -1
- package/dist/src/v2/atomic-store.js +55 -8
- package/dist/src/v2/atomic-store.js.map +1 -1
- package/dist/src/v2/candidate.d.ts +136 -0
- package/dist/src/v2/candidate.d.ts.map +1 -0
- package/dist/src/v2/candidate.js +107 -0
- package/dist/src/v2/candidate.js.map +1 -0
- package/dist/src/v2/checked-change.d.ts +39 -7
- package/dist/src/v2/checked-change.d.ts.map +1 -1
- package/dist/src/v2/checked-change.js +73 -1
- 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 +14 -0
- package/dist/src/v2/cli.d.ts.map +1 -1
- package/dist/src/v2/cli.js +70 -21
- 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 -1
- package/dist/src/v2/codex-process.d.ts.map +1 -1
- package/dist/src/v2/codex-process.js +36 -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 +17 -6
- package/dist/src/v2/contained-report-operation.d.ts.map +1 -1
- package/dist/src/v2/contained-report-operation.js +11 -24
- 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 +19 -57
- package/dist/src/v2/direct-delivery.d.ts.map +1 -1
- package/dist/src/v2/direct-delivery.js +154 -211
- 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 +17 -4
- package/dist/src/v2/implementation-report.js.map +1 -1
- package/dist/src/v2/implementation-reviewer.d.ts +22 -13
- package/dist/src/v2/implementation-reviewer.d.ts.map +1 -1
- package/dist/src/v2/implementation-reviewer.js +96 -30
- package/dist/src/v2/implementation-reviewer.js.map +1 -1
- package/dist/src/v2/owner-control-lock.d.ts +13 -1
- package/dist/src/v2/owner-control-lock.d.ts.map +1 -1
- package/dist/src/v2/owner-control-lock.js +66 -7
- package/dist/src/v2/owner-control-lock.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 +4 -2
- package/dist/src/v2/proof-report.d.ts.map +1 -1
- package/dist/src/v2/proof-report.js +16 -44
- package/dist/src/v2/proof-report.js.map +1 -1
- package/dist/src/v2/review-feedback-coordinator.d.ts +8 -2
- package/dist/src/v2/review-feedback-coordinator.d.ts.map +1 -1
- package/dist/src/v2/review-feedback-coordinator.js +98 -71
- package/dist/src/v2/review-feedback-coordinator.js.map +1 -1
- package/dist/src/v2/review-feedback.d.ts +14 -38
- package/dist/src/v2/review-feedback.d.ts.map +1 -1
- package/dist/src/v2/review-feedback.js +48 -115
- package/dist/src/v2/review-feedback.js.map +1 -1
- package/dist/src/v2/run-issue.d.ts +139 -60
- package/dist/src/v2/run-issue.d.ts.map +1 -1
- package/dist/src/v2/run-issue.js +2236 -1974
- 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 +114 -82
- package/dist/src/v2/run-store.d.ts.map +1 -1
- package/dist/src/v2/run-store.js +308 -224
- 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 +52 -15
- package/dist/src/v2/runtime.d.ts.map +1 -1
- package/dist/src/v2/runtime.js +818 -348
- 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/docs/deep-dive.md +52 -14
- 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 -288
- 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 -42
- package/dist/src/v2/proof-store.d.ts.map +0 -1
- package/dist/src/v2/proof-store.js +0 -180
- 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 -77
- package/dist/src/v2/route-coordinator.d.ts.map +0 -1
- package/dist/src/v2/route-coordinator.js +0 -370
- package/dist/src/v2/route-coordinator.js.map +0 -1
- package/dist/src/v2/route-decision.d.ts +0 -129
- package/dist/src/v2/route-decision.d.ts.map +0 -1
- package/dist/src/v2/route-decision.js +0 -400
- package/dist/src/v2/route-decision.js.map +0 -1
- package/dist/src/v2/spec-coordinator.d.ts +0 -85
- package/dist/src/v2/spec-coordinator.d.ts.map +0 -1
- package/dist/src/v2/spec-coordinator.js +0 -88
- package/dist/src/v2/spec-coordinator.js.map +0 -1
- package/dist/src/v2/spec-delivery.d.ts +0 -143
- package/dist/src/v2/spec-delivery.d.ts.map +0 -1
- package/dist/src/v2/spec-delivery.js +0 -401
- 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 -332
- 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 -126
- 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
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,58 @@ The format is based on Keep a Changelog, and this project follows SemVer.
|
|
|
6
6
|
|
|
7
7
|
## [Unreleased]
|
|
8
8
|
|
|
9
|
+
## [2.0.12] - 2026-08-10
|
|
10
|
+
|
|
11
|
+
### Changed
|
|
12
|
+
- Collapsed direct, approved spec-first, product-answer, and trusted PR-feedback
|
|
13
|
+
delivery onto one Run-owned validation loop with exact Run/ActiveAttempt/
|
|
14
|
+
PendingEffect recovery, clean state-schema cutover, checked-change authority,
|
|
15
|
+
and intent-based publication.
|
|
16
|
+
- Bound packed scratch-smoke reports to a clean immutable source HEAD before
|
|
17
|
+
package creation and retained strict scratch-only cleanup.
|
|
18
|
+
|
|
19
|
+
### Removed
|
|
20
|
+
- Removed legacy qualification, Full/Closure, operation-specific invocation,
|
|
21
|
+
separate post-PR progression, compatibility/migration, and duplicate
|
|
22
|
+
lifecycle ownership paths.
|
|
23
|
+
|
|
24
|
+
## [2.0.11] - 2026-07-30
|
|
25
|
+
|
|
26
|
+
### Added
|
|
27
|
+
- Added V2 candidate-bound `CheckedChange` contracts and optional candidate Git
|
|
28
|
+
capability while preserving existing V1 payload and freshness semantics.
|
|
29
|
+
- Added run-state V3 migration with an exact raw-byte backup, pre-publication
|
|
30
|
+
rollback guard, candidate bindings, execution leases, and retained commit
|
|
31
|
+
intents for observation-only recovery.
|
|
32
|
+
|
|
33
|
+
### Changed
|
|
34
|
+
- Direct-route review, checks, and Acceptance Proof now execute from fresh
|
|
35
|
+
detached materializations of one private-index-captured, ref-pinned Git tree.
|
|
36
|
+
Publication creates and observes the exact single-parent commit from that
|
|
37
|
+
tree before push, including restart-safe branch-CAS reconciliation.
|
|
38
|
+
- Recovery across direct, report-only, mutable worker, spec-author, review, and
|
|
39
|
+
proof operations now uses one canonical attempt-owned invocation lifecycle.
|
|
40
|
+
Infrastructure failures before recoverable output do not consume semantic
|
|
41
|
+
budgets, while recovered Runner-classified output consumes its existing
|
|
42
|
+
phase budget exactly once.
|
|
43
|
+
- Replaced the generic positive-proof live-smoke scenario with an
|
|
44
|
+
`authoritative-candidate-publication` scenario that injects stale shared-index
|
|
45
|
+
content and proves exact candidate-tree publication plus pin/materialization
|
|
46
|
+
cleanup.
|
|
47
|
+
- Updated interrupted-worker live-smoke scenarios to prove bounded
|
|
48
|
+
infrastructure clearing, delayed replacement launches, no accidental
|
|
49
|
+
publication, deterministic process-absent output discard, and strict scratch
|
|
50
|
+
ownership cleanup under the canonical recovery lifecycle.
|
|
51
|
+
|
|
52
|
+
### Fixed
|
|
53
|
+
- New issue worktrees now use a freshly fetched configured remote base and are
|
|
54
|
+
created from its immutable pinned SHA. Base fetch failures remain unclaimed
|
|
55
|
+
and safely retryable.
|
|
56
|
+
|
|
57
|
+
### Removed
|
|
58
|
+
- Removed the superseded operation-specific recovery owners and parallel state
|
|
59
|
+
machines after each operation migrated to the canonical invocation lifecycle.
|
|
60
|
+
|
|
9
61
|
## [2.0.10] - 2026-07-29
|
|
10
62
|
|
|
11
63
|
### Fixed
|
package/README.md
CHANGED
|
@@ -1,16 +1,12 @@
|
|
|
1
1
|
# Codex Orchestrator
|
|
2
2
|
|
|
3
|
-
Codex Orchestrator turns
|
|
3
|
+
Codex Orchestrator turns one explicitly authorized GitHub Issue into a controlled Codex delivery run. Planning remains external. The package implements the issue in an isolated Git worktree, validates the immutable candidate, and—only after all required gates pass—pushes a branch and opens a draft pull request.
|
|
4
4
|
|
|
5
5
|
The package is designed for unattended local execution without giving the Codex worker your GitHub, SSH, npm, or cloud publication credentials. The trusted Runner owns authorization, checks, recovery, and publication; Codex owns the bounded analysis, implementation, review, and proof tasks assigned to it.
|
|
6
6
|
|
|
7
7
|
## What happens to an issue
|
|
8
8
|
|
|
9
|
-
Add the configured `agent:auto` label to an open issue, then run the orchestrator.
|
|
10
|
-
|
|
11
|
-
- **Direct delivery:** the issue is clear enough to implement. Codex changes the code, an independent review checks it, issue-scoped verification checks run, Acceptance Proof verifies the acceptance criteria, and the Runner creates a draft PR.
|
|
12
|
-
- **Specification first:** the issue is too complex for safe direct implementation. Separate Codex workers author and independently review a deterministic implementation specification; the Runner freezes the approved revision and returns `spec-frozen`. Implementation is intentionally a separate follow-up run or workflow.
|
|
13
|
-
- **Human decision required:** the repository does not contain enough authority to choose between materially different product outcomes. The package posts one precise question, applies `agent:waiting-human`, and resumes the same run after an authorized repository writer answers with the requested prefix.
|
|
9
|
+
Add the configured `agent:auto` label to an open executable issue, then run the orchestrator. That label authorizes only that issue. The lifecycle is `implementation → affected checks → Acceptance Proof → Review → publication`. A product or ownership decision gap is returned as an issue-local blocker for external Plan; the package does not create a PRD, spec, or ticket graph.
|
|
14
10
|
|
|
15
11
|
Ordinary technical choices do not stop the run. A human question is reserved for real product ambiguity.
|
|
16
12
|
|
|
@@ -40,7 +36,7 @@ npx codex-orchestrator setup --target "$PWD" --prepare-labels
|
|
|
40
36
|
npx codex-orchestrator doctor --target "$PWD"
|
|
41
37
|
```
|
|
42
38
|
|
|
43
|
-
`setup`
|
|
39
|
+
`setup` derives the base branch only from `origin/HEAD`. When an agent performs setup, it must show that detected branch and obtain explicit user confirmation before running the mutating setup command. If repository inference is not possible, provide both repository fields:
|
|
44
40
|
|
|
45
41
|
```sh
|
|
46
42
|
npx codex-orchestrator setup \
|
|
@@ -57,7 +53,7 @@ Now create or choose a clear GitHub Issue, include acceptance criteria when poss
|
|
|
57
53
|
npx codex-orchestrator run --target "$PWD" --issue 123
|
|
58
54
|
```
|
|
59
55
|
|
|
60
|
-
The command prints one JSON result.
|
|
56
|
+
The command prints one JSON result. Successful delivery returns `review-ready` with the draft PR URL. Decision, authority, preservation, and proof boundaries return a precise blocked result with evidence.
|
|
61
57
|
|
|
62
58
|
## Main commands
|
|
63
59
|
|
|
@@ -106,6 +102,8 @@ npx codex-orchestrator run --target "$PWD" --issue 123
|
|
|
106
102
|
|
|
107
103
|
Repeated calls do not start an unrelated second run. The Runner reads durable state, reconciles unfinished effects, revalidates issue authorization, and continues only when ownership and process state are safe.
|
|
108
104
|
|
|
105
|
+
Before a new run is claimed, the Runner fetches only the configured remote base branch, pins its exact commit, and creates the issue worktree from that immutable SHA. A temporary fetch failure remains unclaimed and safely retryable; existing runs keep their already-persisted base SHA.
|
|
106
|
+
|
|
109
107
|
### `daemon`
|
|
110
108
|
|
|
111
109
|
Poll for open issues carrying `agent:auto` and process them serially:
|
|
@@ -128,16 +126,17 @@ The daemon uses the same lifecycle as `run`; it does not have a less strict exec
|
|
|
128
126
|
|
|
129
127
|
### Continue from pull-request review feedback
|
|
130
128
|
|
|
131
|
-
After a
|
|
132
|
-
with `agent:review`. A quiet PR remains effect-free. When the same
|
|
133
|
-
same-repository draft PR receives a new unresolved inline thread
|
|
134
|
-
non-empty `CHANGES_REQUESTED` review from a current repository writer
|
|
135
|
-
the Runner freezes that exact feedback batch and resumes the existing
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
129
|
+
After a run reaches `review-ready`, the daemon also
|
|
130
|
+
polls issues with `agent:review`. A quiet PR remains effect-free. When the same
|
|
131
|
+
marker-bound, same-repository draft PR receives a new unresolved inline thread
|
|
132
|
+
root or a non-empty `CHANGES_REQUESTED` review from a current repository writer
|
|
133
|
+
or admin, the Runner freezes that exact feedback batch and resumes the existing
|
|
134
|
+
run through the same targeted repair lifecycle.
|
|
135
|
+
|
|
136
|
+
The frozen batch enters the same implementation → affected checks → proof →
|
|
137
|
+
targeted independent review loop used by in-scope repair. The reviewer receives
|
|
138
|
+
the previous revision, repair delta, blocker IDs, direct impact cone, and affected
|
|
139
|
+
proof. There is no semantic round limit. Publication appends one fast-forward
|
|
141
140
|
commit to the existing branch and PR; divergence blocks without reset, rebase,
|
|
142
141
|
amend, or force-push recovery.
|
|
143
142
|
|
|
@@ -156,8 +155,7 @@ The default labels are:
|
|
|
156
155
|
| --- | --- |
|
|
157
156
|
| `agent:auto` | The issue is authorized for orchestration. |
|
|
158
157
|
| `agent:running` | A Runner has claimed the issue. |
|
|
159
|
-
| `agent:
|
|
160
|
-
| `agent:blocked` | The run stopped on an external, safety, or exhausted-budget blocker. |
|
|
158
|
+
| `agent:blocked` | The run stopped on an authority, external, preservation, proof, or safety boundary. |
|
|
161
159
|
| `agent:review` | The branch and draft PR passed the delivery gates and are ready for human review. |
|
|
162
160
|
|
|
163
161
|
Important command results:
|
|
@@ -165,8 +163,7 @@ Important command results:
|
|
|
165
163
|
| Result | What to do |
|
|
166
164
|
| --- | --- |
|
|
167
165
|
| `review-ready` | Open the returned draft PR URL and review the change; later trusted unresolved feedback may resume the same run and PR. |
|
|
168
|
-
| `
|
|
169
|
-
| `awaiting-user` | Reply to the issue using the returned answer prefix. Re-run the command or let the daemon pick it up. |
|
|
166
|
+
| `repair-ready` | The semantic repair batch is durably ready. Run one more bounded CLI call or daemon tick; live smoke continues only up to its fixed limit. |
|
|
170
167
|
| `not-eligible` | Check that the issue is open, has only the appropriate authorization label, and has no existing open PR for its branch. |
|
|
171
168
|
| `requeued` | Another known Runner owns the repository; retry later. |
|
|
172
169
|
| `blocked` | Read `kind`, `resumable`, and `evidencePath`; fix the external condition only when the evidence says it is safe to resume. |
|
|
@@ -181,18 +178,16 @@ All outcomes include structured evidence or a path to local evidence. Quiet term
|
|
|
181
178
|
- `github.baseBranch` and `github.labels`: where completed branches target and which labels control the workflow.
|
|
182
179
|
- `runner.pollIntervalSeconds`: daemon polling interval.
|
|
183
180
|
- `checks`: finite fallback commands for issues without a command-only
|
|
184
|
-
`Verification:` section.
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
durably recoverable across daemon restarts. Final checks must all pass;
|
|
189
|
-
failures are never accepted by comparing output hashes.
|
|
181
|
+
`Verification:` section. They run before Review against the immutable candidate.
|
|
182
|
+
A failed check becomes a bounded finding for the next implementation cycle;
|
|
183
|
+
there is no qualification operation or separate retry coordinator. Final
|
|
184
|
+
checks must all pass; failures are never accepted by comparing output hashes.
|
|
190
185
|
- `proof.artifactDir`: repository-relative location for proof artifacts inside the run worktree.
|
|
191
186
|
- `proof.android`: optional Runner-owned Android recipe. It selects `avdName`, creates an ephemeral clean data directory, requires fixed `build apk` arguments, removes any old `apkPath`, snapshots a fresh no-symlink APK outside the worker-writable tree, and binds its digest to the checked change. It installs and launches that exact snapshot, repeatedly verifies emulator process identity, waits up to `navigationTimeoutMs` for each exact `tapText` accessibility label, and captures proof-bound screenshot, hierarchy, PID log, and lease artifacts. Commands are bounded, cancellable, and process-group quiescent; URI query/fragment credentials are rejected. The contained proof worker never receives `adb`, emulator, Flutter, or durable lease authority. Emulator or Android-tool startup failure is retained as an explicit unfinished-UI-proof warning and does not by itself block delivery.
|
|
192
187
|
- `deny.readPaths`: paths the worker must not read or modify.
|
|
193
188
|
- `deny.commands`: absolute command paths that must not be exposed to the worker.
|
|
194
189
|
|
|
195
|
-
|
|
190
|
+
The branch template and containment settings are fixed policy in the current schema rather than open-ended tuning knobs. Semantic repair counts are not stop conditions. There is no configured Codex version pin or local certification step: the Runner uses the installed `codex` command and applies the fixed sandbox, environment, network, and authority restrictions to every worker invocation.
|
|
196
191
|
|
|
197
192
|
## Safety model in plain language
|
|
198
193
|
|
|
@@ -216,6 +211,10 @@ npm pack --dry-run --json
|
|
|
216
211
|
|
|
217
212
|
`npm run refresh:workflow` rebuilds the package-owned workflow inventory from the explicit allowlist in `scripts/agent-auto-workflow-source.json`, validates operation bindings, and runs focused contract tests. `npm run check:workflow` is the non-writing drift check; `npm run verify:workflow` verifies the committed generated workflow without reading local skills.
|
|
218
213
|
|
|
214
|
+
Packaged skill eval files are static target scenarios. Workflow refresh and
|
|
215
|
+
package tests validate their schema, uniqueness, and exact generated bytes;
|
|
216
|
+
they never launch Codex or a real agent.
|
|
217
|
+
|
|
219
218
|
`npm run smoke:live` packs the current package and mutates a configured scratch GitHub repository. Run it only when live smoke was explicitly requested. Releases are published by the GitHub release workflow after the release commit reaches `main`; do not run `npm publish` manually unless that workflow is unavailable.
|
|
220
219
|
|
|
221
|
-
|
|
220
|
+
Human maintainers can find the complete lifecycle, state machine, containment boundary, retry budgets, review flow, proof contracts, and publication recovery model in [docs/deep-dive.md](docs/deep-dive.md). That guide is not agent context. For live release scenarios, see [docs/live-smoke-checklist.md](docs/live-smoke-checklist.md).
|
package/dist/src/index.d.ts
CHANGED
|
@@ -1,15 +1,12 @@
|
|
|
1
|
-
export { AcceptanceProof
|
|
1
|
+
export { AcceptanceProof } from './v2/acceptance-proof.js';
|
|
2
2
|
export type { FrozenCriterion, IssueSnapshot, ProveChangeResult, ProofAgent, ProofAgentResult } from './v2/acceptance-proof.js';
|
|
3
3
|
export { createCheckedChangeCapabilities, checkedChangeFreshnessMatches, checkedChangePayloadSha256 } from './v2/checked-change.js';
|
|
4
|
-
export type { CheckedChange, CheckedChangeFreshness, CheckedChangePayloadV1 } from './v2/checked-change.js';
|
|
5
|
-
export {
|
|
4
|
+
export type { CheckedChange, CheckedChangeCandidateFreshness, CheckedChangeFreshness, CheckedChangeFreshnessAny, CheckedChangePayload, CheckedChangePayloadV1, CheckedChangePayloadV2, } from './v2/checked-change.js';
|
|
5
|
+
export type { CandidateBindingV2, CandidateBoundaryV2, CandidateMaterializationV2, CandidateGitV2, CandidateOperationFailureCode, CandidateResult, } from './v2/candidate.js';
|
|
6
|
+
export { codeReviewReportOutputSchema, hashCodeReviewReport, validateCodeReviewDefects, validateCodeReviewReport } from './v2/code-review-report.js';
|
|
6
7
|
export type { CodeReviewDefectV1, CodeReviewReportV1, CodeReviewValidationContext } from './v2/code-review-report.js';
|
|
7
8
|
export { ContainedImplementationReviewer } from './v2/implementation-reviewer.js';
|
|
8
9
|
export type { ImplementationReviewerInput, ImplementationReviewerResult } from './v2/implementation-reviewer.js';
|
|
9
|
-
export { SpecCoordinator } from './v2/spec-coordinator.js';
|
|
10
|
-
export type { SpecCoordinatorResult, SpecDeliveryOperation, SpecDeliveryState } from './v2/spec-coordinator.js';
|
|
11
|
-
export { createInitialSpecDelivery, createSpecRevision, freezeApprovedSpec, validateFrozenSpecReceipt, validateSpecDelivery } from './v2/spec-delivery.js';
|
|
12
|
-
export type { FrozenSpecReceiptV1, SpecDeliveryV1, SpecReviewReportV1, SpecRevisionV1 } from './v2/spec-delivery.js';
|
|
13
10
|
export { parseAgentAutoConfig } from './v2/config.js';
|
|
14
11
|
export type { AgentAutoConfig } from './v2/config.js';
|
|
15
12
|
export { validateImplementationReport } from './v2/implementation-report.js';
|
|
@@ -22,6 +19,4 @@ export { createV2Runtime } from './v2/runtime.js';
|
|
|
22
19
|
export type { V2Runtime } from './v2/runtime.js';
|
|
23
20
|
export { Setup } from './v2/setup.js';
|
|
24
21
|
export type { SetupIntent, SetupOutcome } from './v2/setup.js';
|
|
25
|
-
export { createWaitingQuestion, normalizeAnswer, renderWaitingQuestionBody } from './v2/waiting-human.js';
|
|
26
|
-
export type { TrustedAnswerReceiptV1, WaitingHumanExecutionV1, WaitingQuestionReceiptV1, WaitingQuestionV1 } from './v2/waiting-human.js';
|
|
27
22
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,iBAAiB,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAChI,OAAO,EAAE,+BAA+B,EAAE,6BAA6B,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AACpI,YAAY,EACV,aAAa,EACb,+BAA+B,EAC/B,sBAAsB,EACtB,yBAAyB,EACzB,oBAAoB,EACpB,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,wBAAwB,CAAC;AAChC,YAAY,EACV,kBAAkB,EAClB,mBAAmB,EACnB,0BAA0B,EAC1B,cAAc,EACd,6BAA6B,EAC7B,eAAe,GAChB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,4BAA4B,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACrJ,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AACtH,OAAO,EAAE,+BAA+B,EAAE,MAAM,iCAAiC,CAAC;AAClF,YAAY,EAAE,2BAA2B,EAAE,4BAA4B,EAAE,MAAM,iCAAiC,CAAC;AACjH,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AAC7E,YAAY,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,YAAY,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,YAAY,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC"}
|
package/dist/src/index.js
CHANGED
|
@@ -1,14 +1,11 @@
|
|
|
1
|
-
export { AcceptanceProof
|
|
1
|
+
export { AcceptanceProof } from './v2/acceptance-proof.js';
|
|
2
2
|
export { createCheckedChangeCapabilities, checkedChangeFreshnessMatches, checkedChangePayloadSha256 } from './v2/checked-change.js';
|
|
3
|
-
export { codeReviewReportOutputSchema,
|
|
3
|
+
export { codeReviewReportOutputSchema, hashCodeReviewReport, validateCodeReviewDefects, validateCodeReviewReport } from './v2/code-review-report.js';
|
|
4
4
|
export { ContainedImplementationReviewer } from './v2/implementation-reviewer.js';
|
|
5
|
-
export { SpecCoordinator } from './v2/spec-coordinator.js';
|
|
6
|
-
export { createInitialSpecDelivery, createSpecRevision, freezeApprovedSpec, validateFrozenSpecReceipt, validateSpecDelivery } from './v2/spec-delivery.js';
|
|
7
5
|
export { parseAgentAutoConfig } from './v2/config.js';
|
|
8
6
|
export { validateImplementationReport } from './v2/implementation-report.js';
|
|
9
7
|
export { validateProofReport } from './v2/proof-report.js';
|
|
10
8
|
export { RunIssue } from './v2/run-issue.js';
|
|
11
9
|
export { createV2Runtime } from './v2/runtime.js';
|
|
12
10
|
export { Setup } from './v2/setup.js';
|
|
13
|
-
export { createWaitingQuestion, normalizeAnswer, renderWaitingQuestionBody } from './v2/waiting-human.js';
|
|
14
11
|
//# sourceMappingURL=index.js.map
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAE3D,OAAO,EAAE,+BAA+B,EAAE,6BAA6B,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AAkBpI,OAAO,EAAE,4BAA4B,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAErJ,OAAO,EAAE,+BAA+B,EAAE,MAAM,iCAAiC,CAAC;AAElF,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAEtD,OAAO,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AAE7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { type CheckedChange, type
|
|
1
|
+
import { type CheckedChange, type CheckedChangeFreshnessAny, type CheckedChangePayload, type CheckedChangePayloadV1, type CheckedChangeReadCapability } from './checked-change.js';
|
|
2
|
+
import type { CandidateMaterializationV2 } from './candidate.js';
|
|
2
3
|
import { type ProofReceipt } from './proof-report.js';
|
|
3
|
-
import type { ProofRecordWriter } from './proof-store.js';
|
|
4
4
|
import type { AndroidLeaseVerifier, IosLeaseVerifier } from './mobile-lease.js';
|
|
5
5
|
import type { WorkflowGenerationReceipt } from './workflow-assets.js';
|
|
6
6
|
export interface IssueSnapshot {
|
|
@@ -18,14 +18,17 @@ export interface FrozenCriterion {
|
|
|
18
18
|
text: string;
|
|
19
19
|
}
|
|
20
20
|
export interface ExternalBlocker {
|
|
21
|
-
kind: 'credential' | 'tool' | 'service' | '
|
|
21
|
+
kind: 'credential' | 'tool' | 'service' | 'decision-delta' | 'out-of-scope' | 'authority-boundary';
|
|
22
22
|
summary: string;
|
|
23
23
|
attempted: string[];
|
|
24
|
+
resumable: boolean;
|
|
24
25
|
}
|
|
25
26
|
export type ProofAgentResult = {
|
|
26
27
|
kind: 'report';
|
|
27
28
|
report: unknown;
|
|
28
29
|
proofPhaseChangedFiles: string[];
|
|
30
|
+
} | {
|
|
31
|
+
kind: 'safe-halt';
|
|
29
32
|
} | {
|
|
30
33
|
kind: 'transport-failed';
|
|
31
34
|
resumable: boolean;
|
|
@@ -34,15 +37,23 @@ export type ProofAgentResult = {
|
|
|
34
37
|
} | {
|
|
35
38
|
kind: 'internal-error';
|
|
36
39
|
};
|
|
37
|
-
export interface ProofAgent {
|
|
40
|
+
export interface ProofAgent<TPayload extends CheckedChangePayload = CheckedChangePayloadV1> {
|
|
38
41
|
run(input: {
|
|
42
|
+
attemptId: string;
|
|
43
|
+
recoverOnly?: boolean;
|
|
39
44
|
proofId: string;
|
|
40
45
|
runId: string;
|
|
41
46
|
issue: IssueSnapshot;
|
|
42
47
|
frozenCriteria: FrozenCriterion[];
|
|
43
48
|
checkedChangeSha256: string;
|
|
44
49
|
changedFiles: string[];
|
|
45
|
-
checks:
|
|
50
|
+
checks: TPayload['checks'];
|
|
51
|
+
worktreePath?: string;
|
|
52
|
+
onLaunched?: (input: {
|
|
53
|
+
pid: number;
|
|
54
|
+
processGroupId: number;
|
|
55
|
+
launchedAt: string;
|
|
56
|
+
}) => Promise<void>;
|
|
46
57
|
runnerPreparedArtifactPaths: string[];
|
|
47
58
|
runnerPreparedArtifactSha256: Record<string, string>;
|
|
48
59
|
runnerPreparationWarnings: string[];
|
|
@@ -52,17 +63,15 @@ export interface ProofAgent {
|
|
|
52
63
|
signal: AbortSignal;
|
|
53
64
|
}): Promise<ProofAgentResult>;
|
|
54
65
|
}
|
|
55
|
-
export declare class
|
|
56
|
-
readonly
|
|
57
|
-
|
|
58
|
-
readonly waitForAbsence: () => Promise<void>;
|
|
59
|
-
constructor(pid: number, processGroupId: number, waitForAbsence: () => Promise<void>);
|
|
66
|
+
export declare class CandidateProofInspectionError extends Error {
|
|
67
|
+
readonly code: string;
|
|
68
|
+
constructor(code: string);
|
|
60
69
|
}
|
|
61
70
|
export declare class ProofLaunchAuthorizationError extends Error {
|
|
62
71
|
readonly outcome: unknown;
|
|
63
72
|
constructor(outcome: unknown);
|
|
64
73
|
}
|
|
65
|
-
export type
|
|
74
|
+
export type SettledProveChangeResult = {
|
|
66
75
|
status: 'passed';
|
|
67
76
|
receipt: ProofReceipt;
|
|
68
77
|
} | {
|
|
@@ -75,7 +84,7 @@ export type ProveChangeResult = {
|
|
|
75
84
|
receipt: ProofReceipt;
|
|
76
85
|
} | {
|
|
77
86
|
status: 'transport-failed';
|
|
78
|
-
resumable:
|
|
87
|
+
resumable: false;
|
|
79
88
|
receipt: ProofReceipt;
|
|
80
89
|
} | {
|
|
81
90
|
status: 'cancelled';
|
|
@@ -84,13 +93,25 @@ export type ProveChangeResult = {
|
|
|
84
93
|
status: 'internal-error';
|
|
85
94
|
receipt: ProofReceipt;
|
|
86
95
|
};
|
|
87
|
-
export
|
|
96
|
+
export type ProveChangeResult = SettledProveChangeResult | {
|
|
97
|
+
status: 'safe-halt';
|
|
98
|
+
} | {
|
|
99
|
+
status: 'transport-failed';
|
|
100
|
+
resumable: true;
|
|
101
|
+
} | {
|
|
102
|
+
status: 'report-repair';
|
|
103
|
+
reportRepairCount: number;
|
|
104
|
+
findings: string[];
|
|
105
|
+
} | {
|
|
106
|
+
status: 'cleanup-pending';
|
|
107
|
+
outcome: SettledProveChangeResult;
|
|
108
|
+
};
|
|
109
|
+
export declare class AcceptanceProof<TPayload extends CheckedChangePayload = CheckedChangePayloadV1> {
|
|
88
110
|
private readonly dependencies;
|
|
89
111
|
constructor(dependencies: {
|
|
90
112
|
checkedChangeReader: CheckedChangeReadCapability;
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
inspectFreshness: (payload: CheckedChangePayloadV1) => Promise<CheckedChangeFreshness>;
|
|
113
|
+
proofAgent: ProofAgent<TPayload>;
|
|
114
|
+
inspectFreshness: (payload: TPayload, materialization?: CandidateMaterializationV2) => Promise<CheckedChangeFreshnessAny>;
|
|
94
115
|
readArtifact: (relativePath: string) => Promise<Buffer>;
|
|
95
116
|
inspectArtifact?: (relativePath: string) => Promise<{
|
|
96
117
|
modifiedAt: string;
|
|
@@ -98,29 +119,36 @@ export declare class AcceptanceProof {
|
|
|
98
119
|
androidLease?: AndroidLeaseVerifier;
|
|
99
120
|
iosLease?: IosLeaseVerifier;
|
|
100
121
|
proofArtifactDir: string;
|
|
101
|
-
createAttemptId: () => string;
|
|
102
|
-
now: () => string;
|
|
103
122
|
signal?: AbortSignal;
|
|
104
123
|
});
|
|
124
|
+
cleanupMobileLeases(proofId: string): Promise<void>;
|
|
105
125
|
proveChange(input: {
|
|
106
126
|
proofId: string;
|
|
127
|
+
attemptId: string;
|
|
128
|
+
recoverOnly: boolean;
|
|
129
|
+
proofStartedAt: string;
|
|
130
|
+
transportRetryCount: number;
|
|
131
|
+
reportRepairCount: number;
|
|
132
|
+
reportRepairFindings: string[];
|
|
133
|
+
passedReceipt?: ProofReceipt;
|
|
107
134
|
issue: IssueSnapshot;
|
|
108
135
|
frozenCriteria: FrozenCriterion[];
|
|
109
|
-
checkedChange: CheckedChange
|
|
136
|
+
checkedChange: CheckedChange<TPayload>;
|
|
137
|
+
materialization?: CandidateMaterializationV2;
|
|
110
138
|
workflowGeneration?: WorkflowGenerationReceipt;
|
|
111
139
|
beforeAgentLaunch?: () => Promise<void>;
|
|
140
|
+
onLaunched?: (input: {
|
|
141
|
+
pid: number;
|
|
142
|
+
processGroupId: number;
|
|
143
|
+
launchedAt: string;
|
|
144
|
+
}) => Promise<void>;
|
|
112
145
|
runnerPreparedArtifactPaths?: string[];
|
|
113
146
|
runnerPreparedArtifactSha256?: Record<string, string>;
|
|
114
147
|
runnerPreparationWarnings?: string[];
|
|
115
148
|
}): Promise<ProveChangeResult>;
|
|
116
149
|
private execute;
|
|
117
150
|
private validateArtifactsAndDiff;
|
|
118
|
-
private releaseMobileLeasesIfSettled;
|
|
119
|
-
private releaseMobileLeases;
|
|
120
|
-
private startProofRetry;
|
|
121
151
|
private isFresh;
|
|
122
|
-
private
|
|
123
|
-
private persistTerminal;
|
|
124
|
-
private timestamp;
|
|
152
|
+
private settle;
|
|
125
153
|
}
|
|
126
154
|
//# sourceMappingURL=acceptance-proof.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acceptance-proof.d.ts","sourceRoot":"","sources":["../../../src/v2/acceptance-proof.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,
|
|
1
|
+
{"version":3,"file":"acceptance-proof.d.ts","sourceRoot":"","sources":["../../../src/v2/acceptance-proof.ts"],"names":[],"mappings":"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"}
|