codex-workflow-v2 2.0.0-beta.13.8 → 2.0.0-beta.14
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/README.md +27 -388
- package/dist/reviewer-runtime-build.json +96 -32
- package/dist/src/alpha6/adoption.d.ts +2 -0
- package/dist/src/alpha6/adoption.js +22 -0
- package/dist/src/alpha6/adoption.js.map +1 -1
- package/dist/src/alpha6/captured-check-evidence.d.ts +51 -0
- package/dist/src/alpha6/captured-check-evidence.js +152 -0
- package/dist/src/alpha6/captured-check-evidence.js.map +1 -0
- package/dist/src/alpha6/component-owner.d.ts +15 -1
- package/dist/src/alpha6/component-owner.js +44 -2
- package/dist/src/alpha6/component-owner.js.map +1 -1
- package/dist/src/alpha6/corrective-decision-boundary.d.ts +4 -0
- package/dist/src/alpha6/corrective-decision-boundary.js +47 -0
- package/dist/src/alpha6/corrective-decision-boundary.js.map +1 -0
- package/dist/src/alpha6/downstream-proof.d.ts +1 -25
- package/dist/src/alpha6/downstream-proof.js +0 -171
- package/dist/src/alpha6/downstream-proof.js.map +1 -1
- package/dist/src/alpha6/failed-step-planning-recovery.d.ts +10 -0
- package/dist/src/alpha6/failed-step-planning-recovery.js +93 -0
- package/dist/src/alpha6/failed-step-planning-recovery.js.map +1 -0
- package/dist/src/alpha6/literal-test-invocation.d.ts +2 -0
- package/dist/src/alpha6/literal-test-invocation.js +106 -0
- package/dist/src/alpha6/literal-test-invocation.js.map +1 -0
- package/dist/src/alpha6/milestone.d.ts +2 -0
- package/dist/src/alpha6/milestone.js +10 -1
- package/dist/src/alpha6/milestone.js.map +1 -1
- package/dist/src/alpha6/navigation-dirty-carryover.d.ts +11 -0
- package/dist/src/alpha6/navigation-dirty-carryover.js +130 -0
- package/dist/src/alpha6/navigation-dirty-carryover.js.map +1 -0
- package/dist/src/alpha6/plan-integrity.js +7 -5
- package/dist/src/alpha6/plan-integrity.js.map +1 -1
- package/dist/src/alpha6/plan-risk.d.ts +2 -0
- package/dist/src/alpha6/plan-risk.js +10 -3
- package/dist/src/alpha6/plan-risk.js.map +1 -1
- package/dist/src/alpha6/remediation.d.ts +6 -21
- package/dist/src/alpha6/remediation.js +161 -476
- package/dist/src/alpha6/remediation.js.map +1 -1
- package/dist/src/alpha6/root-cause-replan-carryover.d.ts +4 -1
- package/dist/src/alpha6/root-cause-replan-carryover.js +29 -5
- package/dist/src/alpha6/root-cause-replan-carryover.js.map +1 -1
- package/dist/src/beta1/project-transaction.d.ts +3 -1
- package/dist/src/beta1/project-transaction.js +6 -2
- package/dist/src/beta1/project-transaction.js.map +1 -1
- package/dist/src/checks/runner.d.ts +26 -0
- package/dist/src/checks/runner.js +223 -0
- package/dist/src/checks/runner.js.map +1 -0
- package/dist/src/checks/task-sync.d.ts +10 -0
- package/dist/src/checks/task-sync.js +41 -0
- package/dist/src/checks/task-sync.js.map +1 -0
- package/dist/src/checks/worker.d.ts +1 -0
- package/dist/src/checks/worker.js +154 -0
- package/dist/src/checks/worker.js.map +1 -0
- package/dist/src/cli-actions.d.ts +2 -2
- package/dist/src/cli-actions.js +3 -15
- package/dist/src/cli-actions.js.map +1 -1
- package/dist/src/cli.js +14 -98
- package/dist/src/cli.js.map +1 -1
- package/dist/src/contracts.d.ts +35 -32
- package/dist/src/dependency-provenance.d.ts +2 -2
- package/dist/src/dependency-provenance.js +12 -69
- package/dist/src/dependency-provenance.js.map +1 -1
- package/dist/src/domain/base-sync-conflict.d.ts +13 -0
- package/dist/src/domain/base-sync-conflict.js +32 -0
- package/dist/src/domain/base-sync-conflict.js.map +1 -0
- package/dist/src/domain/step-start-admission.d.ts +4 -0
- package/dist/src/domain/step-start-admission.js +9 -0
- package/dist/src/domain/step-start-admission.js.map +1 -0
- package/dist/src/domain/virgin-registration.d.ts +3 -0
- package/dist/src/domain/virgin-registration.js +65 -0
- package/dist/src/domain/virgin-registration.js.map +1 -0
- package/dist/src/errors.d.ts +1 -1
- package/dist/src/errors.js.map +1 -1
- package/dist/src/gateway-handshake.js +0 -8
- package/dist/src/gateway-handshake.js.map +1 -1
- package/dist/src/git.d.ts +3 -1
- package/dist/src/git.js +41 -14
- package/dist/src/git.js.map +1 -1
- package/dist/src/graph.js +25 -3
- package/dist/src/graph.js.map +1 -1
- package/dist/src/index.d.ts +1 -0
- package/dist/src/lifecycle/corrective-replan.js +3 -3
- package/dist/src/lifecycle/corrective-replan.js.map +1 -1
- package/dist/src/navigation-actions.d.ts +9 -0
- package/dist/src/navigation-actions.js +72 -0
- package/dist/src/navigation-actions.js.map +1 -0
- package/dist/src/navigation-update-artifact.d.ts +5 -0
- package/dist/src/navigation-update-artifact.js +227 -0
- package/dist/src/navigation-update-artifact.js.map +1 -0
- package/dist/src/navigation-update.d.ts +39 -0
- package/dist/src/navigation-update.js +82 -0
- package/dist/src/navigation-update.js.map +1 -0
- package/dist/src/observation.js +52 -29
- package/dist/src/observation.js.map +1 -1
- package/dist/src/observed-routes.js +5 -6
- package/dist/src/observed-routes.js.map +1 -1
- package/dist/src/pending-review-update.d.ts +0 -13
- package/dist/src/pending-review-update.js +1 -6
- package/dist/src/pending-review-update.js.map +1 -1
- package/dist/src/reviewer.d.ts +1 -1
- package/dist/src/reviewer.js +20 -17
- package/dist/src/reviewer.js.map +1 -1
- package/dist/src/runtime.d.ts +3 -0
- package/dist/src/runtime.js +6 -0
- package/dist/src/runtime.js.map +1 -0
- package/dist/src/state/corrective-replan-executor.d.ts +10 -0
- package/dist/src/state/corrective-replan-executor.js +37 -1
- package/dist/src/state/corrective-replan-executor.js.map +1 -1
- package/dist/src/state/corrective-replan-public-schema.js +15 -2
- package/dist/src/state/corrective-replan-public-schema.js.map +1 -1
- package/dist/src/state/corrective-replan-public.js +6 -5
- package/dist/src/state/corrective-replan-public.js.map +1 -1
- package/dist/src/state/corrective-replan-transaction.d.ts +1 -0
- package/dist/src/state/corrective-replan-transaction.js +12 -11
- package/dist/src/state/corrective-replan-transaction.js.map +1 -1
- package/dist/src/state/corrective-yield-executor.js +2 -2
- package/dist/src/state/corrective-yield-executor.js.map +1 -1
- package/dist/src/state/corrective-yield-transaction.d.ts +1 -0
- package/dist/src/state/corrective-yield-transaction.js +11 -10
- package/dist/src/state/corrective-yield-transaction.js.map +1 -1
- package/dist/src/state/lock.d.ts +4 -0
- package/dist/src/state/lock.js +21 -0
- package/dist/src/state/lock.js.map +1 -1
- package/dist/src/version.d.ts +1 -1
- package/dist/src/version.js +1 -1
- package/dist/src/version.js.map +1 -1
- package/dist/src/workflow-blocker-route.d.ts +8 -0
- package/dist/src/workflow-blocker-route.js +106 -0
- package/dist/src/workflow-blocker-route.js.map +1 -0
- package/dist/src/workflow.d.ts +48 -63
- package/dist/src/workflow.js +698 -1470
- package/dist/src/workflow.js.map +1 -1
- package/docs/autonomy-guardrails.md +26 -304
- package/docs/decisions.md +14 -112
- package/docs/development-flow.md +35 -238
- package/docs/project-memory.md +31 -50
- package/docs/release-app-evidence.md +190 -0
- package/docs/release.md +95 -363
- package/docs/updating-existing-project.md +19 -717
- package/package.json +11 -13
- package/plugins/codex-workflow-gateway/.codex-plugin/plugin.json +2 -2
- package/plugins/codex-workflow-gateway/references/chat-dispatch.md +73 -197
- package/plugins/codex-workflow-gateway/references/codebase-memory-routing.md +57 -0
- package/plugins/codex-workflow-gateway/references/protocol.md +42 -445
- package/plugins/codex-workflow-gateway/scripts/chat-dispatch.mjs +7 -1
- package/plugins/codex-workflow-gateway/scripts/chat-model-policy.mjs +10 -8
- package/plugins/codex-workflow-gateway/scripts/chat-registry.mjs +23 -5
- package/plugins/codex-workflow-gateway/skills/codex-workflow-gateway/SKILL.md +66 -740
- package/references/state-machine.md +4 -4
- package/roles/technical-planner.md +1 -1
- package/schemas/corrective-decision-event.schema.json +3 -1
- package/schemas/project-knowledge-map.schema.json +3 -1
- package/schemas/remediation-event.schema.json +10 -1
- package/schemas/task.schema.json +46 -2
- package/schemas/transition-payloads.schema.json +16 -1
- package/src/alpha6/adoption.ts +1123 -0
- package/src/alpha6/captured-check-evidence.ts +132 -0
- package/src/alpha6/check-support-anchor.ts +128 -0
- package/src/alpha6/component-owner.ts +168 -0
- package/src/alpha6/corrective-decision-boundary.ts +39 -0
- package/src/alpha6/downstream-proof.ts +520 -0
- package/src/alpha6/failed-step-planning-recovery.ts +88 -0
- package/src/alpha6/handoff.ts +1443 -0
- package/src/alpha6/journal.ts +473 -0
- package/src/alpha6/literal-test-invocation.ts +84 -0
- package/src/alpha6/mechanical-feasibility.ts +488 -0
- package/src/alpha6/milestone.ts +2192 -0
- package/src/alpha6/navigation-dirty-carryover.ts +154 -0
- package/src/alpha6/npm-check-contract.ts +47 -0
- package/src/alpha6/plan-integrity.ts +298 -0
- package/src/alpha6/plan-risk.ts +1480 -0
- package/src/alpha6/preexecution-replan.ts +187 -0
- package/src/alpha6/remediation-cause.ts +98 -0
- package/src/alpha6/remediation.ts +2438 -0
- package/src/alpha6/review.ts +1198 -0
- package/src/alpha6/root-cause-replan-carryover.ts +491 -0
- package/src/alpha6/store-sidecars.ts +335 -0
- package/src/alpha7/autonomy.ts +411 -0
- package/src/alpha7/corrective-recovery.ts +1332 -0
- package/src/artifacts.ts +130 -0
- package/src/beta1/project-transaction.ts +355 -0
- package/src/change-explanation.ts +153 -0
- package/src/checks/runner.ts +245 -0
- package/src/checks/task-sync.ts +41 -0
- package/src/checks/worker.ts +149 -0
- package/src/cli-actions.ts +107 -0
- package/src/cli.ts +1457 -0
- package/src/contracts.ts +1494 -0
- package/src/credential-output.ts +89 -0
- package/src/credential-transport.ts +215 -0
- package/src/delegation.ts +190 -0
- package/src/dependency-provenance.ts +472 -0
- package/src/diagnostics.ts +93 -0
- package/src/domain/base-sync-conflict.ts +35 -0
- package/src/domain/completed-step-carryover.ts +76 -0
- package/src/domain/discovery.ts +27 -0
- package/src/domain/plan-semantics.ts +58 -0
- package/src/domain/step-start-admission.ts +10 -0
- package/src/domain/validation.ts +177 -0
- package/src/domain/virgin-registration.ts +46 -0
- package/src/errors.ts +24 -0
- package/src/fs-utils.ts +61 -0
- package/src/gateway-handshake.ts +95 -0
- package/src/git.ts +183 -0
- package/src/graph.ts +342 -0
- package/src/historical-step-provenance.ts +136 -0
- package/src/index.ts +23 -0
- package/src/lifecycle/canonical-hash.ts +28 -0
- package/src/lifecycle/catalog.ts +202 -0
- package/src/lifecycle/compiler-inspection.ts +29 -0
- package/src/lifecycle/core-static-readiness.ts +132 -0
- package/src/lifecycle/corrective-replan-authority.ts +136 -0
- package/src/lifecycle/corrective-replan-binding-manifest.ts +51 -0
- package/src/lifecycle/corrective-replan-credential-core.ts +408 -0
- package/src/lifecycle/corrective-replan-credential-schema.ts +54 -0
- package/src/lifecycle/corrective-replan-credentials.ts +48 -0
- package/src/lifecycle/corrective-replan.ts +843 -0
- package/src/lifecycle/evaluator.ts +48 -0
- package/src/lifecycle/fingerprint.ts +488 -0
- package/src/lifecycle/immutable.ts +8 -0
- package/src/lifecycle/implementation-table.ts +118 -0
- package/src/lifecycle/index.ts +8 -0
- package/src/lifecycle/schema-artifact.ts +263 -0
- package/src/lifecycle/semantic-registry.ts +572 -0
- package/src/lifecycle/types.ts +838 -0
- package/src/memory.ts +273 -0
- package/src/migration.ts +161 -0
- package/src/navigation-actions.ts +70 -0
- package/src/navigation-update-artifact.ts +198 -0
- package/src/navigation-update.ts +121 -0
- package/src/observation.ts +225 -0
- package/src/observed-routes.ts +660 -0
- package/src/operational-contract.ts +125 -0
- package/src/pending-review-update.ts +175 -0
- package/src/repository.ts +99 -0
- package/src/reviewer.ts +1879 -0
- package/src/runtime.ts +6 -0
- package/src/state/corrective-replan-executor.ts +818 -0
- package/src/state/corrective-replan-public-schema.ts +83 -0
- package/src/state/corrective-replan-public.ts +908 -0
- package/src/state/corrective-replan-transaction.ts +949 -0
- package/src/state/corrective-yield-executor.ts +327 -0
- package/src/state/corrective-yield-transaction.ts +730 -0
- package/src/state/lock.ts +902 -0
- package/src/state/store.ts +567 -0
- package/src/transition-core.ts +330 -0
- package/src/ulid.ts +24 -0
- package/src/version.ts +2 -0
- package/src/workflow-blocker-route.ts +109 -0
- package/src/workflow.ts +10172 -0
- package/docs/alpha7.1-implementation-brief.md +0 -268
- package/docs/alpha7.2-corrective-context-refresh-brief.md +0 -484
- package/docs/alpha7.2.1-remediation-recovery-brief.md +0 -86
- package/docs/beta1-stabilization-brief.md +0 -165
- package/docs/beta11-plan-integrity-recovery-brief.md +0 -38
- package/docs/beta13.2-signal-review-recovery.md +0 -38
- package/docs/beta2-initial-assembly-navigation-brief.md +0 -616
- package/docs/change-model.md +0 -118
- package/docs/delegated-approval.md +0 -254
- package/docs/lifecycle/state-machine-stabilization.md +0 -641
- package/docs/pdf/README.md +0 -24
- package/docs/pdf/codex-workflow-v2-architecture-ru.pdf +0 -0
- package/docs/pdf/codex-workflow-v2-chat-only-guide-ru.pdf +0 -0
- package/docs/pdf/codex-workflow-v2-technical-reference-ru.pdf +0 -0
- package/docs/pdf/requirements.txt +0 -1
- package/docs/pdf/sources/codex-workflow-v2-architecture-ru.md +0 -478
- package/docs/pdf/sources/codex-workflow-v2-chat-only-guide-ru.md +0 -508
- package/docs/pdf/sources/codex-workflow-v2-technical-reference-ru.md +0 -778
- package/docs/pending-review-update.md +0 -15
- package/docs/problem-briefs/01-pre-implementation-integrity.md +0 -482
- package/docs/problem-briefs/02-minimal-step-integrity.md +0 -411
- package/docs/problem-briefs/03-minimal-agent-context-integrity.md +0 -358
- package/docs/problem-briefs/04-task-dependency-and-structural-replacement-integrity.md +0 -573
- package/docs/problem-briefs/BRIEF-TEMPLATE.md +0 -56
- package/docs/problem-briefs/README.md +0 -120
- package/docs/problem-briefs/evidence/p01-mechanical-feasibility-corpus.md +0 -90
- package/docs/problem-briefs/evidence/signal-v4-pre-m3-replay.md +0 -246
- package/docs/split-required-recovery.md +0 -47
- package/docs/stable-release-defect-register.md +0 -730
- package/docs/validation-report.md +0 -182
- package/scripts/generate-pdf-docs.py +0 -524
- package/scripts/run-pdf-docs.mjs +0 -62
|
@@ -1,778 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Codex Workflow V2: технический справочник beta.13
|
|
3
|
-
subtitle: Protocol 2, state schema 2, transactions, credentials, dependency authority, review и recovery
|
|
4
|
-
part: Часть 3 из 3 | Technical reference
|
|
5
|
-
document_version: 2.0
|
|
6
|
-
date: 2 сентября 2026
|
|
7
|
-
subject: Технический контракт Codex Workflow V2 beta.13
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# 1. Runtime contract
|
|
11
|
-
|
|
12
|
-
Workflow V2 предоставляет локальные revisioned transitions. Публичный CLI возвращает JSON с `ok=true`
|
|
13
|
-
и `value` либо структурированную ошибку с `code`, `message` и `details`. Chat, PDF и gateway не создают
|
|
14
|
-
authority сами: mutating permission определяется runtime state и свежим `next`.
|
|
15
|
-
|
|
16
|
-
| Параметр beta.13 | Значение |
|
|
17
|
-
|---|---|
|
|
18
|
-
| npm package | `codex-workflow-v2@2.0.0-beta.13.5` |
|
|
19
|
-
| protocolVersion | 2 |
|
|
20
|
-
| stateSchemaVersion | 2 |
|
|
21
|
-
| lifecycle epoch | 2 |
|
|
22
|
-
| transition definition format | 4 |
|
|
23
|
-
| execution topology | Один пользователь, одна машина, local/external workspace contract |
|
|
24
|
-
|
|
25
|
-
Schema 2 не означает, что все optional legacy fields дают execution authority. Например отсутствие
|
|
26
|
-
Milestone dependency arrays разрешено decoder только для чтения historical state и блокирует новое
|
|
27
|
-
execution до explicit Plan amendment.
|
|
28
|
-
|
|
29
|
-
# 2. Package resolution и handshake
|
|
30
|
-
|
|
31
|
-
Gateway выполняет:
|
|
32
|
-
|
|
33
|
-
1. `git rev-parse --show-toplevel`;
|
|
34
|
-
2. чтение exact `codex-workflow-v2` version из `devDependencies`;
|
|
35
|
-
3. resolution `node_modules/codex-workflow-v2/package.json`;
|
|
36
|
-
4. equality check declared/installed versions;
|
|
37
|
-
5. вызов только package-local `dist/src/cli.js --repo <root>`;
|
|
38
|
-
6. `gateway handshake` до lifecycle действий.
|
|
39
|
-
|
|
40
|
-
Ключевые beta.13 capabilities:
|
|
41
|
-
|
|
42
|
-
| Группа | Capabilities |
|
|
43
|
-
|---|---|
|
|
44
|
-
| Knowledge и graph | `project-memory-v1`, `graph-binding-v1`, `task-context-refresh-v1` |
|
|
45
|
-
| Milestone | lifecycle, initial assembly navigation, autonomy, audited remediation topology, progress, dependency DAG, initial Plan transaction |
|
|
46
|
-
| Task planning | Plan Risk Audit, proof obligations, mechanical feasibility |
|
|
47
|
-
| C1 | handoff sidecar/bundle, derived Worker actor, `host-safe-credential-reference-v1`, credential replacement, Human-gate lease release |
|
|
48
|
-
| Reviews | strict reviewer, Step strict review, `reviewer-runtime-preflight-v1`, `explicit-review-mode-v1`, evidence-bound fix/replan routing |
|
|
49
|
-
| Recovery | `cause-bound-rolling-refinement-v1`, `failed-step-continuation-transaction-v1`, Task-local dependency provenance, historical Step provenance, plan integrity, `historical-check-support-scope-adoption-v1`, `historical-check-support-dirty-carryover-v1`, downstream-proof predecessor invalidation, remediation mode, legacy stop override, append-only stop-rebind chain, corrective yield/replan journals |
|
|
50
|
-
| Planning/integration | `structural-production-edge-contract-v1`, transitive component-owner same-Task refinement |
|
|
51
|
-
| Operations/navigation | `compact-status-v1`, `observed-route-matrix-v2`, `app-owned-operational-preflight-v1` |
|
|
52
|
-
| Replacement | `structural-task-replacement-disabled-v1` |
|
|
53
|
-
|
|
54
|
-
Handshake incompatibility прекращает работу. Запуск global package, `latest`, mutable range или соседней
|
|
55
|
-
source checkout запрещён.
|
|
56
|
-
|
|
57
|
-
# 3. State, artifacts и sidecars
|
|
58
|
-
|
|
59
|
-
Project identity выводится из Git common directory. Сущности содержат `schemaVersion`, `revision`, ID,
|
|
60
|
-
projectId и timestamps. Mutations используют compare-and-swap по `expectedRevision`.
|
|
61
|
-
|
|
62
|
-
```text
|
|
63
|
-
$CODEX_HOME/workflow-state/v2/projects/<project-id>/
|
|
64
|
-
project.json
|
|
65
|
-
knowledge-map.json
|
|
66
|
-
discoveries/<DISC-ID>/state.json
|
|
67
|
-
tasks/<TASK-ID>/
|
|
68
|
-
brief.md, plan.md, result.md, evidence.json, state.json
|
|
69
|
-
.versions/
|
|
70
|
-
authorization/review/remediation/corrective/stop-override/handoff sidecars
|
|
71
|
-
milestones/<MS-ID>/
|
|
72
|
-
plan.json, result.md, evidence.json, state.json
|
|
73
|
-
.versions/ и scope/autonomy sidecars
|
|
74
|
-
delegations/<DGR-ID>/state.json
|
|
75
|
-
locks/<TASK-ID>.json
|
|
76
|
-
credentials/<project-id>/CREF-<uuid>.json # private regular file, mode 0600
|
|
77
|
-
graph-bindings/
|
|
78
|
-
composite transaction journals
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
Artifacts публикуются через staged version, CAS state write, active publication и hash readback.
|
|
82
|
-
Composite mutations добавляют journal с exact targets, before/after hashes и recovery posture.
|
|
83
|
-
|
|
84
|
-
Local state никогда не копируется в product repository и не редактируется вручную.
|
|
85
|
-
Credential vault является host-local transport: underlying bearer secret не сериализуется в CLI argv,
|
|
86
|
-
output, error, packet или evidence и не передаётся между projects по reference.
|
|
87
|
-
|
|
88
|
-
# 4. Project Knowledge Map
|
|
89
|
-
|
|
90
|
-
Map хранит metadata долговременных repository files: normalized path, category, scope, authority,
|
|
91
|
-
contentHash, gaps, conflicts и approval. Содержимое документов остаётся в Git.
|
|
92
|
-
|
|
93
|
-
| Transition | Mutation |
|
|
94
|
-
|---|---|
|
|
95
|
-
| `project-memory scan` | Нет, read-only filesystem classification |
|
|
96
|
-
| `show/status` | Нет, current projection |
|
|
97
|
-
| `reconcile` | Новая map revision из current files |
|
|
98
|
-
| `approve` | mapHash и human/delegated approval evidence |
|
|
99
|
-
| `task knowledge-rebind` | Только Plan map binding, supersede authorization |
|
|
100
|
-
| `task context-refresh` | Atomic reconcile/approve/rebind/reauthorize при exact eligibility |
|
|
101
|
-
|
|
102
|
-
Top-level `next.action=task context-refresh` является exact composite route. Standalone reconcile перед
|
|
103
|
-
ним запрещён. Milestone Autonomy Contract может покрывать content-only drift и exact Plan-bounded
|
|
104
|
-
supporting-source addition, но не standalone Project Memory approval.
|
|
105
|
-
|
|
106
|
-
PDF-файлы в `docs/pdf` являются human-facing binary artifacts. Reviewable Markdown sources находятся в
|
|
107
|
-
`docs/pdf/sources`; runtime Project Knowledge authority остаётся в обычных project files и scanner rules.
|
|
108
|
-
|
|
109
|
-
# 5. Discovery и materialization
|
|
110
|
-
|
|
111
|
-
Discovery фиксирует kind, goal/outcome, success signal, scope, out-of-scope, acceptance, constraints,
|
|
112
|
-
unknowns и readiness. Blocking unknown запрещает materialization.
|
|
113
|
-
|
|
114
|
-
Milestone materialization создаёт initial planning posture. Пока Plan отсутствует, `next` возвращает
|
|
115
|
-
`milestone initial-assembly` и exact linked Task assembly commands. Coordinator materializes intended
|
|
116
|
-
linked Tasks, затем публикует один complete Plan. Reverse membership integrity запрещает закрыть Plan с
|
|
117
|
-
unclassified live linked Task.
|
|
118
|
-
|
|
119
|
-
# 6. Milestone Plan и dependency DAG
|
|
120
|
-
|
|
121
|
-
```text
|
|
122
|
-
MilestonePlanInput
|
|
123
|
-
outcome
|
|
124
|
-
successSignal
|
|
125
|
-
acceptance[]
|
|
126
|
-
checks[]
|
|
127
|
-
memberships[]
|
|
128
|
-
taskId
|
|
129
|
-
disposition
|
|
130
|
-
reason
|
|
131
|
-
dependsOnTaskIds[]
|
|
132
|
-
```
|
|
133
|
-
|
|
134
|
-
Normalization trim-ит строки и сортирует каждый dependency array по exact Task ID. Duplicate edges
|
|
135
|
-
отклоняются до normalization и hashing. Graph validation запрещает:
|
|
136
|
-
|
|
137
|
-
- missing dependency array на новом Plan;
|
|
138
|
-
- dangling, external и missing Task targets;
|
|
139
|
-
- duplicate membership и duplicate edge;
|
|
140
|
-
- self edge и cycle;
|
|
141
|
-
- required consumer с waived/cancelled provider;
|
|
142
|
-
- dependency inference из ordinal, title, filename или chat order.
|
|
143
|
-
|
|
144
|
-
Initial `milestone plan-set` атомарно связывает state.json и plan.json. Scope change использует
|
|
145
|
-
journaled transaction для membership state, plan artifact, revision/hash и authorization supersession.
|
|
146
|
-
|
|
147
|
-
## 6.1. Runnable predicate
|
|
148
|
-
|
|
149
|
-
```text
|
|
150
|
-
runnable =
|
|
151
|
-
milestone.status == active
|
|
152
|
-
AND membership.disposition == required
|
|
153
|
-
AND every dependsOnTaskId is a required member with Task status merged
|
|
154
|
-
```
|
|
155
|
-
|
|
156
|
-
Predicate вызывается из repository `next`, scoped `next --task`, progress projection, handoff preparation,
|
|
157
|
-
claim до lock acquisition и Task start. Scheduler выбирает из полного runnable set и не изменяет graph.
|
|
158
|
-
|
|
159
|
-
Legacy nonterminal Milestone без arrays имеет `dependencyState=legacy-unknown` и не может handoff, claim
|
|
160
|
-
или start unstarted required Tasks до explicit Plan amendment.
|
|
161
|
-
|
|
162
|
-
# 7. Milestone autonomy и delegated approval
|
|
163
|
-
|
|
164
|
-
Generic delegation allow-list закрыт:
|
|
165
|
-
|
|
166
|
-
```text
|
|
167
|
-
project_memory.approve
|
|
168
|
-
task.execution_authorize
|
|
169
|
-
task.final_accept
|
|
170
|
-
milestone.execution_authorize
|
|
171
|
-
milestone.final_accept
|
|
172
|
-
```
|
|
173
|
-
|
|
174
|
-
Issuance: `delegation prepare` возвращает exact policyHash и DGA-code; только отдельный later human turn
|
|
175
|
-
разрешает `delegation grant`. Event сохраняет principal и delegate раздельно.
|
|
176
|
-
|
|
177
|
-
Milestone autonomy используется после complete initial Plan:
|
|
178
|
-
|
|
179
|
-
```text
|
|
180
|
-
milestone autonomy-prepare
|
|
181
|
-
-> human confirms exact MAC-code in later turn
|
|
182
|
-
-> milestone autonomy-grant
|
|
183
|
-
-> bounded approvals/context refresh/membership-only evolve
|
|
184
|
-
```
|
|
185
|
-
|
|
186
|
-
Contract связывает principal, delegate, Milestone, expiry, semantic scope hash и policy hash. Outcome,
|
|
187
|
-
success signal, acceptance, checks, Discovery и base branch неизменны. `autonomy-evolve` допускает только
|
|
188
|
-
membership changes и supersedes execution authorization.
|
|
189
|
-
|
|
190
|
-
Grant никогда не является C1 writer credential и не наследуется handoff, claim, run, step-complete,
|
|
191
|
-
reviews, sync-base или merge.
|
|
192
|
-
|
|
193
|
-
# 8. Task Plan authority и P01-A
|
|
194
|
-
|
|
195
|
-
Task Plan обязан копировать exact requirement/acceptance identifiers из `next.taskPlanContract`. Step
|
|
196
|
-
содержит objective, requirements, dependencies, expectedOutputs, allowedWrites, forbiddenScope и checks.
|
|
197
|
-
Plan binding включает Brief/Plan hashes и approved Knowledge Map revision/hash.
|
|
198
|
-
|
|
199
|
-
Plan Risk Audit до execution фиксирует guarded Step categories и proof obligations. Fresh execution
|
|
200
|
-
authorization запускает три versioned analyzers:
|
|
201
|
-
|
|
202
|
-
| Analyzer | Поддерживаемая точная проверка |
|
|
203
|
-
|---|---|
|
|
204
|
-
| `wf2.root-npm-script@1` | Exact `npm run <script>` в root package.json либо responsible manifest writer |
|
|
205
|
-
| `wf2.exact-output-path@1` | Exact `path:<repository-relative POSIX path>` существует или writable |
|
|
206
|
-
| `wf2.exact-predecessor-path@1` | Exact transitive predecessor declares и may write consumer path |
|
|
207
|
-
|
|
208
|
-
Findings имеют `pass`, `blocked` или `unverified`. Любой blocked finding запрещает authorization без
|
|
209
|
-
event write. Clear evidence записывается внутрь AuthorizationEvent вместе с analyzer set/input hashes,
|
|
210
|
-
Brief/Plan hashes, evaluated HEAD, source branch/kind и evidence hash.
|
|
211
|
-
|
|
212
|
-
Freshness повторно проверяется перед claim/start/run и recovery. Pre-start evidence связывается с exact
|
|
213
|
-
base branch HEAD; corrective evidence связывается с current Task workspace и baseCommit. Git ancestry,
|
|
214
|
-
branch, analyzer inputs и evidence hash должны оставаться current.
|
|
215
|
-
|
|
216
|
-
Legacy approved AuthorizationEvent без mechanical payload остаётся readable для compatibility, но не
|
|
217
|
-
создаёт новую P01 evidence claim.
|
|
218
|
-
|
|
219
|
-
Beta.13 добавляет два узких structural contracts. После failed check bounded static import traversal
|
|
220
|
-
repository-local runner может доказать transitive component-owner path вне `allowedWrites`; same-Task
|
|
221
|
-
scope refinement допустим только внутри той же component boundary и при неизменных hashes objective,
|
|
222
|
-
requirements, acceptance и security boundary. Отдельно независимая PRA-классификация consumer как
|
|
223
|
-
`runtime-composition` в multi-Step Task требует `requiresProductionEdges=true` и непустой
|
|
224
|
-
`productionEdges[]`, где каждая запись содержит transitive `ownerStepId`, `consumerStepId` и exact
|
|
225
|
-
`checkRef` из checks consumer Step. Planner omission, missing owner/consumer, self-edge, duplicate или
|
|
226
|
-
неисполняемый check блокируют admission. Простой one-Step runtime исключён.
|
|
227
|
-
|
|
228
|
-
Эти механизмы проверяют структурную форму и не утверждают product truth. Они не заменяют Plan Risk Audit,
|
|
229
|
-
Milestone authorization, фактический check result или не реализованную Step-validity authority P02.
|
|
230
|
-
|
|
231
|
-
Beta.13.1 вводит prospective, Plan-bound compatibility boundary. Новые ordinary PRA и atomic corrective
|
|
232
|
-
replan связывают `structuralProductionEdgeAuthority=required-v1` с hash chain. Историческая markerless PRA
|
|
233
|
-
не получает новую семантику задним числом, если текущая Task также не содержит production-edge fields.
|
|
234
|
-
Content-only knowledge rebind сохраняет exact native fields и rendered edge, а для такой legacy Task
|
|
235
|
-
сохраняет markerless posture. Это устраняет необходимость state migration; repository-local state остаётся
|
|
236
|
-
доверенной границей и не защищает от полного привилегированного переписывания всей chain.
|
|
237
|
-
|
|
238
|
-
# 9. C1 handoff и writer lease
|
|
239
|
-
|
|
240
|
-
## 9.1. Dependency binding
|
|
241
|
-
|
|
242
|
-
Milestone-linked handoff event включает:
|
|
243
|
-
|
|
244
|
-
```text
|
|
245
|
-
dependencyBinding
|
|
246
|
-
milestoneRevision
|
|
247
|
-
membershipRevision
|
|
248
|
-
milestonePlanHash
|
|
249
|
-
```
|
|
250
|
-
|
|
251
|
-
Standalone Task использует null. Handoff preparation проверяет runnable predicate и current authorization.
|
|
252
|
-
Claim сверяет stored binding с current Milestone authority до lock acquisition. Dependency-blocked claim
|
|
253
|
-
не получает и не сохраняет lease.
|
|
254
|
-
|
|
255
|
-
## 9.2. Credential sequence
|
|
256
|
-
|
|
257
|
-
1. `task handoff-prepare` сохраняет hash в handoff state, кладёт secret в project-local vault и возвращает
|
|
258
|
-
публичную `claimCredentialReference` с `transport=local-vault-v1`.
|
|
259
|
-
2. Exact target actor вызывает `task claim --claim-credential-ref <CREF-...>`; reference одноразовый и
|
|
260
|
-
после успешного claim удаляется.
|
|
261
|
-
3. Claim проверяет project/entity/action/actor/expiry, создаёт lease и возвращает
|
|
262
|
-
`writerCredentialReference`; сам token отсутствует в output.
|
|
263
|
-
4. `task run` и остальные lease-bound actions принимают только `--writer-credential-ref`; `next` явно
|
|
264
|
-
сообщает `secretInArgv=false`, `secretInOutput=false` и renewal policy.
|
|
265
|
-
5. `task result-set` consumes текущую authority и освобождает lease до Human final-acceptance gate.
|
|
266
|
-
6. После acceptance fresh `writer-credential-replace` создаёт merge authority; terminal transitions
|
|
267
|
-
освобождают её.
|
|
268
|
-
|
|
269
|
-
Vault record — regular file mode `0600`, содержит integrity hash и binding к project, entity, actor,
|
|
270
|
-
allowed actions и expiry. Legacy `--claim-token`/`--writer-token` отклоняются до lifecycle transition.
|
|
271
|
-
Ни secret, ни его plaintext receipt нельзя логировать, сохранять в chat packet или включать в evidence;
|
|
272
|
-
argv, stdout, stderr и structured errors несут только reference/metadata. `handoff-show` возвращает safe
|
|
273
|
-
persisted binding. Потеря reference разрешается только fresh advertised replacement action.
|
|
274
|
-
|
|
275
|
-
# 10. Git и Step evidence
|
|
276
|
-
|
|
277
|
-
| Boundary | Проверки Core |
|
|
278
|
-
|---|---|
|
|
279
|
-
| Task start | Clean checkout, fresh base/auth/dependency binding, correct workspace policy |
|
|
280
|
-
| Step run | Planned/failed eligible Step, dependencies, branch, C1 actor, lease |
|
|
281
|
-
| Worker return | Изменения uncommitted и только в allowedWrites |
|
|
282
|
-
| Step complete | History, scope, checks, review gate, exact writer credential reference |
|
|
283
|
-
| Commit | Один Core-owned commit с Task/Step metadata |
|
|
284
|
-
| Submit/Result | Exact evidence/review; Result освобождает lease до Human gate |
|
|
285
|
-
| Merge | Fresh review/acceptance, base conditions, accepted HEAD |
|
|
286
|
-
|
|
287
|
-
Local start повторно сравнивает authorized base внутри Git branch creation, закрывая TOCTOU между
|
|
288
|
-
freshness check и mutation. External workspace обязан быть non-base branch от exact recorded commit.
|
|
289
|
-
|
|
290
|
-
# 11. Task state и review
|
|
291
|
-
|
|
292
|
-
Основной путь:
|
|
293
|
-
|
|
294
|
-
```text
|
|
295
|
-
planning -> awaiting_execution_authorization -> ready
|
|
296
|
-
-> C1 claimed -> in_progress -> validating
|
|
297
|
-
-> awaiting_final_acceptance -> merging -> merged
|
|
298
|
-
```
|
|
299
|
-
|
|
300
|
-
Return states включают `needs_fix` и `blocked`. `cancelled` terminal. Rebind/replan supersedes old
|
|
301
|
-
authorization; sync-base invalidates review/Result/acceptance bindings.
|
|
302
|
-
|
|
303
|
-
В Codex App recommended strict mode external-sealed:
|
|
304
|
-
|
|
305
|
-
- `task step-review-packet` -> separate Step Reviewer -> `task step-review-record`;
|
|
306
|
-
- `task review-packet` -> separate Final Reviewer -> `task review-sealed-record`;
|
|
307
|
-
- packetHash и repositorySealHash обязаны совпасть до записи;
|
|
308
|
-
- Reviewer thread ID и lifecycle actor фиксируются, bearer token не передаётся Reviewer;
|
|
309
|
-
- seal drift уничтожает result и требует fresh packet.
|
|
310
|
-
- packet command требует explicit `--review-mode ordinary|security`; ordinary запрещает подменять
|
|
311
|
-
проверку неявным security scan, а security применяется только по явному запросу;
|
|
312
|
-
- read-only `codex-workflow-reviewer-runtime-preflight-v1` связывает Node executable/version, exact
|
|
313
|
-
Workflow runtime module hash, manifest/lock hashes, dependency readiness и writable OS-temporary cache
|
|
314
|
-
за пределами sealed checkout; при каждом вызове он заново разрешает с диска recursive runtime dependency
|
|
315
|
-
graph по parent-aware, nested-first Node lookup и сверяет exact package manifests и SHA-256 всех
|
|
316
|
-
attested `.js`/`.cjs`/`.mjs`/`.json`/`.node` файлов. Лишь затем Node `createRequire` загружает exact
|
|
317
|
-
repository-local gateway/reviewer/workflow graph и сверяет общий с CLI descriptor
|
|
318
|
-
package/protocol/schema. Subprocess, timeout/retry, cached trust decision и install не используются;
|
|
319
|
-
checkout не меняется, а missing/tampered/conflicting/symlinked dependency, load или contract failure
|
|
320
|
-
закрывает выдачу packet.
|
|
321
|
-
|
|
322
|
-
`review-launch` сохраняется в public CLI для совместимых environments, но не применяется как nested
|
|
323
|
-
local reviewer внутри Codex App sandbox.
|
|
324
|
-
|
|
325
|
-
# 12. Remediation и corrective decisions
|
|
326
|
-
|
|
327
|
-
Для новых beta.13 events Guarded Step имеет cause-bound rolling refinement без числового лимита:
|
|
328
|
-
|
|
329
|
-
| Boundary | Разрешение |
|
|
330
|
-
|---|---|
|
|
331
|
-
| Новый distinct mechanical/reviewer cause | Продолжить ту же Task/Step и выполнить новый strict review |
|
|
332
|
-
| Повтор mechanically normalized cause после fix | Root-cause replan той же Task обязателен |
|
|
333
|
-
| Повтор stable reviewer `causeId` с `planConflict=true` | Root-cause replan той же Task обязателен |
|
|
334
|
-
| Похожий prose, номер попытки или reviewer cause без Plan conflict | Не создаёт replan authority |
|
|
335
|
-
| Finding `route=fix` или route отсутствует | Продолжить ту же Task/Step независимо от attempt count |
|
|
336
|
-
| Finding `route=replan` с exact Plan conflict, включая первый провал | Штатный corrective yield/replan; повторный run запрещён, меняются только implementation Steps |
|
|
337
|
-
| `route=replan` без exact conflict | Невалидный review result, state не меняется |
|
|
338
|
-
| Explicit `split-required` | Structural replacement stop |
|
|
339
|
-
| Exact beta.11 attempt-four `stop-escalate` | Append-only Human-confirmed compatibility override |
|
|
340
|
-
| Pre-execution `stop-escalate` + exact `auditedRemediation` route | Один additive upstream Task без нового Human gate |
|
|
341
|
-
| Любой другой explicit `stop-escalate` | Terminal user attention |
|
|
342
|
-
|
|
343
|
-
Attempt count является диагностикой, а не lifecycle authority. Authoritative mechanical cause выводится
|
|
344
|
-
из normalized failure fingerprint; external review cause требует schema-valid stable `causeId`, а replan
|
|
345
|
-
authority дополнительно требует `planConflict=true`. Explicit corrective-decision journal сохраняется для
|
|
346
|
-
намеренного stop/split и совместимого legacy recovery. Legacy events без `causeBindings` читаются по старому
|
|
347
|
-
compatibility circuit и не получают новую authority задним числом. Replan из review обязан назвать
|
|
348
|
-
`planClause`, `whyFixCannotFit` и `minimalPlanChange`; objective, requirements и acceptance Task при
|
|
349
|
-
remediation неизменяемы. Новый Plan проходит обычные audit и authorization.
|
|
350
|
-
|
|
351
|
-
Failed strict review финализируется project transaction: remediation event, Task `needs_fix` и удаление
|
|
352
|
-
exact proven writer lease образуют один readback-bound target set. Повтор authoritative reviewer cause в
|
|
353
|
-
той же transaction добавляет C1 yield. `next` и `task plan-set` одинаково требуют отсутствия writer lease
|
|
354
|
-
и C1 claim и запрещают ослаблять `forbiddenScope`, guarded PRA classification или production-edge boundary.
|
|
355
|
-
Если review sidecars уже записаны, а transaction была прервана, повторная запись review завершает один
|
|
356
|
-
pause без duplicate remediation.
|
|
357
|
-
|
|
358
|
-
Failed check записывается project transaction `failed-step-continuation`: remediation sidecar, Task
|
|
359
|
-
`needs_fix` с `failurePause` и удаление lease входят в один journaled target set. Validation повторно
|
|
360
|
-
сверяет Task revision/status, remediation hash, отсутствие lease, Git HEAD, dirty paths и
|
|
361
|
-
`dirtyWorktreeHash`. Product bytes не коммитятся и не сбрасываются. Fresh `next` при отсутствующем либо
|
|
362
|
-
stale lease сначала рекламирует `task writer-credential-replace`, затем возвращает ту же Task к fix или
|
|
363
|
-
root-cause replan. Это общий continuation contract, а не новый numbered compatibility patch.
|
|
364
|
-
|
|
365
|
-
# 13. beta.13 coherent continuation и operational contracts
|
|
366
|
-
|
|
367
|
-
## 13.1. Compact status
|
|
368
|
-
|
|
369
|
-
`status` по умолчанию возвращает bounded projection `codex-workflow-compact-status-v1`: entity counts,
|
|
370
|
-
active Task/Step, exact advertised action/blockedAction, observation reason codes, route metadata и
|
|
371
|
-
stable `routeFingerprint`. Массивы всех Discoveries, Tasks, Milestones и delegations в неё не входят.
|
|
372
|
-
Полная historical projection доступна только через explicit `status --full`. Обе формы строятся из одного
|
|
373
|
-
observation snapshot; compact form не вызывает public full-status path.
|
|
374
|
-
|
|
375
|
-
## 13.2. Observed Signal route matrix
|
|
376
|
-
|
|
377
|
-
`observed-route-matrix-v2` покрывает 13 route classes, фактически наблюдавшихся в Signal. Каждый класс
|
|
378
|
-
имеет unique descending priority и ровно один representative witness: fresh production `next`, real
|
|
379
|
-
Workflow executor и fresh reachable successor либо real non-executable terminal observation. Это
|
|
380
|
-
class-level claim, а не доказательство каждой action. `next` добавляет matrix version/fingerprint,
|
|
381
|
-
route/action fingerprint, action support `executable-witnessed`/`unwitnessed`/`unsupported` и
|
|
382
|
-
`coverageBoundary=signal-observed-route-class-witnesses`.
|
|
383
|
-
|
|
384
|
-
Manual instruction и terminal marker не маскируются под CLI: они перечислены в explicit unsupported
|
|
385
|
-
inventory, не имеют CLI/executor binding и останавливают automation либо требуют чтения structured
|
|
386
|
-
options. Known executable action без собственного exact E2E остаётся `unwitnessed`, даже если её route
|
|
387
|
-
class доказан другим representative transition. Матрица не доказывает полноту всех CLI actions или
|
|
388
|
-
future transition families; отсутствие route в наблюдённой boundary — unsupported gap, а не разрешение
|
|
389
|
-
импровизировать command.
|
|
390
|
-
|
|
391
|
-
## 13.3. Reviewer runtime и review mode
|
|
392
|
-
|
|
393
|
-
Перед external-sealed packet Core выполняет non-mutating runtime preflight. Node major должен быть не
|
|
394
|
-
ниже 22; exact declared, locked и repository-local installed Workflow versions должны совпасть.
|
|
395
|
-
Runtime build manifest и SHA-256 каждого перечисленного Workflow runtime-файла проверяются, включая CLI
|
|
396
|
-
и reviewer entrypoints. Manifest также фиксирует exact package manifest и recursive dependency closure.
|
|
397
|
-
Каждый preflight заново с диска выполняет parent-aware, nested-first разрешение фактических dependencies,
|
|
398
|
-
сверяет их версии, пути и hashes всех attested `.js`/`.cjs`/`.mjs`/`.json`/`.node` файлов и отклоняет
|
|
399
|
-
path/symlink drift. Затем in-process gateway descriptor подтверждает package/protocol/schema. В packet не
|
|
400
|
-
попадают raw output или argv. Missing install, missing/stale build либо dependency closure и failed
|
|
401
|
-
load/contract дают actionable blocker. Writable cache создаётся с mode `0700` в OS temporary directory
|
|
402
|
-
вне sealed checkout, а dependency install не запускается. Blockers делают preflight `prepared=false`.
|
|
403
|
-
|
|
404
|
-
Packet/record contract связан с explicit `--review-mode ordinary|security`. `ordinary` означает проверку
|
|
405
|
-
корректности/acceptance без implicit security scan; `security` означает явно запрошенный security focus.
|
|
406
|
-
Mode входит в packet hash, поэтому записать результат другого mode невозможно.
|
|
407
|
-
|
|
408
|
-
Native launch передаёт API-compatible strict Structured Output schema. Во всех object schemas `required`
|
|
409
|
-
точно совпадает с `properties`, а optional semantic values кодируются nullable. Parser повторно проверяет
|
|
410
|
-
closed shape, допустимые `route`/`causeId`, обязательный `planConflict` для replan и finding cardinality;
|
|
411
|
-
malformed ответ становится unverified review без remediation authority.
|
|
412
|
-
|
|
413
|
-
# 14. beta.11 Plan-integrity recovery
|
|
414
|
-
|
|
415
|
-
`task plan-integrity-recover` применим только после одного first ordinary `checks-failed` remediation:
|
|
416
|
-
|
|
417
|
-
- check соответствует bounded root npm-script grammar;
|
|
418
|
-
- script отсутствует;
|
|
419
|
-
- package.json вне current Step allowedWrites;
|
|
420
|
-
- dirty files полностью внутри Step scope;
|
|
421
|
-
- current Task/Plan/remediation/Step/manifest/HEAD bindings точны.
|
|
422
|
-
|
|
423
|
-
Recovery записывает schema-valid `replan-required` decision с synthetic ordinal 2 и canonical conflict
|
|
424
|
-
hash. Он не запускает checks повторно, не меняет worktree, Plan или allowedWrites. Затем C1 owner следует
|
|
425
|
-
fresh `next` через corrective yield и обычный Human-confirmed replan.
|
|
426
|
-
|
|
427
|
-
P01-A предотвращает поддерживаемые contradictions до fresh authorization. beta.11 path остаётся для
|
|
428
|
-
pre-P01 authorizations и late/unsupported exact recovery cases.
|
|
429
|
-
|
|
430
|
-
# 14.1. beta.12.7 compatibility transitions
|
|
431
|
-
|
|
432
|
-
`update dependency-provenance-recover` больше не требует полного равенства Task manifest/lock с base.
|
|
433
|
-
Base остаётся version authority, а parent/HEAD candidate сравниваются без единственных Workflow
|
|
434
|
-
dependency entries. Поэтому recorded Task-local scripts сохраняются; payload drift того же candidate
|
|
435
|
-
commit по-прежнему блокируется.
|
|
436
|
-
|
|
437
|
-
`update downstream-proof-dependency-preflight/recover` — отдельная beta.12.6 совместимость для
|
|
438
|
-
active proof, который делает обычный clean update недостижимым. После exact dependency-only commits
|
|
439
|
-
на active base и Task branch preflight проверяет recorded history на `HEAD^`, candidate на `HEAD`,
|
|
440
|
-
aligned runtime/declared/locked/installed/current/base versions, отсутствие leases/transactions,
|
|
441
|
-
единственный active Step, transitive predecessor ownership и SHA-256 dirty product bytes. Recovery
|
|
442
|
-
добавляет только candidate в `systemCommits` и сохраняет binding в
|
|
443
|
-
`dependencyProvenanceRecoveries.activeDownstreamProof`; product work и Step state не меняются.
|
|
444
|
-
Fresh `next` затем приоритетно рекламирует `task downstream-proof-recover` до Knowledge refresh.
|
|
445
|
-
|
|
446
|
-
`update downstream-proof-replan-update-preflight` — read-only source gate для одного exact
|
|
447
|
-
beta.12.6 stranded shape после predecessor invalidation и ошибочного Knowledge rebind старого Plan.
|
|
448
|
-
Он требует точные source version surfaces, Task revision/status/rebind, preserved HEAD, dirty paths/hash
|
|
449
|
-
и отсутствие lease/transactions. После dependency-only transport
|
|
450
|
-
`update downstream-proof-replan-dependency-preflight/recover` валидирует parent на `HEAD^`, candidate
|
|
451
|
-
на `HEAD` и записывает `dependencyProvenanceRecoveries.downstreamProofReplan` без изменения product
|
|
452
|
-
bytes. `task downstream-proof-replan-recover` атомарно добавляет
|
|
453
|
-
`downstream-proof-replan-recoveries.jsonl`, supersede-ит execution authorization и возвращает Task в
|
|
454
|
-
`needs_fix`. Stale Knowledge refresh разрешён после repair, но не может заменить обязательный
|
|
455
|
-
`task plan-set`. Dirty carryover принимается `task run` только если один replacement Step владеет всем
|
|
456
|
-
set, а HEAD, paths и SHA-256 совпадают с recovery event.
|
|
457
|
-
|
|
458
|
-
`task stop-override-prepare/apply` обслуживает только exact beta.11 attempt-four policy stop. Prepare
|
|
459
|
-
не пишет state и создаёт binding по Task revision, Step, attempt-3 continue, attempt-4 stop, трём
|
|
460
|
-
remediation events, Plan, HEAD, package, human actor и reason. Apply в отдельном user turn добавляет
|
|
461
|
-
`stop-escalate-overrides.jsonl`. Original corrective decision остаётся неизменным. Split, stale binding,
|
|
462
|
-
lease/transaction, дубликат с другим binding и tampering fail closed.
|
|
463
|
-
|
|
464
|
-
После apply несколько delegated `task context-refresh` могут сделать source Plan историческим.
|
|
465
|
-
`task run` доступен, только если Core доказывает contiguous source-to-current chain: adjacent Plans
|
|
466
|
-
различаются лишь Knowledge binding, rebinds совпадают с artifacts, audits являются mechanical
|
|
467
|
-
rebounds, а current approval/authorization сохраняют одну delegated authority и chronology.
|
|
468
|
-
|
|
469
|
-
HEAD может отличаться от override только через зарегистрированные single-parent
|
|
470
|
-
`dependencyProvenanceRecoveries` в `systemCommits`, каждый с exact `package.json`/`package-lock.json`
|
|
471
|
-
diff. Semantic drift, иной commit или разрыв chain fail closed. Projection содержит
|
|
472
|
-
`stopOverrideContextRebind.state=validated`; lost lease восстанавливает только advertised
|
|
473
|
-
`task writer-credential-replace`.
|
|
474
|
-
|
|
475
|
-
Если recovery записан после последнего rebound audit, evidence-bound revision равен
|
|
476
|
-
`audit.taskRevision + 1 + postAuditVerifiedRecoveries.length`. В зачёт входят только ordered records
|
|
477
|
-
из уже проверенной override-to-authorization Git chain. Формула должна точно равняться current Task
|
|
478
|
-
revision; unrelated write, duplicate, неверный parent или product commit блокируют continuation.
|
|
479
|
-
|
|
480
|
-
# 14.2. Downstream-proof predecessor recovery
|
|
481
|
-
|
|
482
|
-
Если active Step изменяет только собственный proof artifact, обычный `task step-complete` сохраняется.
|
|
483
|
-
Если dirty set дополнительно содержит файлы completed transitive predecessor, Core проверяет branch,
|
|
484
|
-
зарегистрированную Git history, dependency closure и ownership каждого такого файла. При точном совпадении
|
|
485
|
-
fresh `next` рекламирует lease-bound `task downstream-proof-recover` вместо заведомо невозможного commit.
|
|
486
|
-
|
|
487
|
-
Одна project transaction сохраняет worktree и HEAD, append-only записывает
|
|
488
|
-
`downstream-proof-invalidations.jsonl`, переносит invalidated completion commits в `invalidatedStepCommits`, очищает
|
|
489
|
-
их Step evidence, блокирует proof Step, supersede execution authorization, yield C1 и удаляет lease.
|
|
490
|
-
Следующий action — обычный `task plan-set` той же Task. Replacement Plan обязан заново охватить unfinished
|
|
491
|
-
remainder и пройти fresh Plan Risk Audit и execution authorization. Unrelated/non-predecessor file,
|
|
492
|
-
strict-review evidence, unregistered commit, branch mismatch или damaged sidecar возвращают `doctor`.
|
|
493
|
-
|
|
494
|
-
# 14.3. beta.12.9 historical Step provenance
|
|
495
|
-
|
|
496
|
-
Corrective replan теперь сохраняет evidence commits Steps, исключённых replacement Plan, в
|
|
497
|
-
`invalidatedStepCommits`. Это предотвращает новый unregistered-history blocker без переноса завершённого
|
|
498
|
-
Step в новый Plan.
|
|
499
|
-
|
|
500
|
-
Для уже существующего stranded state fresh `next` допускает только один из двух bounded routes:
|
|
501
|
-
|
|
502
|
-
- `task historical-step-provenance-preflight/recover`, если beta.12.9 dependency HEAD уже зарегистрирован;
|
|
503
|
-
- `update historical-step-dependency-preflight/recover`, если dependency-only beta.12.9 commit ещё
|
|
504
|
-
является единственным unregistered HEAD.
|
|
505
|
-
|
|
506
|
-
Core требует один active Step, dirty paths только в его `allowedWrites`, отсутствие leases/transactions,
|
|
507
|
-
ровно один omitted product commit, полный hash-valid strict Step Review с `passed`, verified reviewer
|
|
508
|
-
attestation и прежний hash-bound `final_acceptance` того же Plan. Update-route дополнительно связывает
|
|
509
|
-
exact `HEAD^`/`HEAD`, package/version surfaces и SHA-256 dirty worktree. Recovery не переписывает Git,
|
|
510
|
-
не меняет product bytes и не возвращает старый Step в Plan; он записывает historical authority и, для
|
|
511
|
-
update-route, dependency provenance в одной Task revision. Fresh `status -> next` после transition
|
|
512
|
-
должен вернуть обычный credential/`task step-complete` flow текущего Step.
|
|
513
|
-
|
|
514
|
-
# 14.4. beta.12.11 audited remediation topology
|
|
515
|
-
|
|
516
|
-
`milestone remediation-materialize` применим только к required Task в
|
|
517
|
-
`awaiting_execution_authorization`, если ни один Step не начат и последний audit текущей
|
|
518
|
-
Task revision/Brief/Plan имеет decision `stop-escalate`. Нужны active Milestone на clean base,
|
|
519
|
-
coherent idle observation boundary, current Milestone execution authorization и ready Discovery.
|
|
520
|
-
|
|
521
|
-
Input не содержит Milestone Plan или actor:
|
|
522
|
-
|
|
523
|
-
```json
|
|
524
|
-
{
|
|
525
|
-
"discoveryId": "DISC-...",
|
|
526
|
-
"expectedDiscoveryRevision": 1,
|
|
527
|
-
"title": "Restore upstream capability",
|
|
528
|
-
"predecessorTaskIds": ["TASK-..."]
|
|
529
|
-
}
|
|
530
|
-
```
|
|
531
|
-
|
|
532
|
-
`predecessorTaskIds` обязан точно совпасть с direct predecessor frontier blocked Task; каждый такой
|
|
533
|
-
Task required и merged. Одна Project transaction пишет consumed Discovery, Brief/state нового Task,
|
|
534
|
-
новый `plan.json`, `scope-change-events.jsonl` и Milestone state. Event mode
|
|
535
|
-
`audited-remediation` связывает blocked Task/revision, Brief/Plan hashes, audit ID/hash, remediation
|
|
536
|
-
Task и predecessor IDs. Milestone semantic fields и прежние memberships неизменны; добавляются
|
|
537
|
-
только один required Task и одна dependency edge blocked -> remediation. Повтор audit запрещён.
|
|
538
|
-
|
|
539
|
-
Current Milestone execution authorization superseded и заменён `corrective-derived`, evidenceHash
|
|
540
|
-
связывает source Plan/authorization mode, audit hash и remediation evidence. Repository `next`
|
|
541
|
-
приоритизирует remediation Task. Для current required Tasks оно выдаёт
|
|
542
|
-
`correctiveDerivedApproval` для `task authorize`/`task accept`; actor фиксирован как
|
|
543
|
-
`agent:milestone-remediation:<MS-ID>`, human approval и delegation grant не нужны. Plan Risk Audit,
|
|
544
|
-
mechanical feasibility, C1, Step checks/commits/reviews и final Milestone acceptance не меняются.
|
|
545
|
-
После merge remediation Task исходная Task получает `task plan-set` и проходит fresh audit/authority.
|
|
546
|
-
|
|
547
|
-
Если перед этим exact package update сделал Knowledge Map stale, navigation может вернуть
|
|
548
|
-
`auditedRemediation.dependencyKnowledgeRefresh`. Eligibility требует: ранее active approved map;
|
|
549
|
-
inspected status `stale`; единственный изменённый Knowledge path `package.json`; clean checkout;
|
|
550
|
-
runtime/declared/locked/installed/HEAD/Milestone-base version равны; approved package content найден в
|
|
551
|
-
Git ancestry; каждый последующий commit, трогавший manifest, меняет ровно `package.json` и
|
|
552
|
-
`package-lock.json`, причём после удаления `codex-workflow-v2` обе JSON-структуры совпадают с parent.
|
|
553
|
-
Materialization тогда дополнительно пишет active Knowledge Map с revision +2 и approval mode
|
|
554
|
-
`corrective-derived` в той же Project transaction. Это не разрешает автоматически принимать README,
|
|
555
|
-
docs, commands, classification, authority, gaps или conflicts.
|
|
556
|
-
|
|
557
|
-
# 14.5. beta.12.12 selector-contract Plan-integrity recovery
|
|
558
|
-
|
|
559
|
-
Analyzer `wf2.root-npm-script-arguments@1` читает root `package.json` и только repository-local runner
|
|
560
|
-
из evaluated Git HEAD. Узкий доказуемый contract — script `node <safe-relative-path> affected`, исходник
|
|
561
|
-
которого использует `process.argv.slice(3)`, содержит selector literals `--base`, `--head`, `--files` и
|
|
562
|
-
явный `Affected mode requires` guard. Для такого script check без forwarded selector получает
|
|
563
|
-
`ROOT_NPM_SCRIPT_REQUIRED_SELECTOR_MISSING` и блокирует execution authorization. Произвольный shell или
|
|
564
|
-
нераспознанный runner остаётся `unverified`, а не объявляется ошибочным по догадке.
|
|
565
|
-
|
|
566
|
-
Legacy recovery принимает последовательную append-only history из одного или нескольких
|
|
567
|
-
`checks-failed` events при отсутствии corrective decision. Evidence v2 связывает каждый event ID/hash/
|
|
568
|
-
ordinal, Task revision, Plan/Step definition, manifest и runner hashes, Git HEAD, conflicts и SHA-256
|
|
569
|
-
dirty worktree. `task plan-integrity-recover` записывает один `replan-required` decision с
|
|
570
|
-
`triggeringAttemptCount = failures + 1` и полным `coveredEventIds`.
|
|
571
|
-
|
|
572
|
-
Если exact beta.12.12 package ещё не установлен, `update plan-integrity-update-preflight` проверяет
|
|
573
|
-
source beta.12.11, отсутствие leases/transactions и exact dirty allowlist. После dependency-only
|
|
574
|
-
transport `update plan-integrity-dependency-preflight/recover` регистрирует единственный HEAD как system
|
|
575
|
-
commit. Когда Knowledge drift объясняется только Workflow pin, та же Project transaction выполняет
|
|
576
|
-
corrective-derived reconcile/approval; прочий drift fail-closed. Product bytes не коммитятся и не
|
|
577
|
-
переносятся. Fresh route продолжается через credential replacement, `plan-integrity-recover`, yield и
|
|
578
|
-
corrective replan с selector-bearing check.
|
|
579
|
-
|
|
580
|
-
# 14.6. beta.12.15 source/target Knowledge binding
|
|
581
|
-
|
|
582
|
-
Corrective-replan receipt теперь включает две разные пары. `knowledgeRevision/knowledgeHash` связывает
|
|
583
|
-
исходное состояние Task; `targetKnowledgeRevision/targetKnowledgeHash` связывает active Project
|
|
584
|
-
Knowledge Map и replacement Plan. Executor проверяет source под Task lock, candidate Plan — по target,
|
|
585
|
-
а Risk Audit и materialized Task получают target binding.
|
|
586
|
-
|
|
587
|
-
Source и target могут различаться только при exact `dependencyProvenanceRecoveries.planIntegrity` для
|
|
588
|
-
текущего HEAD и package version. Record обязан совпасть по Plan, failed Step, всей remediation event ID
|
|
589
|
-
последовательности, dirty paths и повторно вычисленному dirty SHA-256. После corrective yield Core может
|
|
590
|
-
восстановить один или несколько ещё не зарегистрированных package updates: он просматривает trailing
|
|
591
|
-
Git suffix от HEAD до последнего зарегистрированного system commit, проверяет каждый элемент как
|
|
592
|
-
непрерывный manifest/lock-only exact Workflow pin update и одной Core mutation добавляет каждый commit
|
|
593
|
-
и его фактическую package version в provenance history. Любое изменение product bytes, разрыв ancestry,
|
|
594
|
-
Step status, Plan, decision или C1 posture отключает route.
|
|
595
|
-
|
|
596
|
-
Completed corrective-yield transaction проверяет неизменный canonical yield event как prefix текущей
|
|
597
|
-
append-only handoff history. Это сохраняет tamper detection, но разрешает новый handoff после успешного
|
|
598
|
-
corrective replan. E2E release gate проходит prepare/confirm/execute, authorization, handoff/claim,
|
|
599
|
-
selector-bearing Step completion commit и strict Step review.
|
|
600
|
-
|
|
601
|
-
Completed corrective-replan transaction сохраняет authority identity своего release. Текущий manifest
|
|
602
|
-
обязателен для любой pending/in-flight transaction; completed journal может использовать только exact
|
|
603
|
-
tuple из append-only registry: manifest SHA-256, runtime fingerprint и catalog hash. Неизвестный tuple,
|
|
604
|
-
legacy tuple у незавершённой transaction, повреждённый intent/phase chain или owned target остаётся
|
|
605
|
-
`journal-invalid`. Это позволяет читать terminal beta.12.12 history после расширения binding manifest,
|
|
606
|
-
не превращая legacy identity в новую execution authority.
|
|
607
|
-
|
|
608
|
-
# 14.7. beta.12.16 check-support scope authority
|
|
609
|
-
|
|
610
|
-
Analyzer `wf2.check-support-anchor@1` рассматривает только root `npm run` check, repository-local
|
|
611
|
-
`node`/`tsx` runner и его direct relative static import. Блокировка допустима, когда Step создаёт
|
|
612
|
-
отсутствующий exact migration output, импортированный support-модуль содержит SHA-256 и approved/
|
|
613
|
-
expected/manifest/catalog anchors той же `.sql` family, но Step не владеет support path. Это machine
|
|
614
|
-
evidence, а не вывод из текста ошибки.
|
|
615
|
-
|
|
616
|
-
Для pre-execution Plan finding `CHECK_SUPPORT_ANCHOR_OUTSIDE_ALLOWED_WRITES` блокирует authorization.
|
|
617
|
-
Для уже выполняемой guarded Step первый `checks-failed` может рекламировать тот же
|
|
618
|
-
`task plan-integrity-recover`, но evidence v3 записывает `continue-fix`, а не `replan-required`.
|
|
619
|
-
`scopeExtensions` равно отсортированному exact набору support paths из conflict evidence; dirty files
|
|
620
|
-
до recovery обязаны оставаться в original allowedWrites, support path не может пересекать
|
|
621
|
-
forbiddenScope. Plan hash не меняется. Effective scope используется retry precondition, Worker envelope,
|
|
622
|
-
Core commit, downstream-proof assessment, corrective-replan worktree guard и strict review packet.
|
|
623
|
-
Любое более широкое изменение остаётся в обычном corrective replan с Human gate.
|
|
624
|
-
|
|
625
|
-
# 14.8. beta.12.17 coherent Plan-integrity update source
|
|
626
|
-
|
|
627
|
-
Read-only `update plan-integrity-update-preflight` выводит `sourceVersion` из declared dependency, а
|
|
628
|
-
не из release-specific constant. Он принимает только exact `2.0.0-beta.12.N`, где `N >= 11` и
|
|
629
|
-
`N` меньше patch ordinal внешнего runner. Locked, installed, current Task branch и active Milestone
|
|
630
|
-
base обязаны совпадать с declared source. Любая missing/divergent surface блокирует transport.
|
|
631
|
-
|
|
632
|
-
Version consensus не заменяет остальные guards: должна существовать ровно одна eligible failed-Step
|
|
633
|
-
Plan-integrity assessment, observation обязана быть coherent, lease/transaction/Core operation
|
|
634
|
-
отсутствуют, а dirty bytes совпадают с доказанным Step scope. После dependency-only Git transport
|
|
635
|
-
repository-local runner регистрирует commit только через advertised
|
|
636
|
-
`update plan-integrity-dependency-recover`. Source consensus не усыновляет product history, не меняет
|
|
637
|
-
Plan/remediation evidence и не даёт generic update authority другим beta lines.
|
|
638
|
-
|
|
639
|
-
# 14.9. beta.12.18 historical check-support scope adoption
|
|
640
|
-
|
|
641
|
-
Validation v3 связывает check-support event с `event.planHash`. Если поздний Knowledge rebind и новый
|
|
642
|
-
Plan явно добавили derived support path, исторический event проверяется по собственным immutable
|
|
643
|
-
fields, hashes и conflict evidence, а не против scope нового Plan. Только event текущего Plan может
|
|
644
|
-
расширять effective Step scope; поэтому старое evidence не переносит authority неявно.
|
|
645
|
-
|
|
646
|
-
Read-only `update plan-integrity-update-preflight` может вернуть
|
|
647
|
-
`compatibilityMode=post-rebind-scope-adoption`, только если Task ожидает execution authorization, ни
|
|
648
|
-
одна Step не выполняется, существует ровно один исторический v3 `continue-fix`, его dirty paths и
|
|
649
|
-
content hash не изменились, а current planned Step напрямую владеет всеми `scopeExtensions` и
|
|
650
|
-
объявляет их outputs. Обычные coherent-version, lease, transaction, Core-operation и dependency-only
|
|
651
|
-
Git guards сохраняются. После регистрации update Knowledge rebind, PRA и authorization выполняются
|
|
652
|
-
только по fresh routes; Human approval для exact machine-proved scope не нужен.
|
|
653
|
-
|
|
654
|
-
# 14.10. beta.12.19 historical check-support dirty carryover
|
|
655
|
-
|
|
656
|
-
После регистрации dependency recovery current Plan может быть ещё раз mechanically rebound и
|
|
657
|
-
авторизован, тогда как product bytes остаются uncommitted. Запуск разрешён только при едином
|
|
658
|
-
assessment для `next` и `runStep`: latest compatible dependency record должен быть зарегистрирован на
|
|
659
|
-
точной history boundary; его Plan должен совпадать с current Plan или вести к нему через непрерывную
|
|
660
|
-
Knowledge-rebind chain; planned Step должна владеть каждым dirty path и каждым `scopeExtension`; full
|
|
661
|
-
path set и `hashDirtyWorktree` должны совпадать; один validated historical check-support decision
|
|
662
|
-
должен связывать те же conflict/remediation/scope fields.
|
|
663
|
-
|
|
664
|
-
При полном совпадении `next` публикует
|
|
665
|
-
`planIntegrityDirtyCarryover.state=validated`, а `task run` принимает только эти байты под current
|
|
666
|
-
Step envelope. При любом расхождении `next` возвращает `doctor` с `blockedAction=task run`; lease,
|
|
667
|
-
Step mutation и commit не создаются. Для обновления уже авторизованной beta.12.18 Task внешний
|
|
668
|
-
beta.12.19 runner выдаёт `compatibilityMode=post-rebind-dirty-carryover`, после чего сохраняются
|
|
669
|
-
обычный dependency-only transport, repository-local registration, Knowledge rebind, PRA,
|
|
670
|
-
authorization, checks, Core commit и sealed review. Human approval не добавляется.
|
|
671
|
-
|
|
672
|
-
# 15. P04-A structural replacement boundary
|
|
673
|
-
|
|
674
|
-
Command shape `task replacement-materialize` retained только для compatibility diagnostics. Любая попытка
|
|
675
|
-
возвращает `TRANSITION_BLOCKED`, diagnostic `STRUCTURAL_REPLACEMENT_REQUIRED` и incident dependency edges
|
|
676
|
-
до Task/Discovery/Milestone/Knowledge/lock writes.
|
|
677
|
-
|
|
678
|
-
`next` при terminal split возвращает:
|
|
679
|
-
|
|
680
|
-
```text
|
|
681
|
-
action: doctor
|
|
682
|
-
blockedAction: task replacement-materialize
|
|
683
|
-
replacementGate.structuralReplacementAvailable: false
|
|
684
|
-
replacementGate.transaction: disabled
|
|
685
|
-
```
|
|
686
|
-
|
|
687
|
-
Нельзя rebind, refresh, replan, authorize, resume, cancel historical Task, consume replacement Discovery
|
|
688
|
-
или manually rewire graph. P04-B/P05 должен определить arbitrary cardinality, scope redistribution,
|
|
689
|
-
dependency rewiring, completed-work adoption и crash-safe transaction.
|
|
690
|
-
|
|
691
|
-
# 16. Milestone progress и Codex task supervision
|
|
692
|
-
|
|
693
|
-
`milestone progress` является read-only projection: ordinals, membership disposition/reason, dependency
|
|
694
|
-
state, predecessors/statuses, runnable/block reason, replacement links и Step statuses.
|
|
695
|
-
|
|
696
|
-
Coordinator создаёт отдельный standalone Codex task just-in-time. TaskContextPacket не содержит parent
|
|
697
|
-
transcript или secrets. Project registry выдаёт monotonic #NNN и exact title; readback/fallback обязательны.
|
|
698
|
-
|
|
699
|
-
Coordinator ждёт one routed Task, читает closed CoordinatorReport, затем выполняет repository
|
|
700
|
-
`status -> next` и новый progress projection. Recoverable non-human continuation возвращается в тот же
|
|
701
|
-
Task chat. Следующий Task dispatch разрешён только после terminal merged confirmation.
|
|
702
|
-
|
|
703
|
-
# 17. codebase-memory graph
|
|
704
|
-
|
|
705
|
-
`codebase-memory-mcp` используется только после `graph refresh-request`. Gateway сверяет project/root,
|
|
706
|
-
index status и request fingerprint, получает derived evidence и вызывает `graph bind` с current revision.
|
|
707
|
-
|
|
708
|
-
Graph является навигационным индексом, не Project Knowledge authority. При provider unavailable Core
|
|
709
|
-
записывает explicit `graph fallback`; агент продолжает Git search, прямое чтение файлов и tests, если
|
|
710
|
-
другой independent gate не блокирует работу.
|
|
711
|
-
|
|
712
|
-
# 18. Error codes и recovery discipline
|
|
713
|
-
|
|
714
|
-
| Code | Значение | Реакция |
|
|
715
|
-
|---|---|---|
|
|
716
|
-
| `INVALID_ARGUMENT` | Closed input contract нарушен | Исправить exact syntax/field, не менять semantics |
|
|
717
|
-
| `NOT_FOUND` | Entity/artifact/lock отсутствует | Проверить project и ID через fresh observations |
|
|
718
|
-
| `STATE_CONFLICT` | expected revision устарела | Новый status/show/next, без blind retry |
|
|
719
|
-
| `STATE_CORRUPT` | Schema/hash/chain несовместимы | Stop и owning recovery/diagnostics |
|
|
720
|
-
| `LOCKED` | Active writer lease существует | Не создавать второго writer |
|
|
721
|
-
| `LOCK_TOKEN_INVALID` | Bearer не владеет lease | Credential recovery для exact owner |
|
|
722
|
-
| `TRANSITION_BLOCKED` | Lifecycle/authority gate не выполнен | Следовать action/details из fresh next |
|
|
723
|
-
| `GIT_PRECONDITION_FAILED` | Branch/base/clean/history mismatch | Штатная Git recovery/sync route |
|
|
724
|
-
| `COMMAND_FAILED` | Git/check/provider process failed | Сохранить evidence и устранить concrete cause |
|
|
725
|
-
|
|
726
|
-
Docker socket/CLI `EPERM`, `operation not permitted` или `permission denied` внутри sandbox классифицируется
|
|
727
|
-
как execution-boundary access, не как `COMMAND_FAILED` daemon. Exact read-only probe или Plan check один раз
|
|
728
|
-
повторяется с escalation и не расходует remediation/infra retry. Restart Docker Desktop или image mutation
|
|
729
|
-
без отдельного разрешения запрещены; daemon failure подтверждает только escalated invocation.
|
|
730
|
-
|
|
731
|
-
После каждой successful mutation обязателен sequential `status`, затем fresh `next`. Failed status/next
|
|
732
|
-
не разрешает direct mutation. Syntax help read-only и не заменяет navigation authority.
|
|
733
|
-
|
|
734
|
-
# 19. Public command surface beta.13
|
|
735
|
-
|
|
736
|
-
| Область | Actions |
|
|
737
|
-
|---|---|
|
|
738
|
-
| System | `doctor`, compact `status`, explicit `status --full`, `next`, `gateway handshake`, `locks` |
|
|
739
|
-
| Update | `preflight`, `rescue-preflight`, dependency provenance, historical-Step dependency bridge, downstream-proof bridges, Plan-integrity update/dependency bridge |
|
|
740
|
-
| Project memory | `scan`, `show`, `status`, `approve`, `reconcile` |
|
|
741
|
-
| Delegation | `prepare`, `grant`, `list`, `show`, `revoke` |
|
|
742
|
-
| Graph | `prepare`, `status`, `refresh-request`, `bind`, `fallback` |
|
|
743
|
-
| Discovery | `start`, `update`, `show`, `materialize` |
|
|
744
|
-
| Milestone | `recover`, `show`, `progress`, `plan-set`, `remediation-materialize`, scope-change, autonomy, `authorize`, `validate`, `accept`, `cancel` |
|
|
745
|
-
| Task planning | `show`, `plan-set`, `knowledge-rebind`, `context-refresh`, `authorize`, `plan-risk-audit` |
|
|
746
|
-
| Task execution | `start`, `run`, `step-complete`, `submit`, `result-set`, `accept`, `sync-base`, `merge`, `merge-confirm` |
|
|
747
|
-
| C1 | `handoff[-prepare/-replace/-show]`, `claim --claim-credential-ref`, `writer-credential-replace`, lease-bound actions с `--writer-credential-ref`, `handback[-create]` |
|
|
748
|
-
| Review | review/step-review packet с `--review-mode ordinary|security`, launch, sealed record и record actions |
|
|
749
|
-
| Corrective | decision/recovery, plan-integrity, historical-step-provenance preflight/recover, downstream-proof-recover/replan-recover, remediation-mode, stop-override prepare/apply, yield и corrective-replan actions |
|
|
750
|
-
| Replacement | `replacement-materialize` retained, но всегда disabled в P04-A |
|
|
751
|
-
|
|
752
|
-
Exact options берутся из fresh `next`; command help используется только когда
|
|
753
|
-
`exactOptionContractAvailable=false` или syntax действительно неизвестен.
|
|
754
|
-
|
|
755
|
-
<!-- pagebreak -->
|
|
756
|
-
|
|
757
|
-
# 20. Release и package update gates
|
|
758
|
-
|
|
759
|
-
Перед package update project-local `update preflight` должен вернуть `safe=true`: clean checkout, нет
|
|
760
|
-
running Step и active/stale writer lease. Исключения — документированный alpha.7 rescue, beta.12.6
|
|
761
|
-
active-downstream-proof bridge, beta.12.7 exact stranded-replan bridge, beta.12.9 historical-Step
|
|
762
|
-
dependency bridge и beta.12.15 Plan-integrity bridge; все они fail-closed и не дают общего разрешения
|
|
763
|
-
dirty update.
|
|
764
|
-
|
|
765
|
-
Перед beta.13 tag обязательны `npm ci`, полный `npm run validate`, Signal-shaped recovery E2E до
|
|
766
|
-
последующей ordinary Step/Task dispatch, credential confinement, rolling-cause и production-edge suites,
|
|
767
|
-
observed-route matrix/compact-status/reviewer-runtime tests, legacy compatibility regressions,
|
|
768
|
-
`npm run test:signal-t10-check-support-e2e`, `npm run test:signal-remediation-e2e`,
|
|
769
|
-
`npm run pack:check`, `npm run smoke:downstream`, `npm run plugin:check`, official plugin/skill validators,
|
|
770
|
-
`npm run docs:pdf:check` и `npm run release:check` с exact `v2.0.0-beta.13.5` tag binding и append-only
|
|
771
|
-
real-agent lifecycle log. Candidate проверяется из clean source checkout; missing built module не должен
|
|
772
|
-
превращаться в stack trace, а обязан быть детерминированно собран или диагностирован release gate.
|
|
773
|
-
|
|
774
|
-
Real-agent gate повторяет production boundary Codex App: Task agent удерживает live writer authority,
|
|
775
|
-
отдельный App reviewer читает external-sealed packet, после чего Task agent записывает sealed result.
|
|
776
|
-
Nested native `codex exec` внутри другого Codex agent не является release evidence. Packet generation
|
|
777
|
-
логируется как read-only observation, record — как exact `next`-authorized mutation с последующими
|
|
778
|
-
`status` и `next`.
|