codex-workflow-v2 2.0.0-beta.13.9 → 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 +89 -29
- 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/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/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/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 +1 -1
- 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-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 +666 -1460
- 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 -388
- 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 -757
- 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 -506
- 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
package/docs/pdf/README.md
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
# Russian PDF documentation
|
|
2
|
-
|
|
3
|
-
The three tracked PDFs in this directory are deterministic release artifacts generated from the
|
|
4
|
-
reviewable Markdown files in [`sources`](sources/).
|
|
5
|
-
|
|
6
|
-
Generate them with:
|
|
7
|
-
|
|
8
|
-
```bash
|
|
9
|
-
npm run docs:pdf
|
|
10
|
-
```
|
|
11
|
-
|
|
12
|
-
Verify that the tracked binaries match the current sources and package version with:
|
|
13
|
-
|
|
14
|
-
```bash
|
|
15
|
-
npm run docs:pdf:check
|
|
16
|
-
```
|
|
17
|
-
|
|
18
|
-
The generator reads the exact version from the root `package.json`, uses embedded TrueType font
|
|
19
|
-
subsets, and writes deterministic PDF bytes. A release must update source and PDF together. The
|
|
20
|
-
PDFs are human-facing artifacts; runtime code, schemas, the bundled gateway and ordinary Markdown
|
|
21
|
-
documents remain the technical authority.
|
|
22
|
-
|
|
23
|
-
The runner uses `CODEX_WORKFLOW_PDF_PYTHON` when supplied, then the bundled Codex App Python, then
|
|
24
|
-
`python3`. Non-Codex environments can install the pinned dependency from `requirements.txt`.
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
reportlab==4.4.9
|
|
@@ -1,478 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Codex Workflow V2: архитектура beta.13
|
|
3
|
-
subtitle: Источники истины, lifecycle, роли, delegation, зависимости Tasks и границы доверия
|
|
4
|
-
part: Часть 1 из 3 | Архитектура
|
|
5
|
-
document_version: 2.0
|
|
6
|
-
date: 2 сентября 2026
|
|
7
|
-
subject: Архитектура и границы Codex Workflow V2 beta.13
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# 1. Назначение и граница системы
|
|
11
|
-
|
|
12
|
-
Codex Workflow V2 - локальный state machine поверх Codex App, Git и файлов проекта. Codex выполняет
|
|
13
|
-
исследование и реализацию. Workflow Core решает, разрешена ли конкретная мутация, связывает её с
|
|
14
|
-
актуальными revisions и hashes, управляет writer credentials и создаёт проверяемые Git evidence.
|
|
15
|
-
|
|
16
|
-
> **Главная граница:** файлы проекта и Git history являются долговременной продуктовой памятью. Локальный Workflow state хранит производный lifecycle и не может заменять repository knowledge.
|
|
17
|
-
|
|
18
|
-
Система рассчитана на одного пользователя и одну машину. Она не предоставляет distributed locking,
|
|
19
|
-
криптографическую идентификацию actor string или безопасную синхронизацию state между компьютерами.
|
|
20
|
-
|
|
21
|
-
## 1.1. Что beta.13 гарантирует
|
|
22
|
-
|
|
23
|
-
- exact project-local npm package и совместимый handshake до lifecycle действий;
|
|
24
|
-
- Discovery до materialization Task или Milestone;
|
|
25
|
-
- утверждённую Project Knowledge Map и Plan, связанный с её точной revision/hash;
|
|
26
|
-
- mechanical-feasibility проверку поддерживаемых форм Plan до новой Task authorization;
|
|
27
|
-
- явный Milestone dependency DAG и один общий runnable predicate для routing, handoff, claim и start;
|
|
28
|
-
- один C1 writer lease, host-safe credential references и Core-owned Step commits: secret хранится
|
|
29
|
-
только в project-bound local vault с mode `0600`, а argv и CLI output содержат только reference;
|
|
30
|
-
- lease-free Human final-acceptance gate: `task result-set` проверяет и освобождает active writer
|
|
31
|
-
lease, а после acceptance merge получает новый credential только через fresh recovery route;
|
|
32
|
-
- external-sealed Step/Task review в отдельных Codex tasks;
|
|
33
|
-
- state-bound human gates либо ранее выданные bounded delegation contracts;
|
|
34
|
-
- journaled recovery для составных переходов и fail-closed поведение при drift/corruption.
|
|
35
|
-
- bounded recovery, когда downstream proof требует изменить уже завершённый predecessor Step:
|
|
36
|
-
worktree и HEAD сохраняются, stale completion authority снимается, та же Task возвращается в planning.
|
|
37
|
-
- bounded compatibility recovery, если beta.12.6 после этого recovery ошибочно rebind-нула отвергнутый
|
|
38
|
-
Plan: exact dirty bytes сохраняются до нового consolidated Step, а Knowledge refresh не отменяет `plan-set`.
|
|
39
|
-
- corrective Plan сохраняет authority исключённых completed Step commits, а beta.12.9 bounded recovery
|
|
40
|
-
исправляет уже stranded state только при passed strict review и прежнем hash-bound final acceptance.
|
|
41
|
-
- pre-execution `stop-escalate`, доказавший отсутствующую upstream capability, может materialize ровно
|
|
42
|
-
один additive remediation Task без нового Human gate; Core сохраняет Milestone semantics и выводит
|
|
43
|
-
authority из текущей Milestone authorization и exact audit evidence.
|
|
44
|
-
- исторический check-support decision проверяется против собственного Plan hash, а новый Plan может
|
|
45
|
-
продолжить только после явного принятия каждого support path в `allowedWrites` и `expectedOutputs`;
|
|
46
|
-
implicit scope carry-over и Human approval для этого exact machine-proved случая отсутствуют.
|
|
47
|
-
- после dependency registration и Knowledge rebind один общий fail-closed assessor управляет и
|
|
48
|
-
навигацией, и `task run`: переносится только точный dirty set с тем же content hash, registered HEAD,
|
|
49
|
-
непрерывной Plan/rebind chain и явным scope текущей Step; drift переводит route в `doctor`.
|
|
50
|
-
- failed check фиксируется одной project transaction: Core связывает checks и dirty-worktree hashes,
|
|
51
|
-
сохраняет неизменные product bytes, переводит Task в `needs_fix` и освобождает writer lease;
|
|
52
|
-
- failed strict review так же атомарно связывает remediation, Task pause и lease release; при повторной
|
|
53
|
-
authoritative reviewer cause та же transaction добавляет C1 yield до рекламы root-cause replan;
|
|
54
|
-
- rolling cause-bound refinement без числового лимита: новая причина остаётся в той же Task, а повтор
|
|
55
|
-
mechanically normalized cause либо stable reviewer `causeId` с `planConflict=true` требует replan
|
|
56
|
-
первопричины;
|
|
57
|
-
- evidence-bound transitive component-owner augmentation при неизменной semantic boundary и
|
|
58
|
-
PRA-derived production-edge obligation для multi-Step `runtime-composition` consumer с transitive
|
|
59
|
-
owner и исполняемым consumer check; простой one-Step runtime исключён;
|
|
60
|
-
- компактный `status` по умолчанию, подготовительный reviewer-runtime preflight вне sealed checkout и
|
|
61
|
-
явный review mode `ordinary|security` без неявного security scan;
|
|
62
|
-
- versioned matrix для route classes, реально наблюдавшихся в Signal: unique priority, predicate,
|
|
63
|
-
CLI/executor binding и successor witness; unsupported действия перечисляются явно.
|
|
64
|
-
|
|
65
|
-
## 1.2. Что beta.13 не гарантирует
|
|
66
|
-
|
|
67
|
-
- правильность продуктовой идеи или автоматически выбранного provider Task;
|
|
68
|
-
- semantic sufficiency Plan, если точные факты нельзя доказать поддерживаемым analyzer;
|
|
69
|
-
- параллельную работу нескольких writers в одном checkout;
|
|
70
|
-
- автоматический structural replacement после `split-required`;
|
|
71
|
-
- восстановление вручную повреждённого state без штатной recovery transition.
|
|
72
|
-
- product truth только из structural production-edge contract: он доказывает форму owner/consumer/check,
|
|
73
|
-
но не корректность требований, поведения продукта или Step-validity authority P02;
|
|
74
|
-
- глобально полный каталог state machine: observed-route matrix ограничена route classes из Signal и
|
|
75
|
-
хранит отдельный unsupported inventory;
|
|
76
|
-
- generic import product-first/shadow history либо синтетическое принятие Step, Task или Milestone.
|
|
77
|
-
|
|
78
|
-
# 2. Шесть уровней и источники истины
|
|
79
|
-
|
|
80
|
-
| Уровень | Источник истины | Ответственность |
|
|
81
|
-
|---|---|---|
|
|
82
|
-
| Пользователь / principal | Явные ответы и подтверждённые policies | Scope, semantic unknowns, grant issuance, human gates |
|
|
83
|
-
| Codex App | Project folders, tasks, permissions | User-visible execution contexts и bounded tool access |
|
|
84
|
-
| Роли агентов | Fresh ContextPacket и Workflow projection | Discovery, planning, execution, review, coordination |
|
|
85
|
-
| Project-local gateway | Exact installed package и protocol | Handshake, routing discipline, app chat boundary |
|
|
86
|
-
| Workflow Core | Runtime transitions и schemas | Revisions, hashes, locks, Git ownership, evidence |
|
|
87
|
-
| Repository и local state | Git/files и revisioned state | Durable product facts и производный lifecycle |
|
|
88
|
-
|
|
89
|
-
При расхождении приоритет имеют runtime Core и обычные файлы текущего repository. PDF объясняет
|
|
90
|
-
контракт человеку, но не заменяет `status`, свежий `next`, schemas или package-local help.
|
|
91
|
-
|
|
92
|
-
## 2.1. Exact package boundary
|
|
93
|
-
|
|
94
|
-
Продуктовый repository обязан объявить `codex-workflow-v2` точной версией в `devDependencies`.
|
|
95
|
-
Gateway разрешает только `node_modules/codex-workflow-v2/dist/src/cli.js` этого repository,
|
|
96
|
-
сравнивает installed и declared versions, затем выполняет `gateway handshake`.
|
|
97
|
-
|
|
98
|
-
```text
|
|
99
|
-
AGENTS.md
|
|
100
|
-
-> project-local gateway
|
|
101
|
-
-> gateway handshake
|
|
102
|
-
-> status # bounded compact projection
|
|
103
|
-
-> status --full # только когда действительно нужна полная historical projection
|
|
104
|
-
-> next [--task <exact TASK-ID>]
|
|
105
|
-
-> только рекламируемая transition
|
|
106
|
-
```
|
|
107
|
-
|
|
108
|
-
`doctor` является диагностикой, но не заменяет успешные `status` и `next`. Help разрешён только для
|
|
109
|
-
уточнения syntax после свежего routing response.
|
|
110
|
-
|
|
111
|
-
# 3. Долговременные и производные артефакты
|
|
112
|
-
|
|
113
|
-
| Артефакт | Где находится | Кто владеет записью |
|
|
114
|
-
|---|---|---|
|
|
115
|
-
| Product code, tests, Markdown docs | Git repository | Worker в Plan scope; Git commit создаёт Core |
|
|
116
|
-
| AGENTS.md и Project Knowledge | Git repository | Пользователь и обычный reviewable change |
|
|
117
|
-
| Knowledge Map | Local Workflow state | Project-memory transitions |
|
|
118
|
-
| Discovery state | Local Workflow state | Discovery transitions |
|
|
119
|
-
| Brief, Plan, Result, evidence | Local Workflow state с versioned artifacts | Core transitions |
|
|
120
|
-
| Task/Milestone state и sidecars | Local Workflow state | Core, CAS и schema validation |
|
|
121
|
-
| Writer locks и private credentials | Local Workflow state; credential vault files mode `0600` | Lock manager и C1 transitions |
|
|
122
|
-
| Transaction journals | Local Workflow state | Composite transition recovery |
|
|
123
|
-
| codebase graph binding | Local Workflow state | Derived evidence, не product authority |
|
|
124
|
-
|
|
125
|
-
Ручное редактирование state, locks, sidecars или `.versions` запрещено. Оно ломает hash chain,
|
|
126
|
-
expected revision и восстановимость составных операций.
|
|
127
|
-
|
|
128
|
-
# 4. Discovery, Task и Milestone
|
|
129
|
-
|
|
130
|
-
| Сущность | Назначение | Terminal success |
|
|
131
|
-
|---|---|---|
|
|
132
|
-
| Discovery | Уточнить outcome, scope, acceptance, constraints и unknowns | Готова к materialization |
|
|
133
|
-
| Task | Один самостоятельный проверяемый результат | Reviewed, accepted и merged |
|
|
134
|
-
| Step | Атомарный инкремент внутри Task | Checks, один Core commit и evidence |
|
|
135
|
-
| Milestone | Сквозной outcome из связанных Tasks | Required Tasks merged, validation и acceptance |
|
|
136
|
-
|
|
137
|
-
## 4.1. Task lifecycle
|
|
138
|
-
|
|
139
|
-
```text
|
|
140
|
-
Discovery -> materialize -> Plan -> Plan Risk Audit
|
|
141
|
-
-> mechanical feasibility -> execution authorization
|
|
142
|
-
-> C1 handoff -> claim -> start -> Steps
|
|
143
|
-
-> submit -> external-sealed review -> Result
|
|
144
|
-
-> final acceptance -> merge
|
|
145
|
-
```
|
|
146
|
-
|
|
147
|
-
`task result-set` является последним execution lease-bound переходом. Он требует рекламируемую
|
|
148
|
-
writer credential reference, освобождает lease до `awaiting_final_acceptance` и тем самым допускает неограниченную
|
|
149
|
-
по времени Human pause без stale-lock блокировки repository. После acceptance прежний token не
|
|
150
|
-
переиспользуется: fresh `next` выдаёт bounded `task writer-credential-replace` для merge.
|
|
151
|
-
|
|
152
|
-
Fresh Task authorization записывает versioned mechanical-feasibility evidence. Analyzer может
|
|
153
|
-
выдать `blocked`, `pass` или `unverified`. `unverified` не означает semantic approval; он означает,
|
|
154
|
-
что поддерживаемая точная грамматика не доказала противоречие.
|
|
155
|
-
|
|
156
|
-
## 4.2. Milestone initial assembly
|
|
157
|
-
|
|
158
|
-
После materialization Milestone Core возвращает `milestone initial-assembly`. Coordinator создаёт
|
|
159
|
-
linked Task Discoveries и materializes Tasks только через команды, рекламируемые `next`. После
|
|
160
|
-
появления полного intended membership один `milestone plan-set` атомарно публикует state и plan.json.
|
|
161
|
-
До этого execution недоступно.
|
|
162
|
-
|
|
163
|
-
Каждая membership содержит:
|
|
164
|
-
|
|
165
|
-
```text
|
|
166
|
-
taskId
|
|
167
|
-
disposition: required | waived | cancelled
|
|
168
|
-
reason
|
|
169
|
-
dependsOnTaskIds: [exact predecessor Task IDs]
|
|
170
|
-
```
|
|
171
|
-
|
|
172
|
-
Даже независимая Task обязана объявить `dependsOnTaskIds: []`. Отсутствующее поле в legacy state
|
|
173
|
-
означает unknown dependency authority, а не пустой граф.
|
|
174
|
-
|
|
175
|
-
## 4.3. Runnable predicate P04-A
|
|
176
|
-
|
|
177
|
-
Task runnable только когда Milestone active, membership required и все canonical predecessors имеют
|
|
178
|
-
status `merged`. Ordinal, название, время создания и порядок в чате не создают dependency.
|
|
179
|
-
|
|
180
|
-
Один predicate применяется к repository routing, Task-specific routing, handoff preparation,
|
|
181
|
-
claim до lease acquisition и direct start. Authorization не обходит dependency block.
|
|
182
|
-
|
|
183
|
-
# 5. Delegated approval и Milestone autonomy
|
|
184
|
-
|
|
185
|
-
Delegation не превращает agent в human actor. Event отдельно хранит principal, delegate, grant,
|
|
186
|
-
policy hash, transition, scope и expiry.
|
|
187
|
-
|
|
188
|
-
| Механизм | Когда применять | Что не разрешает |
|
|
189
|
-
|---|---|---|
|
|
190
|
-
| Direct human gate | Default path | Никакой последующей автономии |
|
|
191
|
-
| DGA/DGR delegated approval | Exact allow-listed approval transition | Scope expansion, grant issuance, обычные execution transitions |
|
|
192
|
-
| Milestone Autonomy Contract | После полного initial Milestone Plan | Outcome/check/base/discovery changes и standalone map approval |
|
|
193
|
-
|
|
194
|
-
Для нового `AUTO` Discovery допустим короткий project-scoped DGR, если нужен exact
|
|
195
|
-
`project_memory.approve` или будущий approval transition. Blocking semantic unknown всегда возвращается
|
|
196
|
-
пользователю. После полного initial Milestone Plan предпочтителен один bounded
|
|
197
|
-
`milestone autonomy-prepare` gate и отдельное подтверждение `MAC-*`, затем `autonomy-grant`.
|
|
198
|
-
|
|
199
|
-
Milestone Autonomy Contract покрывает разрешённые Task/Milestone approvals, membership-only evolve и
|
|
200
|
-
Project Memory approval только внутри atomic Task context refresh этого Milestone. Grant не применяется
|
|
201
|
-
к handoff, claim, run, step-complete, reviews, sync-base или merge.
|
|
202
|
-
|
|
203
|
-
# 6. Codex App chat topology
|
|
204
|
-
|
|
205
|
-
Milestone coordinator и Task chats являются отдельными user-visible Codex tasks, не fork одного
|
|
206
|
-
conversation. Coordinator создаёт Task chat just-in-time, передаёт закрытый TaskContextPacket и
|
|
207
|
-
остаётся активным supervisor до terminal Milestone либо настоящего user gate.
|
|
208
|
-
|
|
209
|
-
```text
|
|
210
|
-
Coordinator
|
|
211
|
-
-> Task T01 chat
|
|
212
|
-
-> Step Review chat при external-sealed gate
|
|
213
|
-
-> Final Review chat
|
|
214
|
-
-> Corrective/Plan Audit chat при необходимости
|
|
215
|
-
-> status -> next -> milestone progress
|
|
216
|
-
-> следующий runnable Task chat
|
|
217
|
-
```
|
|
218
|
-
|
|
219
|
-
Project chat registry атомарно выдаёт monotonic `#NNN`. Название всегда содержит membership ordinal и
|
|
220
|
-
полный entity ID. Sidebar count, creation order и ручное `01/02` не являются authority.
|
|
221
|
-
|
|
222
|
-
Coordinator ждёт routed Task через bounded waits, читает закрытый CoordinatorReport, затем проверяет
|
|
223
|
-
repository `status -> next`. Завершение дочернего чата само по себе не доказывает terminal Task.
|
|
224
|
-
|
|
225
|
-
# 7. C1 handoff, lease и Git ownership
|
|
226
|
-
|
|
227
|
-
`task handoff-prepare` возвращает `claimCredentialReference`, связанную с project, Task, target actor,
|
|
228
|
-
action и expiry. CLI разрешает `task claim` только с `--claim-credential-ref`, после успешного claim
|
|
229
|
-
удаляет одноразовый reference и возвращает `writerCredentialReference`. Lease-bound действия используют
|
|
230
|
-
только `--writer-credential-ref`. Legacy `--claim-token` и `--writer-token` отклоняются до transition.
|
|
231
|
-
|
|
232
|
-
Underlying bearer secret хранится только в regular local-vault file с mode `0600`; он не появляется в
|
|
233
|
-
argv, stdout, stderr, errors, packets или evidence. Reference не является переносимой authority: Core
|
|
234
|
-
проверяет project/entity/action/actor/expiry и integrity hash. Если reference утрачен или lease истёк,
|
|
235
|
-
используется только рекламируемая `task writer-credential-replace` для exact claimant.
|
|
236
|
-
|
|
237
|
-
Worker меняет только `allowedWrites` и оставляет изменения uncommitted. Coordinator вызывает точный
|
|
238
|
-
`task step-complete`; Core запускает checks, проверяет scope/history, создаёт один commit и evidence.
|
|
239
|
-
|
|
240
|
-
# 8. Knowledge Map и context refresh
|
|
241
|
-
|
|
242
|
-
Project Knowledge Map хранит paths, categories, scope, authority, hashes, gaps и conflicts, но не
|
|
243
|
-
копирует содержимое файлов. Scan является read-only. Reconcile и approve выполняются только через Core.
|
|
244
|
-
|
|
245
|
-
Если top-level `next` возвращает `task context-refresh`, Coordinator вызывает только эту atomic
|
|
246
|
-
transition с указанными revisions, actor и grant. Standalone reconcile перед ней создаёт human-approval
|
|
247
|
-
gap и блокируется.
|
|
248
|
-
|
|
249
|
-
Кроме content-only drift, Core может допустить exact supporting-source addition, заранее объявленное
|
|
250
|
-
execution-authorized Plan и покрытое тем же Milestone Autonomy Contract. Unsafe differences возвращают
|
|
251
|
-
обычный видимый reconcile/approve/rebind/reauthorize flow.
|
|
252
|
-
|
|
253
|
-
# 9. Review и corrective recovery
|
|
254
|
-
|
|
255
|
-
В Codex App strict review выполняется external-sealed:
|
|
256
|
-
|
|
257
|
-
1. Core формирует read-only review packet и repository seal.
|
|
258
|
-
2. Task chat создаёт отдельный Reviewer chat.
|
|
259
|
-
3. Reviewer возвращает закрытый schema-valid result без mutations.
|
|
260
|
-
4. Core записывает его только если packet и seals не изменились.
|
|
261
|
-
|
|
262
|
-
Native reviewer использует API-compatible strict Structured Output schema: каждый объявленный ключ object
|
|
263
|
-
обязателен, а семантически необязательные значения finding передаются как nullable. Malformed сочетание
|
|
264
|
-
`route`, `causeId` и `planConflict` не превращается в remediation authority и даёт unverified review.
|
|
265
|
-
|
|
266
|
-
Каждый packet создаётся только с явным `--review-mode ordinary|security`. Mode `ordinary` не запускает
|
|
267
|
-
и не подменяет проверку неявным security scan; mode `security` используется только когда security focus
|
|
268
|
-
запрошен явно. До выдачи packet Core формирует read-only reviewer-runtime preflight: exact Node и package
|
|
269
|
-
provenance, exact declared/locked/repository-local installed Workflow version, hash-verified runtime
|
|
270
|
-
build manifest и writable temporary cache за пределами sealed checkout. Перед каждым packet preflight
|
|
271
|
-
заново с диска разрешает фактический recursive dependency graph по parent-aware, nested-first правилам
|
|
272
|
-
Node и сверяет exact package manifests и SHA-256 runtime-файлов с build attestation. Поэтому уже
|
|
273
|
-
прогретый module cache не может скрыть удалённую, подменённую, конфликтующую либо symlink-redirected
|
|
274
|
-
dependency. Только после этой проверки preflight синхронно загружает через Node exact installed gateway,
|
|
275
|
-
reviewer и workflow graph. Общий gateway descriptor, который использует и CLI, подтверждает exact
|
|
276
|
-
package/protocol/schema; отдельный child process, произвольный timeout, cached trust decision и process
|
|
277
|
-
output не используются. Missing/stale build или dependency closure и failed runtime contract дают
|
|
278
|
-
`prepared=false`. Preflight не устанавливает dependencies и не изменяет checkout.
|
|
279
|
-
|
|
280
|
-
Новая beta.13 history не ограничивает число исправлений счётчиком. Каждый failure получает cause
|
|
281
|
-
bindings. Новая или неавторитетная причина продолжает ту же Task и проходит новый strict review.
|
|
282
|
-
Повтор одной authoritative причины после заявленного fix требует root-cause replan: для checks это
|
|
283
|
-
mechanically normalized fingerprint; для внешнего review — тот же stable `causeId` только вместе с
|
|
284
|
-
`planConflict=true`. Сходство текста и номер попытки authority не создают. `route=replan` меняет лишь
|
|
285
|
-
implementation Steps, не objective, requirements или acceptance. Legacy history без cause bindings
|
|
286
|
-
сохраняет прежний compatibility circuit; explicit `split-required` и `stop-escalate` остаются
|
|
287
|
-
stop/redirect decisions.
|
|
288
|
-
|
|
289
|
-
Если Step check не пройден, beta.13 одной transaction записывает remediation event, Task `needs_fix` с
|
|
290
|
-
hash-bound `failurePause` и удаление lease. Git HEAD и dirty bytes не меняются. Readback сверяет revision,
|
|
291
|
-
status, remediation hash, отсутствие lease, HEAD, dirty paths и их aggregate hash. Fresh `next` сначала
|
|
292
|
-
выдаёт credential replacement при отсутствии usable lease, затем route той же Task — fix или root-cause
|
|
293
|
-
replan. Ручной commit, state edit или потеря worktree не являются продолжением.
|
|
294
|
-
|
|
295
|
-
Failed strict review использует тот же continuation principle: review sidecars остаются append-only, а
|
|
296
|
-
одна project transaction записывает remediation и Task pause и удаляет exact proven lease. Если новый
|
|
297
|
-
event повторяет authoritative reviewer cause, transaction одновременно добавляет C1 yield. Поэтому
|
|
298
|
-
`task plan-set` рекламируется только при отсутствии writer lease и C1 claim; crash после durable review
|
|
299
|
-
sidecars восстанавливает один pause без duplicate remediation.
|
|
300
|
-
|
|
301
|
-
Для доказанного failed check Core может найти transitive component owner только по bounded static import
|
|
302
|
-
graph repository-local runner и только внутри уже затронутой component boundary. Same-Task augmentation
|
|
303
|
-
разрешена при неизменных objective, requirements, acceptance и security boundary hashes. Для multi-Step
|
|
304
|
-
Task независимая PRA-классификация consumer как `runtime-composition` требует
|
|
305
|
-
`requiresProductionEdges=true` и edge к существующему transitive owner Step с exact `checkRef`, который
|
|
306
|
-
действительно выполняет consumer. Пропуск planner-owned flag или edge блокирует admission; простой
|
|
307
|
-
one-Step runtime не требует искусственного predecessor. Это структурная admission-проверка, а не
|
|
308
|
-
доказательство product truth и не реализация Step-validity authority P02.
|
|
309
|
-
|
|
310
|
-
Beta.13.1 делает эту authority prospective и Plan-bound. Markerless PRA, созданная до появления
|
|
311
|
-
production-edge contract, читается без ретроактивной проверки отсутствующих полей, но только пока и PRA,
|
|
312
|
-
и Task не заявляют новую authority. Обычная новая PRA и atomic corrective replan записывают hash-chained
|
|
313
|
-
marker `required-v1`; content-only knowledge rebind сохраняет production edges у native Task, а у
|
|
314
|
-
действительно legacy Task сохраняет markerless posture. Миграция или ручное переписывание state не нужны.
|
|
315
|
-
Граница доверия остаётся repository-local state: это не криптографическая защита от полного
|
|
316
|
-
привилегированного переписывания всей hash chain.
|
|
317
|
-
|
|
318
|
-
Versioned observed-route matrix v2 связывает все 13 Signal-observed route classes с unique priority и
|
|
319
|
-
одним exact production-transition witness либо real terminal observation на класс. Это class-level
|
|
320
|
-
доказательство: action-level metadata отдельно различает `executable-witnessed`, `unwitnessed` и
|
|
321
|
-
`unsupported`. Действия без CLI authority находятся в explicit unsupported inventory. Boundary
|
|
322
|
-
`signal-observed-route-class-witnesses` не заявляет полноту всех actions или будущих transition families.
|
|
323
|
-
|
|
324
|
-
Beta.12.1 добавила одну append-only compatibility оговорку: beta.11 attempt-four
|
|
325
|
-
`stop-escalate` после exact `ordinary, ordinary, corrective` и prior attempt-3 `continue-fix` можно
|
|
326
|
-
возобновить через read-only `stop-override-prepare` и отдельный Human-confirmed
|
|
327
|
-
`stop-override-apply`. Исходный stop сохраняется, `split-required` не подходит, а stale revision,
|
|
328
|
-
Plan, HEAD, lease, transaction или повреждённая chain блокируют переход. Попытка 4 снова проходит
|
|
329
|
-
обычный `task run` и новый strict review.
|
|
330
|
-
|
|
331
|
-
Beta.12.4 сохраняет этот override при последовательности delegated `task context-refresh`, если
|
|
332
|
-
каждая версия Plan изменилась только в canonical Knowledge Map binding. Core проверяет весь
|
|
333
|
-
contiguous rebind/audit chain, mechanical equivalence каждого Plan Risk Audit, общую delegated
|
|
334
|
-
authority и корректную chronology. Git HEAD может продвинуться только через последовательность
|
|
335
|
-
зарегистрированных dependency-provenance commits, каждый из которых меняет ровно package.json и
|
|
336
|
-
package-lock.json. При утрате claimed writer lease используется только одновременно рекламируемый
|
|
337
|
-
`task writer-credential-replace`; semantic Plan drift, разрыв chain или любой другой commit
|
|
338
|
-
возвращают `doctor`.
|
|
339
|
-
|
|
340
|
-
Если последний dependency-provenance recovery записан уже после mechanical audit, он объясняет
|
|
341
|
-
ровно один дополнительный Task revision. Core требует, чтобы audit boundary плюс количество
|
|
342
|
-
проверенных post-audit recoveries точно равнялись current revision; произвольное увеличение
|
|
343
|
-
revision, неверный parent или повреждённая provenance остаются blocker.
|
|
344
|
-
|
|
345
|
-
Dependency-provenance recovery beta.12.1 также сохраняет ранее закоммиченные Task-local поля
|
|
346
|
-
manifest/lock, даже если base их не содержит. Candidate остаётся dependency-only: после удаления
|
|
347
|
-
только Workflow dependency parent и HEAD обязаны совпасть по всем product-owned полям.
|
|
348
|
-
|
|
349
|
-
beta.11 `task plan-integrity-recover` существует для одного первого checks-failed legacy/late case:
|
|
350
|
-
отсутствует exact root npm script и текущий Step не может изменить package.json. Recovery не меняет
|
|
351
|
-
worktree или Plan и не создаёт synthetic second failure; он записывает bound `replan-required`.
|
|
352
|
-
|
|
353
|
-
beta.12.6 различает другой случай: активный downstream proof оставил изменения в собственном scope и
|
|
354
|
-
показал необходимость исправить completed transitive predecessor. Fresh `next` вместо невозможного
|
|
355
|
-
`step-complete` рекламирует `task downstream-proof-recover`. Atomic transition сохраняет dirty files и
|
|
356
|
-
HEAD, переносит predecessor commits в historical `invalidatedStepCommits`, очищает только stale Step evidence,
|
|
357
|
-
yield C1 и возвращает ту же Task к новому Plan/risk audit/authorization. Unrelated dirty file,
|
|
358
|
-
non-predecessor ownership, повреждённый journal или unregistered commit fail closed.
|
|
359
|
-
|
|
360
|
-
Если старая версия не может установить этот fix из-за running Step/dirty preflight, beta.12.6
|
|
361
|
-
добавляет отдельный update bridge. После двух exact dependency-only commits на active base и Task
|
|
362
|
-
branch Core проверяет Task history на `HEAD^`, candidate на `HEAD`, все version surfaces, отсутствие
|
|
363
|
-
leases/transactions, predecessor ownership и content hash dirty set. Переход регистрирует только
|
|
364
|
-
dependency commit, не меняет product bytes/Step и делает обычный `task downstream-proof-recover`
|
|
365
|
-
достижимым до manifest-induced Knowledge refresh. Это не общее разрешение dirty update.
|
|
366
|
-
|
|
367
|
-
beta.12.7 закрывает следующий доказанный Signal case: beta.12.6 уже выполнила downstream-proof
|
|
368
|
-
invalidation, но последующее Project Knowledge approval механически вернуло старый двух-Step Plan в
|
|
369
|
-
`awaiting_execution_authorization`. Read-only `update downstream-proof-replan-update-preflight`
|
|
370
|
-
сначала связывает exact beta.12.6 revision, HEAD, шесть dirty paths и content hash. После двух
|
|
371
|
-
dependency-only commits `update downstream-proof-replan-dependency-preflight/recover` регистрирует
|
|
372
|
-
только новый Workflow HEAD. `task downstream-proof-replan-recover` затем атомарно возвращает ту же
|
|
373
|
-
Task в `needs_fix`; stale Knowledge можно reconciliate/approve, но fresh `next` всё равно требует
|
|
374
|
-
новый `task plan-set`. Новый Plan может передать сохранённые bytes только одному Step, который владеет
|
|
375
|
-
всем dirty set. `task run` принимает carryover лишь при exact HEAD/path/hash match, после чего Step
|
|
376
|
-
проходит обычные checks, Core-owned commit и strict review.
|
|
377
|
-
|
|
378
|
-
beta.12.9 закрывает исторический provenance gap corrective replan. Новые replan transitions автоматически
|
|
379
|
-
переносят evidence commits исключённых Steps в `invalidatedStepCommits`. Для уже существующего gap Core
|
|
380
|
-
требует один неожиданный commit, complete passed strict-review chain, verified reviewer attestation и
|
|
381
|
-
совпадающий прежний final acceptance. Если пакет уже зарегистрирован, recovery меняет только Task state.
|
|
382
|
-
Если exact beta.12.9 dependency commit ещё находится в HEAD, отдельный update compatibility route
|
|
383
|
-
регистрирует dependency и historical authority одной revision. Оба пути сохраняют dirty bytes текущего
|
|
384
|
-
Step, не переписывают Git и завершаются fresh обычным `step-complete` flow.
|
|
385
|
-
|
|
386
|
-
beta.12.11 закрывает иной класс тупика до начала выполнения. Если current Plan Risk Audit required Task
|
|
387
|
-
записал `stop-escalate`, потому что нужной upstream capability нет в scope этой Task, Core рекламирует
|
|
388
|
-
audited remediation. Coordinator сначала формализует capability обычным Discovery. Затем одна Project
|
|
389
|
-
transaction append-only создаёт required remediation Task на exact merged predecessor frontier исходной
|
|
390
|
-
Task, добавляет dependency blocked -> remediation и сохраняет все Milestone semantic fields и старые
|
|
391
|
-
memberships. Scope-change event связан с Task revision, Brief/Plan и audit hashes; повторное применение
|
|
392
|
-
того же audit невозможно. Текущая Milestone execution authorization и audit выводят
|
|
393
|
-
`corrective-derived` authority для Task authorize/accept без нового Human gate. Remediation Task проходит
|
|
394
|
-
обычный Plan, audit, C1, commits и reviews. После её merge исходная Task обязана заменить отвергнутый Plan,
|
|
395
|
-
пройти fresh audit и продолжить Step. Final Milestone acceptance не выводится автоматически.
|
|
396
|
-
|
|
397
|
-
Dependency-only update не должен создавать промежуточный Human gate. Если stale Knowledge отличается
|
|
398
|
-
только content hash `package.json`, все package surfaces уже равны runtime version, checkout clean, а
|
|
399
|
-
каждый Git commit, менявший `package.json` после approved hash, затрагивает ровно manifest/lock и только
|
|
400
|
-
Workflow pin, Core переносит reconcile и `corrective-derived` approval внутрь той же atomic remediation
|
|
401
|
-
transaction. Изменение любого другого Knowledge source, classification, gap или conflict fail-closed
|
|
402
|
-
остаётся в обычном явном approval flow.
|
|
403
|
-
|
|
404
|
-
beta.12.12 закрывает доказанный runtime Plan-integrity gap. Mechanical feasibility теперь статически
|
|
405
|
-
распознаёт repository-local `node <runner> affected`, когда исходник runner явно требует selector,
|
|
406
|
-
и блокирует authorization для `npm run <script>` без `--base`, `--head` или `--files`. Для уже начатой
|
|
407
|
-
Task recovery связывает не только первую, а всю последовательную checks-failed history, точный Plan,
|
|
408
|
-
manifest/runner hashes, HEAD и dirty allowlist. Exact beta.12.11 update bridge сохраняет product bytes,
|
|
409
|
-
регистрирует только dependency commit и атомарно обновляет Knowledge, если изменился только Workflow pin.
|
|
410
|
-
Результат — один `replan-required` decision и обычный corrective replan с исполняемой check command;
|
|
411
|
-
повтор старой команды, ручной commit product files и state editing не допускаются.
|
|
412
|
-
|
|
413
|
-
beta.12.15 устраняет следующий доказанный разрыв этого пути. Corrective-replan credential раздельно
|
|
414
|
-
связывает исходную Knowledge revision/hash Task и целевую active Knowledge revision/hash replacement
|
|
415
|
-
Plan. Различие разрешено только при exact Plan-integrity dependency recovery: текущий system commit,
|
|
416
|
-
package version, failed Step, Plan, полная remediation history, dirty file set и их bytes должны
|
|
417
|
-
совпасть. Один или несколько последовательных dependency-only updates после corrective yield могут
|
|
418
|
-
перенести ту же compatibility на новый HEAD: Core идёт назад до последнего зарегистрированного system
|
|
419
|
-
commit, проверяет каждый промежуточный commit как exact manifest/lock-only Workflow pin update и
|
|
420
|
-
атомарно регистрирует всю цепочку. Любой product diff, разрыв parent chain или изменённый worktree
|
|
421
|
-
fail-closed. Completed corrective-yield journal
|
|
422
|
-
остаётся историческим prefix-доказательством и не блокирует последующие append-only handoff events.
|
|
423
|
-
Completed corrective-replan journal также остаётся читаемым после эволюции binding manifest, но только
|
|
424
|
-
если его завершённый manifest/runtime/catalog tuple есть в append-only historical registry. Pending и
|
|
425
|
-
неизвестные identity по-прежнему fail-closed, поэтому compatibility не выдаёт новую authority.
|
|
426
|
-
|
|
427
|
-
beta.12.16 закрывает следующий доказанный разрыв: migration Step мог владеть новой SQL migration,
|
|
428
|
-
manifest и bootstrap, но не владеть TypeScript-модулем, который direct import из обязательного check
|
|
429
|
-
использовал как независимую SHA/catalog authority. Новый `wf2.check-support-anchor@1` блокирует такой
|
|
430
|
-
Plan до execution authorization. Для уже выполняемой Task после первого `checks-failed` Core связывает
|
|
431
|
-
Plan/Step/HEAD, полный dirty set, runner/support hashes, direct import, отсутствующий declared output и
|
|
432
|
-
существующие anchors. Если доказательство однозначно, append-only decision `continue-fix` выдаёт только
|
|
433
|
-
один exact support path как effective Step scope. Human replan не нужен, Plan hash и product bytes не
|
|
434
|
-
меняются, а Worker envelope, Core commit и sealed review packet явно используют и раскрывают derived
|
|
435
|
-
scope. Indirect import, dynamic shell, forbidden path, unrelated dirty file или отсутствие SHA anchors
|
|
436
|
-
fail-closed и не расширяют authority.
|
|
437
|
-
|
|
438
|
-
beta.12.17 закрывает transport-разрыв перед этим recovery: внешний runner больше не ожидает один
|
|
439
|
-
зашитый source release. Он выводит exact beta.12 source из declared dependency, требует равенства
|
|
440
|
-
locked, installed, current Task branch и active Milestone base и допускает только patch от .11 до
|
|
441
|
-
версии ниже runner. Dirty scope, отсутствие lease/transaction и dependency-only Git transport
|
|
442
|
-
остаются обязательными; product bytes и Workflow state вручную не изменяются.
|
|
443
|
-
|
|
444
|
-
beta.12.18 закрывает следующий post-rebind разрыв. Исторический check-support event остаётся валиден
|
|
445
|
-
по Plan hash, при котором был создан, даже если новый Plan теперь прямо владеет derived support path.
|
|
446
|
-
External preflight допускает продолжение только при одном таком event, неизменных dirty bytes,
|
|
447
|
-
отсутствии активного Step/lease/transaction и полном explicit scope adoption в planned Step. После
|
|
448
|
-
dependency-only transport Core заново связывает Knowledge и authorization; старый event не создаёт
|
|
449
|
-
скрытой authority и не модифицируется задним числом.
|
|
450
|
-
|
|
451
|
-
beta.12.19 закрывает оставшийся execution-boundary разрыв. Успешные transport, rebind, PRA и
|
|
452
|
-
authorization больше не заканчиваются рекламируемым, но невыполнимым `task run`: `next` и `runStep`
|
|
453
|
-
используют одну проверку registered recovery commit, exact dirty paths/content hash, historical
|
|
454
|
-
decision, Plan/rebind ancestry и current Step ownership. Совпадение разрешает только принятие уже
|
|
455
|
-
доказанных байтов; любое отличие блокирует запуск и не создаёт lease или commit.
|
|
456
|
-
|
|
457
|
-
Docker socket `EPERM` в sandbox не является доказательством сломанного daemon. Gateway один раз
|
|
458
|
-
повторяет exact health probe или Plan check с sandbox escalation без расходования remediation attempt.
|
|
459
|
-
Restart Docker Desktop требует отдельного разрешения и допустим только после escalated daemon failure.
|
|
460
|
-
|
|
461
|
-
> **Стоп P04-A:** `split-required` возвращает `STRUCTURAL_REPLACEMENT_REQUIRED` и `structuralReplacementAvailable=false`. Нельзя вызывать retained replacement command, потреблять replacement Discovery или вручную менять topology. Продолжение возможно только после P04-B/P05.
|
|
462
|
-
|
|
463
|
-
# 10. Operational checklist
|
|
464
|
-
|
|
465
|
-
- exact package version установлен, bundled gateway соответствует release и переустановлен;
|
|
466
|
-
- handshake подтверждает `packageVersion=2.0.0-beta.13.9`, protocol 2, state schema 2 и beta.13
|
|
467
|
-
capabilities;
|
|
468
|
-
- routine observation начинается с компактного `status`; `status --full` запрашивается только для
|
|
469
|
-
расследования, которому действительно нужна полная historical projection;
|
|
470
|
-
- каждый mutation следует свежему `status -> next` и exact option contract;
|
|
471
|
-
- Docker permission failure сначала классифицируется как sandbox boundary, а не как infra retry;
|
|
472
|
-
- semantic unknowns и human gates не маскируются delegation;
|
|
473
|
-
- Task chats создаёт coordinator; CLI получает только local-vault references и никогда не bearer secret;
|
|
474
|
-
- Reviewer packet прошёл runtime preflight и явно связан с `ordinary` либо `security` mode;
|
|
475
|
-
- production-edge contract трактуется как structural admission, а не как product acceptance;
|
|
476
|
-
- advertised route имеет Signal-observed matrix binding либо явно помечен unsupported;
|
|
477
|
-
- dependencies, progress и review posture берутся из Core projections;
|
|
478
|
-
- local state не редактируется вручную; release и package update выполняются только после safe preflight и обязательных checks.
|