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
|
@@ -1,726 +1,28 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Updating the one supported consumer
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
Milestones. Пользователь не выполняет команды самостоятельно: все проверки, установка и
|
|
5
|
-
Git-операции поручаются Codex.
|
|
3
|
+
Only the latest package is maintained. The installed dependency remains an exact version, and declared, locked, installed and relevant Git bindings must agree. This is reproducibility, not support for running old releases.
|
|
6
4
|
|
|
7
|
-
|
|
5
|
+
1. Finish or reach a supported clean boundary using the currently installed local package. Run its `update preflight`; inspect all blockers. An active Step, writer lease, pending/corrupt transaction or unclassified dirty work is not an update boundary.
|
|
6
|
+
2. Select the published exact target version and install it with `--save-dev --save-exact`. Keep dependency changes separate from product changes and preserve the Task/base history required by the current preflight. Do not amend, reset or hand-edit Workflow evidence.
|
|
7
|
+
3. Run the newly installed local CLI's handshake, `status`, then `next`. If Core advertises ordinary dependency provenance recovery, run its matching preflight and exact recovery. A dependency-only record never approves product work or Knowledge.
|
|
8
|
+
4. Follow current Knowledge reconciliation/rebind/authorization and credential routes. Read the actual returned action and local command help; do not replay a historical version recipe or use an external old/new runner over mismatched state.
|
|
8
9
|
|
|
9
|
-
|
|
10
|
-
проекта. Поэтому разные проекты могут использовать разные версии. Обновление одного проекта
|
|
11
|
-
не переключает остальные.
|
|
10
|
+
If the existing state cannot reach a supported boundary, report the concrete state/HEAD and blocker. There is no general dirty-update bypass. Recovery from already recorded evidence remains bounded by its current reader; no blanket migration or consumer-state rewrite is implied.
|
|
12
11
|
|
|
13
|
-
|
|
14
|
-
`$CODEX_HOME/workflow-state/v2/projects/<project-id>`. Оно определяется идентичностью Git
|
|
15
|
-
репозитория, а не версией npm-пакета. Обычное совместимое обновление заменяет зависимость и
|
|
16
|
-
gateway, но не удаляет и не пересоздаёт это состояние. Уже принятые Milestones, ревизии,
|
|
17
|
-
авторизации, evidence и Results сохраняются.
|
|
12
|
+
## Retained navigation checkpoint update
|
|
18
13
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
нужна. Для alpha.6 при `stateSchemaVersion: 2` применяется не migration, а sidecar-only
|
|
23
|
-
adoption posture.
|
|
14
|
+
The bounded exception supports a ready/planned native `navigation-fix-dirty-carryover` checkpoint,
|
|
15
|
+
one unregistered source dependency commit ending at `2.0.0-beta.13.16`, and exactly one subsequent
|
|
16
|
+
target dependency commit. It requires no leases or pending operations. It does not authorize product work.
|
|
24
17
|
|
|
25
|
-
|
|
18
|
+
1. Obtain the exact target tarball and unpacked target runtime outside the consumer. Before transport, run that target's read-only `update navigation-source-preflight --id <Task> --tarball <artifact> --repo <consumer>`. Require `eligible=true`; retain its `receipt` object outside the checkout. The artifact must match the executing package bytes. Repair stale leases with the installed source, then repeat. An active lease must reach its supported release boundary; absence of a lease requires no repair.
|
|
19
|
+
2. Only with this receipt and explicit update authorization, create one dependency-only target commit on the bound base branch in a separate checkout, and one on the Task branch directly after source HEAD. Change only the Workflow entries in package.json/package-lock.json; install the same exact tarball locally. Preserve all dirty product bytes. Do not reset, amend, stash, rewrite state or expand scope. For a live update the target must already be published and verified through the release gate; an unpublished package is permitted only in an isolated qualification scenario.
|
|
20
|
+
3. Run the installed target handshake, status, next; then `update navigation-transport-preflight --id <Task> --tarball <same artifact> --file <receipt>`. Require `eligible=true` and follow its returned `update navigation-recover` with the exact revision, original claimant actor, same receipt/artifact and an explicit reason. The receipt is not authority: Core reconstructs its source proof from Git, state, sidecars, dirty bytes and target artifact. Changed or foreign evidence blocks recovery. The timestamp binds stored Task state, not an editable claim of wall-clock freshness; all evidence is revalidated against the current boundary.
|
|
21
|
+
4. Recovery registers the two dependency commits in one Task-state write and sets `awaiting_execution_authorization`. It preserves original authorizations, completed Steps and C1. Follow fresh status/next through Knowledge refresh, independent audit and ordinary authorization; only fresh execution authority for the target HEAD can resume the Step. Replaying recovery after the revision changes is rejected. Preserve the source receipt with the update evidence.
|
|
26
22
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
corrective-replan PRA receives the hash-chained `structuralProductionEdgeAuthority=required-v1`
|
|
30
|
-
marker, and its current Plan must satisfy the edge contract. A markerless PRA and Task written
|
|
31
|
-
before that authority existed remain readable; Workflow must not reinterpret their historical
|
|
32
|
-
`runtime-composition` classification as proof that their old Plan contained beta.13 fields.
|
|
33
|
-
Historical PRA events from an earlier Plan are hash/shape validated but are not compared with the
|
|
34
|
-
current Plan's edges. This compatibility rule never edits, migrates or silently approves external
|
|
35
|
-
state. A later Plan/PRA recorded by beta.13.1 must satisfy the full structural boundary.
|
|
23
|
+
The source and target dependency transports are separate Git operations; interrupted transport is
|
|
24
|
+
not a successful update. Diagnose incomplete version/base bindings rather than proceeding to execution.
|
|
36
25
|
|
|
37
|
-
|
|
38
|
-
state and its complete self-hashed sidecar chain remains outside the trust model; repository rules
|
|
39
|
-
continue to prohibit manual state edits. The regression proves compatibility and fail-closed
|
|
40
|
-
partial mismatch, not authenticity against the machine owner.
|
|
26
|
+
The gateway plugin resolves the installed package; it does not copy Workflow assets into the consumer. Refresh its installed source through the supported plugin installation flow when the package changes, then verify a new Task loads the intended skill. Package text validation alone does not prove the App installation boundary.
|
|
41
27
|
|
|
42
|
-
|
|
43
|
-
patch path from beta.13 when `status` or `next` reports `STATE_CORRUPT` solely because a markerless
|
|
44
|
-
pre-beta.13 PRA lacks production-edge fields: run the old-version read-only preflight first, install
|
|
45
|
-
the patch dependency-only, and resume from a fresh handshake. Never edit the PRA sidecar manually.
|
|
46
|
-
|
|
47
|
-
### beta.13: coherent continuation and host-safe credentials
|
|
48
|
-
|
|
49
|
-
`2.0.0-beta.13.1` сохраняет `protocolVersion: 2` и `stateSchemaVersion: 2`; отдельная state migration
|
|
50
|
-
для перехода с beta.12.19 не нужна. Обновление выполняется только на безопасной границе обычного
|
|
51
|
-
`update preflight`: нет running Step, active/stale writer lease, незавершённой transaction/Core
|
|
52
|
-
operation и неучтённых dirty product bytes. Если хотя бы одно условие не выполнено, сначала
|
|
53
|
-
завершите advertised recovery текущей repository-local версией; установка beta.13.1 сама по себе не
|
|
54
|
-
является recovery-route и не разрешает переносить или редактировать внешний state.
|
|
55
|
-
|
|
56
|
-
Точный путь обновления:
|
|
57
|
-
|
|
58
|
-
1. Старой repository-local версией зафиксируйте `handshake`, `status`, `next` и read-only
|
|
59
|
-
`update preflight`; продолжайте только при `safe=true`.
|
|
60
|
-
2. Установите exact `codex-workflow-v2@2.0.0-beta.13.1` без диапазона и измените только
|
|
61
|
-
`package.json` и lock-файл.
|
|
62
|
-
3. Новой repository-local версией подтвердите совпадение declared, locked и installed
|
|
63
|
-
`2.0.0-beta.13.1`, прежний `projectId`, protocol/schema `2/2`, затем выполните `handshake`,
|
|
64
|
-
`doctor`, компактный `status` и `next`.
|
|
65
|
-
4. Обновите персональный `codex-workflow-gateway` только штатным installer из установленного
|
|
66
|
-
exact пакета и продолжайте работу в новом чате, который загрузит новую skill-инструкцию.
|
|
67
|
-
5. Если dependency commit сделал Knowledge Map stale, используйте только свежий advertised
|
|
68
|
-
reconcile/rebind route. Не объявляйте обновление пакета доказательством продуктового изменения.
|
|
69
|
-
|
|
70
|
-
После beta.13 credential contract меняется на host-safe references. Claim и writer transitions
|
|
71
|
-
принимают `--claim-credential-ref` или `--writer-credential-ref`; секретное значение нельзя
|
|
72
|
-
передавать в argv, prompt, transcript, stdout/stderr или JSON evidence. Ссылка указывает на локальную
|
|
73
|
-
project/entity/action/actor-bound запись с режимом `0600`; one-time claim reference потребляется
|
|
74
|
-
после успешного перехода. Старые secret-bearing CLI options fail closed. Если `next` требует свежую
|
|
75
|
-
credential после failed Step, lease expiry или claim recovery, следуйте сначала рекламируемому
|
|
76
|
-
credential replacement route и используйте только возвращённую reference, не старый secret/token.
|
|
77
|
-
|
|
78
|
-
Failed Step beta.13 больше не должен требовать ручного сохранения worktree или глобального lock
|
|
79
|
-
repair: Core одной `failed-step-continuation` transaction связывает failure evidence и точный hash
|
|
80
|
-
dirty bytes, переводит Task в продолжимое состояние и освобождает lease. Fresh `status -> next`
|
|
81
|
-
затем определяет ordinary same-Task fix либо root-cause replan. Количество review/fix циклов не
|
|
82
|
-
ограничено числом: replan обязателен только при повторе механически нормализованной причины либо
|
|
83
|
-
того же stable external reviewer `causeId` с `planConflict=true`; новая или неклассифицированная
|
|
84
|
-
находка остаётся same-Task fix.
|
|
85
|
-
|
|
86
|
-
Failed strict review также освобождает exact proven lease в одной transaction с remediation и Task
|
|
87
|
-
pause. При повторной authoritative reviewer cause эта transaction одновременно завершает C1 claim,
|
|
88
|
-
поэтому fresh `next` может рекламировать root-cause `task plan-set` без Human gate и без живой
|
|
89
|
-
write-authority. Прерванная граница после уже записанных review sidecars повторно завершается без
|
|
90
|
-
duplicate remediation.
|
|
91
|
-
|
|
92
|
-
Для новых Plans beta.13 дополнительно проверяет transitive component owner. Для multi-Step Task
|
|
93
|
-
независимая PRA-классификация consumer как `runtime-composition` требует явный structural production
|
|
94
|
-
edge: transitive owner Step, consumer Step и named check, который реально выполняет consumer. Planner
|
|
95
|
-
не может отключить эту проверку, пропустив flag или edge; простой one-Step runtime остаётся вне неё.
|
|
96
|
-
Это проверка структурной полноты, а не доказательство продуктовой
|
|
97
|
-
семантики и не реализация P02/P01-B. Generic shadow-history import, P04-B structural replacement и
|
|
98
|
-
completed-Step adoption остаются неподдержанными.
|
|
99
|
-
|
|
100
|
-
Операционные read-only контракты beta.13:
|
|
101
|
-
|
|
102
|
-
- `status` по умолчанию возвращает bounded compact projection; полная история доступна только через
|
|
103
|
-
явный `status --full`;
|
|
104
|
-
- sealed review packet проходит reviewer runtime preflight без изменения checkout: declared, locked и
|
|
105
|
-
repository-local installed Workflow versions совпадают, а runtime build manifest и каждый его JS hash
|
|
106
|
-
проверены; каждый вызов заново разрешает recursive runtime dependencies от их фактического parent package
|
|
107
|
-
(nested раньше hoisted) и сверяет package manifest и исполняемые файлы по хешам, поэтому warm module cache
|
|
108
|
-
не скрывает удалённую, изменённую, конфликтующую или symlink-перенаправленную зависимость;
|
|
109
|
-
текущий Node синхронно загружает exact installed gateway/reviewer/workflow graph и подтверждает
|
|
110
|
-
package/protocol/schema без child-process scheduler deadline и без кэширования trust decision;
|
|
111
|
-
missing install, missing/stale build либо failed module handshake дают
|
|
112
|
-
`prepared=false`, и packet не считается готовым; packet всегда несёт `--review-mode ordinary` или
|
|
113
|
-
`--review-mode security`; ordinary review не должен неявно запускать security scan;
|
|
114
|
-
- observed-route matrix v2 покрывает 13 route classes, фактически наблюдавшихся в Signal: для каждого
|
|
115
|
-
класса есть один exact production-transition witness либо real terminal observation. Это не значит,
|
|
116
|
-
что проверена каждая action: metadata отдельно помечает `executable-witnessed`, `unwitnessed` и
|
|
117
|
-
`unsupported`, а coverage boundary равна `signal-observed-route-class-witnesses`;
|
|
118
|
-
- chat replacement, consent inheritance, polling и scheduling остаются эффектами Codex App;
|
|
119
|
-
package сообщает только preflight/diagnostics и не утверждает, что выполнил эти действия.
|
|
120
|
-
|
|
121
|
-
### beta.12.19: hash-bound check-support dirty carryover at Task run
|
|
122
|
-
|
|
123
|
-
beta.12.18 could validate and transport a historical check-support recovery through a new Plan, but
|
|
124
|
-
the final execution boundary still applied the ordinary clean-checkout rule. Consequently fresh
|
|
125
|
-
`next` advertised `task run` after dependency registration, Knowledge rebind, Risk Audit and
|
|
126
|
-
authorization, while the same `task run` rejected the preserved product bytes.
|
|
127
|
-
|
|
128
|
-
beta.12.19 gives navigation and execution one shared fail-closed assessment. Carryover is valid only
|
|
129
|
-
when the latest registered Plan-integrity dependency record binds the current history boundary, the
|
|
130
|
-
current Plan is that record's Plan or its exact Knowledge-rebind descendant, the planned Step owns
|
|
131
|
-
every dirty path, every derived support path is explicit in both `allowedWrites` and
|
|
132
|
-
`expectedOutputs`, and the full dirty file list and content hash still match the validated historical
|
|
133
|
-
decision. `next` then reports `planIntegrityDirtyCarryover.state=validated`; `task run` may adopt
|
|
134
|
-
exactly those bytes. Any mismatch changes `next` to `doctor` and leaves execution blocked.
|
|
135
|
-
|
|
136
|
-
An in-flight beta.12.18 Task already in the authorized dirty-carryover posture may use external exact
|
|
137
|
-
beta.12.19 `update plan-integrity-update-preflight`. It returns
|
|
138
|
-
`compatibilityMode=post-rebind-dirty-carryover` only when the existing registration and all ordinary
|
|
139
|
-
version, Git, lease, transaction and Core-operation guards pass. Continue only through the reported
|
|
140
|
-
dependency-only transport and fresh repository-local routes. No Human approval is introduced for
|
|
141
|
-
this exact machine-proved continuation; checks, Core commit and external sealed review remain
|
|
142
|
-
mandatory.
|
|
143
|
-
|
|
144
|
-
### beta.12.18: historical check-support scope adoption after Knowledge rebind
|
|
145
|
-
|
|
146
|
-
beta.12.18 closes a bounded post-rebind deadlock. A Task may already contain a valid beta.12.16
|
|
147
|
-
`continue-fix` decision that derived one exact check-support path, then refresh Knowledge and adopt
|
|
148
|
-
that path explicitly in a new Plan. The historical event must still be validated against its own
|
|
149
|
-
Plan hash; comparing it with the new Plan incorrectly reports `STATE_CORRUPT` precisely because the
|
|
150
|
-
new Plan now owns the path.
|
|
151
|
-
|
|
152
|
-
An external exact beta.12.18 runner recognizes only this exact shape: the Task awaits execution
|
|
153
|
-
authorization, no Step is running, one historical check-support decision binds the unchanged dirty
|
|
154
|
-
worktree, and one planned Step directly lists every derived support path in both `allowedWrites` and
|
|
155
|
-
`expectedOutputs`. Read-only `update plan-integrity-update-preflight` reports
|
|
156
|
-
`compatibilityMode=post-rebind-scope-adoption` only when all ordinary version, lease, transaction,
|
|
157
|
-
Core-operation, Git-head and dirty-byte guards also pass.
|
|
158
|
-
|
|
159
|
-
After `eligible=true`, use the same dependency-only base/Task transport described below. Fresh
|
|
160
|
-
repository-local Core registers it only through advertised
|
|
161
|
-
`update plan-integrity-dependency-recover`; Knowledge rebind and Risk Audit then follow fresh
|
|
162
|
-
`status -> next`. The adopted support path comes from the current Plan, not from implicit reuse of
|
|
163
|
-
the historical event. No Human approval is required for this exact machine-proved recovery. Any
|
|
164
|
-
additional path, dirty-byte drift, missing explicit Plan ownership, multiple matching events, active
|
|
165
|
-
lease or incoherent version surface remains blocked.
|
|
166
|
-
|
|
167
|
-
### beta.12.17: coherent beta.12 Plan-integrity update transport
|
|
168
|
-
|
|
169
|
-
`update plan-integrity-update-preflight` больше не связывает совместимый transport с одним
|
|
170
|
-
историческим source release. Внешний exact beta.12.17 runner выводит source version из declared
|
|
171
|
-
dependency и требует, чтобы locked, installed, current Task branch и active Milestone base
|
|
172
|
-
совпадали с ним. Source должен быть exact `2.0.0-beta.12.N`, где `N >= 11` и `N` меньше patch
|
|
173
|
-
ordinal текущего runner. Расхождение хотя бы одной поверхности блокирует transport.
|
|
174
|
-
|
|
175
|
-
Остальные границы не изменены: ровно одна eligible Plan-integrity conflict, coherent observation,
|
|
176
|
-
нет lease/transaction/Core operation, а dirty set полностью совпадает с уже доказанным failed Step
|
|
177
|
-
scope. После `eligible=true` один dependency-only commit обновляет только `package.json` и
|
|
178
|
-
`package-lock.json` на Milestone base и в Task history; fresh repository-local package затем
|
|
179
|
-
регистрирует commit через advertised `update plan-integrity-dependency-recover`. Product bytes,
|
|
180
|
-
Plan hash и remediation evidence не переписываются. Этот контракт разрешает текущий `.15 -> .17`
|
|
181
|
-
transport и не требует нового literal для следующего совместимого beta.12 patch.
|
|
182
|
-
|
|
183
|
-
### beta.12.16: direct migration check-support authority
|
|
184
|
-
|
|
185
|
-
Новый mechanical analyzer до execution authorization проверяет root `npm run` migration checks,
|
|
186
|
-
repository-local `node`/`tsx` runner и его direct static relative imports. Если Step создаёт новую
|
|
187
|
-
SQL migration, а импортированный TypeScript/JavaScript support-модуль закрепляет approved SHA-256,
|
|
188
|
-
manifest или expected catalog той же migration family, этот support path должен входить в
|
|
189
|
-
`allowedWrites` той же Step. Иначе Plan возвращается к `task plan-set` до запуска Worker.
|
|
190
|
-
|
|
191
|
-
Для уже выполняемой Task с первым `checks-failed` fresh beta.12.16 `next` может рекламировать
|
|
192
|
-
`task plan-integrity-recover` с reason `CHECK_SUPPORT_ANCHOR_OUTSIDE_ALLOWED_WRITES` и
|
|
193
|
-
`boundedEffect=record-machine-derived-check-support-scope`. Выполните только этот route под текущим
|
|
194
|
-
C1 actor/writer credential, затем снова прочитайте `next` и вызовите `task run`. Worker envelope
|
|
195
|
-
должен добавить ровно `evidence.scopeExtensions`; Plan hash и существующие product bytes остаются
|
|
196
|
-
неизменными. Core повторяет все checks, сам создаёт commit и включает derived scope в sealed review
|
|
197
|
-
packet. Human corrective-replan для этого точного scope-only случая не требуется. Если route не
|
|
198
|
-
рекламируется, есть indirect/dynamic import, лишний dirty path, forbiddenScope intersection или нет
|
|
199
|
-
SHA/catalog anchors — не расширяйте scope вручную.
|
|
200
|
-
|
|
201
|
-
### beta.12.12: неисполняемая Step check и сохранение текущей реализации
|
|
202
|
-
|
|
203
|
-
Новые Plans больше не могут получить execution authorization, если root npm script запускает
|
|
204
|
-
repository-local `affected` validator, сам validator явно требует `--base`, `--head` или `--files`,
|
|
205
|
-
а Step check не передаёт ни одного selector. Исправьте check в Plan, например
|
|
206
|
-
`npm run validate:affected -- --files=<allowedWrites>`; Worker и remediation attempt до этого не
|
|
207
|
-
запускаются.
|
|
208
|
-
|
|
209
|
-
Для Task, уже застрявшей на beta.12.11 после одного или нескольких одинаковых `checks-failed`,
|
|
210
|
-
используется только bounded bridge. Внешний exact beta.12.12 runner выполняет read-only
|
|
211
|
-
`update plan-integrity-update-preflight`; продолжение допустимо лишь при `eligible=true`, отсутствии
|
|
212
|
-
lease/transaction и точном dirty set внутри failed Step `allowedWrites`. Затем один dependency-only
|
|
213
|
-
commit (`package.json` и `package-lock.json`) должен оказаться и на Milestone base, и в Task history
|
|
214
|
-
без изменения product bytes. Fresh repository-local `next` рекламирует
|
|
215
|
-
`update plan-integrity-dependency-recover`; этот переход регистрирует dependency commit и, если
|
|
216
|
-
Knowledge drift вызван только Workflow pin в `package.json`, атомарно выполняет corrective-derived
|
|
217
|
-
Knowledge refresh без Human approval.
|
|
218
|
-
|
|
219
|
-
После регистрации Core связывает всю append-only цепочку failed attempts, текущий Plan, HEAD,
|
|
220
|
-
manifest, validator и SHA-256 dirty worktree. `task plan-integrity-recover` записывает один
|
|
221
|
-
`replan-required` decision для следующего ordinal. Затем следуйте fresh
|
|
222
|
-
`task corrective-yield -> task corrective-replan-*`; replacement Plan обязан сохранить Step и dirty
|
|
223
|
-
allowlist, но заменить check на исполняемую selector-bearing команду. Не коммитьте product files,
|
|
224
|
-
не редактируйте state и не повторяйте старую неисполняемую проверку.
|
|
225
|
-
|
|
226
|
-
### beta.12.11: audited remediation и dependency-only Knowledge refresh
|
|
227
|
-
|
|
228
|
-
После безопасного обновления существующий active Milestone может продолжить работу без пересоздания,
|
|
229
|
-
если current `next` показывает pre-execution `stop-escalate` и объект `auditedRemediation`. Это не
|
|
230
|
-
update compatibility bridge и не разрешение вручную менять state. Сначала выполните обычный
|
|
231
|
-
`update preflight`; установите exact beta.12.11 только при `safe=true`, clean checkout, отсутствии
|
|
232
|
-
running Step и leases, затем снова выполните repository-local handshake, `status` и `next`.
|
|
233
|
-
|
|
234
|
-
Далее следуйте только свежему route: remediation Discovery -> ready ->
|
|
235
|
-
`milestone remediation-materialize`. Передайте exact Milestone/Task revisions и JSON с Discovery,
|
|
236
|
-
title и `predecessorTaskIds`, которые полностью совпадают с
|
|
237
|
-
`next.auditedRemediation.requiredPredecessorTaskIds`. Переход не принимает confirmation code,
|
|
238
|
-
actor, grant или новый Milestone Plan. После atomic materialization новый required Task должен стать
|
|
239
|
-
repository priority и пройти обычную реализацию/review/merge. Его Task approval transitions используют
|
|
240
|
-
только exact `correctiveDerivedApproval.actor` из fresh `next`. После merge исходная Task обязана
|
|
241
|
-
вернуться к `task plan-set`, fresh Risk Audit и следующему Step. Если fresh `next` не рекламирует этот
|
|
242
|
-
контракт, не вызывайте команды напрямую и не редактируйте Milestone state.
|
|
243
|
-
|
|
244
|
-
Если exact dependency-only update сделал approved Knowledge Map stale только по `package.json`,
|
|
245
|
-
`auditedRemediation.dependencyKnowledgeRefresh` должен подтвердить clean checkout, aligned
|
|
246
|
-
declared/locked/installed/HEAD/base versions и полную Git-цепочку commits, меняющих только Workflow pin
|
|
247
|
-
в `package.json`/lock. Такой content refresh не требует Human approval: он применяется в той же Project
|
|
248
|
-
transaction, что и `milestone remediation-materialize`, с `corrective-derived` evidence. Любой другой
|
|
249
|
-
Knowledge diff (включая README, документацию, classification, gap или conflict) не допускается в этот
|
|
250
|
-
маршрут и остаётся в обычном reconcile/approval flow.
|
|
251
|
-
|
|
252
|
-
### Исключение для lifecycle-дедлока alpha.6
|
|
253
|
-
|
|
254
|
-
Обычный `update preflight` намеренно блокирует обновление при `in_progress` Step. Если alpha.6
|
|
255
|
-
завис между completion commit, обязательным strict review и запрещённым Knowledge rebind,
|
|
256
|
-
используйте внешний точный runner alpha.7 только для `update rescue-preflight`. Продолжать
|
|
257
|
-
можно лишь при `eligible=true`; допустимы только перечисленные им `locks repair` и
|
|
258
|
-
`task step-review`. Этот путь не меняет dependency и не разрешает другие команды alpha.7.
|
|
259
|
-
Для `task step-review` используйте lifecycle-actor из `next` или rescue-preflight; это claimant
|
|
260
|
-
или required actor, а не identity независимого reviewer-процесса.
|
|
261
|
-
После terminal review выполните обычный Knowledge reconcile/rebind, доведите Task до безопасной
|
|
262
|
-
границы и только затем обновляйте package/lock обычным способом.
|
|
263
|
-
|
|
264
|
-
### Исключение beta.10 для retained reviewed commit
|
|
265
|
-
|
|
266
|
-
Если corrective replan уже убрал evidence завершённой попытки из текущего Step, но её product
|
|
267
|
-
commit остался в Git между `baseCommit` и новым dependency-only HEAD, beta.10 может штатно принять
|
|
268
|
-
такую историю. Это допустимо только при полной криптографически целостной strict-review цепочке с
|
|
269
|
-
решением `passed` и verified reviewer attestation. Pending/failed review, отдельный `evidence.json`,
|
|
270
|
-
повреждённый sidecar или неизвестный product commit не подходят.
|
|
271
|
-
|
|
272
|
-
Не регистрируйте сохранённый product commit вручную в `systemCommits`. После установки beta.10
|
|
273
|
-
выполните свежий `next`; продолжайте только если он рекламирует
|
|
274
|
-
`update dependency-provenance-recover`. Затем последовательно выполните read-only
|
|
275
|
-
`update dependency-provenance-preflight`, проверьте `eligible=true`, точные Task revision/HEAD,
|
|
276
|
-
пустой `blockers` и ожидаемый список `retainedHistoricalCommits`, и только после этого вызывайте
|
|
277
|
-
рекламируемый recover с той же revision. Успешный recover записывает dependency HEAD в
|
|
278
|
-
`systemCommits`, а исторические reviewed product commits — отдельно в recovery evidence. После
|
|
279
|
-
него обязательны последовательные `status` и `next`; выполняйте возвращённый Knowledge reconcile
|
|
280
|
-
или `task context-refresh`, если manifest/lock сделали Knowledge Map stale.
|
|
281
|
-
|
|
282
|
-
В beta.12.1 preflight сравнивает parent и candidate после удаления только записей зависимости
|
|
283
|
-
`codex-workflow-v2`. Поэтому ранее закоммиченные Task-local scripts и другие product-owned поля
|
|
284
|
-
`package.json`/lockfile могут отличаться от Milestone base и сохраняются. Это не ослабляет сам
|
|
285
|
-
candidate: его HEAD обязан менять ровно `package.json` и `package-lock.json`, только точную Workflow
|
|
286
|
-
dependency; любое другое поле, добавленное тем же candidate commit, неизвестный commit, stale base,
|
|
287
|
-
dirty checkout, lease или transaction по-прежнему блокируют recovery.
|
|
288
|
-
|
|
289
|
-
### Исключение beta.12.9 для Step commit, потерянного corrective Plan
|
|
290
|
-
|
|
291
|
-
Если активный corrective Step сохраняет допустимый dirty worktree, а `task step-complete` обнаруживает
|
|
292
|
-
ровно один старый product commit, beta.12.9 не требует переписывать Git. Пакет поддерживает два
|
|
293
|
-
строго ограниченных входа в один и тот же recovery:
|
|
294
|
-
|
|
295
|
-
- если beta.12.9 уже зарегистрирована, свежий `next` рекламирует
|
|
296
|
-
`task historical-step-provenance-recover`;
|
|
297
|
-
- если для установки beta.12.9 на Milestone base и Task branch уже созданы ровно dependency-only
|
|
298
|
-
commits, свежий `next` рекламирует `update historical-step-dependency-recover`. Этот переход
|
|
299
|
-
атомарно регистрирует новый dependency HEAD и сохраняет authority старого Step commit.
|
|
300
|
-
|
|
301
|
-
В обоих случаях Core сам доказывает для старого SHA полную hash-valid strict Step Review цепочку с
|
|
302
|
-
решением `passed`, verified reviewer isolation и совпадающий прежний `final_acceptance`. Update-route
|
|
303
|
-
дополнительно требует exact target version на declared/locked/installed/current-branch/base surfaces,
|
|
304
|
-
dependency commit только из `package.json` и `package-lock.json`, а также неизменный hash активного
|
|
305
|
-
dirty worktree относительно read-only assessment.
|
|
306
|
-
|
|
307
|
-
Сначала выполните read-only `task historical-step-provenance-preflight --id <TASK-ID>`. Продолжайте
|
|
308
|
-
только при `eligible=true`, точных Task revision, Plan/Brief/HEAD и commit SHA, отсутствии leases,
|
|
309
|
-
transactions и Core operations, а также dirty paths строго внутри `allowedWrites` единственного
|
|
310
|
-
активного Step. Recover принимает exact SHA, actor и содержательную reason, добавляет SHA в
|
|
311
|
-
`invalidatedStepCommits` и записывает источник прежнего acceptance. Product bytes, HEAD и текущий
|
|
312
|
-
Plan не меняются; старый Step не возвращается в Plan. После recovery обязательны последовательные
|
|
313
|
-
`status` и `next`, затем обычный credential route и `task step-complete` текущего Step.
|
|
314
|
-
|
|
315
|
-
Несколько unknown commits, pending/failed review, несовпадающий Plan прежнего acceptance,
|
|
316
|
-
повреждённый sidecar, посторонний dirty path или lease являются hard stop. Запрещено заменять этот
|
|
317
|
-
переход rebase/reset/amend, ручным `systemCommits` или переносом старого Step в текущий Plan.
|
|
318
|
-
|
|
319
|
-
### Исключение beta.12.6 для активного downstream proof
|
|
320
|
-
|
|
321
|
-
Обычный `update preflight` по-прежнему правильно запрещает обновление при running Step и dirty
|
|
322
|
-
checkout. Но если dirty set уже является подтверждаемым конфликтом между активным proof Step и
|
|
323
|
-
completed transitive predecessor, ожидание чистой границы создаёт цикл: штатный recovery существует
|
|
324
|
-
только в новой версии, а установить её до recovery нельзя. beta.12.6 разрешает только этот exact
|
|
325
|
-
bootstrap и не ослабляет общий preflight.
|
|
326
|
-
|
|
327
|
-
Сначала убедитесь, что нет active/stale writer lease, pending/corrupt transaction и Core operation.
|
|
328
|
-
Не stash/reset/commit product files и не завершайте Step вручную. В отдельном временном worktree
|
|
329
|
-
обновите active Milestone base до точной beta.12.6 и создайте commit только с `package.json` и
|
|
330
|
-
`package-lock.json`. Затем в текущей Task branch установите ту же точную версию и создайте второй
|
|
331
|
-
commit только из этих двух файлов, оставив существующий product dirty set неизменным. Не merge и
|
|
332
|
-
не переносите product commits между ветками.
|
|
333
|
-
|
|
334
|
-
Fresh project-local beta.12.6 `next` обязан вернуть
|
|
335
|
-
`update downstream-proof-dependency-recover`. Выполните read-only
|
|
336
|
-
`update downstream-proof-dependency-preflight --id <TASK-ID>` и продолжайте только при
|
|
337
|
-
`eligible=true`, пустом `blockers`, ожидаемых `HEAD`/`HEAD^`, exact Task revision и непустом
|
|
338
|
-
`activeDownstreamProof`. Binding включает current Plan, единственный active Step, все dirty paths,
|
|
339
|
-
SHA-256 их содержимого и completed predecessor Steps, чья authority будет инвалидирована позже.
|
|
340
|
-
После advertised recover повторите `status -> next`: ожидается `task downstream-proof-recover`,
|
|
341
|
-
который имеет приоритет над Knowledge refresh, вызванным manifest/lock commit. Только после него
|
|
342
|
-
выполняются новый Plan, Risk Audit, authorization и возвращённые `next` Knowledge actions.
|
|
343
|
-
|
|
344
|
-
Read-only preflight является наблюдением, а не confirmation token: recover заново вычисляет и
|
|
345
|
-
записывает binding текущего dirty content. Поэтому изменение допустимого product content до
|
|
346
|
-
recover создаёт другой hash, который нужно сверить в ответе. После recover этот hash остаётся
|
|
347
|
-
аудит-доказательством сохранённых bridge bytes; downstream-proof заново проверяет текущие paths,
|
|
348
|
-
ownership и history, а новый Plan и review оценивают текущий content. Путь fail-closed при unrelated dirty path,
|
|
349
|
-
неизвестном commit до candidate, candidate шире двух dependency-файлов, stale Milestone base,
|
|
350
|
-
version divergence, branch/Plan/Step mismatch, lease или transaction. В этом случае не правьте
|
|
351
|
-
`systemCommits` или внешний state вручную.
|
|
352
|
-
|
|
353
|
-
### Исключение beta.12.7 для stranded downstream replan
|
|
354
|
-
|
|
355
|
-
Это исключение применимо только если beta.12.6 уже записала downstream-proof invalidation, а затем
|
|
356
|
-
Project Knowledge approval ошибочно rebound-нул отвергнутый Plan и вернул Task в
|
|
357
|
-
`awaiting_execution_authorization`. До изменения dependency запустите beta.12.7 source/runtime
|
|
358
|
-
read-only `update downstream-proof-replan-update-preflight --id <TASK-ID>`. Требуются
|
|
359
|
-
`eligible=true`, source version `2.0.0-beta.12.6`, exact Task revision/branch/base/HEAD, неизменные
|
|
360
|
-
dirty paths/content hash и пустые blockers.
|
|
361
|
-
|
|
362
|
-
Затем тем же двухкоммитным способом обновите active base и Task branch только в `package.json` и
|
|
363
|
-
`package-lock.json`, установите exact beta.12.7 и следуйте fresh `next`. Допустимая цепочка:
|
|
364
|
-
`update downstream-proof-replan-dependency-preflight` ->
|
|
365
|
-
`update downstream-proof-replan-dependency-recover` ->
|
|
366
|
-
`task downstream-proof-replan-recover`. После repair manifest change обычно делает Project Knowledge
|
|
367
|
-
stale: выполните рекламируемые reconcile/approve, но не `task knowledge-rebind` старого Plan. Fresh
|
|
368
|
-
`next` обязан вернуть `task plan-set`.
|
|
369
|
-
|
|
370
|
-
Новый Plan должен заново классифицировать весь unfinished remainder. Сохранённые dirty bytes не
|
|
371
|
-
становятся completed evidence и не коммитятся административным recovery. Они могут быть приняты
|
|
372
|
-
только одним planned Step, `allowedWrites` которого точно покрывает весь dirty set. Перед `task run`
|
|
373
|
-
fresh `next` обязан показать `downstreamProofCarryover.state=validated`; после run обязательны checks,
|
|
374
|
-
Core-owned Step commit и strict review, если Step guarded. Изменение content/path/HEAD, дополнительная
|
|
375
|
-
Task revision, audit/authorization старого Plan, lease или transaction блокируют исключение.
|
|
376
|
-
|
|
377
|
-
### Исключение beta.12.1 для beta.11 attempt-four stop
|
|
378
|
-
|
|
379
|
-
Если beta.11 записал `stop-escalate` перед четвёртой попыткой только после последовательности
|
|
380
|
-
`ordinary`, `ordinary`, `corrective`, и перед третьей попыткой уже существовал exact
|
|
381
|
-
`continue-fix`, fresh `next` может вернуть `task stop-override-prepare`. Не создавайте новый
|
|
382
|
-
Milestone и не редактируйте sidecar вручную. Сначала выполните только read-only prepare с exact
|
|
383
|
-
Task revision, Step, human actor и содержательной причиной. Проверьте, что ответ связывает тот же
|
|
384
|
-
stop decision, Plan hash, Git HEAD, все три remediation events и policy
|
|
385
|
-
`beta11-attempt4-stop-compatibility-v1`, затем остановитесь перед Human gate.
|
|
386
|
-
|
|
387
|
-
В отдельном пользовательском сообщении разрешите apply с теми же параметрами и возвращённым
|
|
388
|
-
`SOO-*` кодом. `task stop-override-apply` добавляет одну запись в
|
|
389
|
-
`stop-escalate-overrides.jsonl`, сохраняя исходный `stop-escalate`; после него выполните
|
|
390
|
-
последовательные `status` и `next`. Обычно ожидаемый route — `task run` того же Step с последующим
|
|
391
|
-
новым strict review. Beta.12.4 покрывает и последовательность package self-update/context-refresh
|
|
392
|
-
циклов после override. Перед `task run` выполняйте только свежие advertised
|
|
393
|
-
`update dependency-provenance-recover` и delegated `task context-refresh`; циклов может быть
|
|
394
|
-
несколько. Workflow продолжит attempt 4 лишь когда докажет contiguous source-to-current chain:
|
|
395
|
-
каждый Plan отличается только canonical Knowledge Map binding, каждый rebind совпадает с Plan
|
|
396
|
-
artifacts, каждый Plan Risk Audit является mechanical rebound, а current approval/authorization
|
|
397
|
-
сохраняют одну delegated authority. HEAD может продвинуться только через зарегистрированные
|
|
398
|
-
single-parent dependency-provenance commits, каждый с exact `package.json`/`package-lock.json` diff.
|
|
399
|
-
Новая stop-override recovery-запись не создаётся — используется существующая append-only evidence.
|
|
400
|
-
Если advertised navigation сначала завершила последний `task context-refresh`, а затем разрешила
|
|
401
|
-
`update dependency-provenance-recover`, административный recovery может объяснить ровно один
|
|
402
|
-
post-audit Task revision. Core принимает его только как часть уже проверенной dependency-only Git
|
|
403
|
-
chain; арифметика audit revision + refresh boundary + exact post-audit recoveries должна точно
|
|
404
|
-
равняться current Task revision. Любой необъяснённый revision остаётся blocker.
|
|
405
|
-
Если C1 остаётся claimed, но writer lease после Human boundary отсутствует, `next` вместе с
|
|
406
|
-
`task run` рекламирует `task writer-credential-replace`; сначала восстановите credential exact
|
|
407
|
-
claimant-актора, затем запускайте Step.
|
|
408
|
-
|
|
409
|
-
Этот путь не работает для `split-required`, другого attempt ordinal, семантически изменённого
|
|
410
|
-
Plan, отсутствующего attempt-3 continue, разорванной rebind/audit chain, незарегистрированного или
|
|
411
|
-
product HEAD commit, повреждённой chronology, active/stale lease на Human prepare/apply boundary
|
|
412
|
-
или незавершённой Task transaction.
|
|
413
|
-
Delegated approval для самого stop override отсутствует; delegation относится только к обычному
|
|
414
|
-
context refresh после уже подтверждённого Human override.
|
|
415
|
-
|
|
416
|
-
## 1. Подготовьте отдельный чат обновления
|
|
417
|
-
|
|
418
|
-
Не обновляйте пакет во время выполняющегося Worker Step, кроме exact beta.12.6 downstream-proof
|
|
419
|
-
исключения выше. В обычном случае дождитесь завершения текущего ответа Codex и откройте в нужном
|
|
420
|
-
проекте отдельный чат `Workflow update`.
|
|
421
|
-
|
|
422
|
-
Передайте агенту этот промпт, заменив `<НОВАЯ_ВЕРСИЯ>` точной опубликованной версией:
|
|
423
|
-
|
|
424
|
-
```text
|
|
425
|
-
Обнови Codex Workflow V2 в этом проекте до точной версии <НОВАЯ_ВЕРСИЯ>
|
|
426
|
-
из npm: https://www.npmjs.com/package/codex-workflow-v2.
|
|
427
|
-
|
|
428
|
-
Все команды выполняешь ты. Сначала прочитай AGENTS.md и определи Git root.
|
|
429
|
-
До изменений запусти project-local gateway handshake, doctor, status, next и
|
|
430
|
-
read-only `update preflight`;
|
|
431
|
-
зафиксируй текущую версию, protocolVersion, stateSchemaVersion, projectId,
|
|
432
|
-
активные сущности и наличие writer lease. Продолжай только если preflight
|
|
433
|
-
вернул safe=true: checkout чистый, running Step и active writer lease отсутствуют.
|
|
434
|
-
Иначе остановись без обновления и покажи blockers.
|
|
435
|
-
|
|
436
|
-
Обнови только точную npm-зависимость и lock-файл, без диапазона версий.
|
|
437
|
-
Не удаляй и не редактируй вручную $CODEX_HOME/workflow-state/v2.
|
|
438
|
-
Не запускай state migration, если stateSchemaVersion не изменилась.
|
|
439
|
-
После установки проверь совпадение declared и installed версии, выполни
|
|
440
|
-
handshake, doctor, status и next новой версией. Затем установи или обнови
|
|
441
|
-
персональный codex-workflow-gateway из установленного npm-пакета штатным
|
|
442
|
-
installer скриптом. Покажи diff файлов репозитория и результаты проверок.
|
|
443
|
-
Не начинай продуктовую реализацию в этом чате.
|
|
444
|
-
```
|
|
445
|
-
|
|
446
|
-
Агенту может потребоваться ваше разрешение на установку npm-зависимости и запись персонального
|
|
447
|
-
plugin за пределами workspace. Это ожидаемая граница безопасности Codex, а не миграция state.
|
|
448
|
-
|
|
449
|
-
## 2. Проверьте отчёт чата обновления
|
|
450
|
-
|
|
451
|
-
До завершения чат должен подтвердить:
|
|
452
|
-
|
|
453
|
-
1. В `package.json` указана точная версия без `^`, `~`, `latest` или `next`.
|
|
454
|
-
2. Lock-файл и фактически установленный пакет содержат ту же версию.
|
|
455
|
-
3. Handshake возвращает ожидаемые package/protocol/state-schema версии.
|
|
456
|
-
4. `doctor` не сообщает о несовместимой зависимости или повреждённом state.
|
|
457
|
-
5. `projectId` совпадает со значением до обновления.
|
|
458
|
-
6. Существующие Task/Milestone ID, revisions и terminal statuses сохранились.
|
|
459
|
-
7. Персональный gateway обновлён из установленного пакета.
|
|
460
|
-
8. `update preflight` до изменения подтвердил чистую lifecycle-границу.
|
|
461
|
-
9. Для alpha.6 существующий schema 2 проект либо уже имеет `adoption-posture.jsonl`,
|
|
462
|
-
либо `next`/`status` требуют `state adoption-prepare` и затем `state adoption-apply`.
|
|
463
|
-
10. При переходе с protocol v1 на v2 неизменённый и криптографически целостный adoption sidecar
|
|
464
|
-
остаётся читаемым как legacy evidence. Runtime не переписывает его автоматически; неизвестная
|
|
465
|
-
версия или смешанная protocol-цепочка считаются повреждением state.
|
|
466
|
-
|
|
467
|
-
Protocol v2 меняет navigation/CLI corrective-replan и lifecycle epoch, но не Task state schema.
|
|
468
|
-
До обновления не должно быть `in_progress` Step, writer lease, Core Task operation mutex или
|
|
469
|
-
незавершённого corrective Task journal. Такие состояния требуют штатного completion/repair старой
|
|
470
|
-
версией; переносить или удалять journal вручную нельзя. Старые grants/receipts не получают authority
|
|
471
|
-
в epoch 2 — новый corrective replan всегда проходит новый prepare/human-gate/execute цикл.
|
|
472
|
-
|
|
473
|
-
Изменение `projectId`, исчезновение сущностей или ошибка unsupported state schema — причина
|
|
474
|
-
остановиться. Не соглашайтесь на «починку» удалением state. Агент должен вернуть dependency к
|
|
475
|
-
предыдущей точной версии либо ждать официального мигратора.
|
|
476
|
-
|
|
477
|
-
## 3. Откройте новый чат после установки gateway
|
|
478
|
-
|
|
479
|
-
Codex загружает набор skills/plugin при старте чата. Уже открытый чат может продолжать видеть
|
|
480
|
-
старую gateway-инструкцию, даже если файлы plugin обновлены. Поэтому дальнейшую работу всегда
|
|
481
|
-
начинайте в новом чате проекта.
|
|
482
|
-
|
|
483
|
-
Промпт для контрольного чата:
|
|
484
|
-
|
|
485
|
-
```text
|
|
486
|
-
Возобнови проект через установленный Codex Workflow V2.
|
|
487
|
-
Все команды выполняешь ты. Начни с AGENTS.md, project-local gateway
|
|
488
|
-
handshake, doctor, status и next. Подтверди точную declared/installed
|
|
489
|
-
версию, protocolVersion, stateSchemaVersion и прежний projectId.
|
|
490
|
-
|
|
491
|
-
Проверь Knowledge Map штатно. Если изменение package.json или lock-файла
|
|
492
|
-
сделало карту stale, выполни scan/reconcile и покажи мне классификацию и
|
|
493
|
-
изменения до approve. Не редактируй внешний workflow-state вручную.
|
|
494
|
-
Следуй только текущему ответу next и остановись перед любой human gate.
|
|
495
|
-
```
|
|
496
|
-
|
|
497
|
-
Обновление dependency меняет `package.json` и обычно lock-файл. Если один из этих файлов входит
|
|
498
|
-
в Knowledge Map, изменение его content hash штатно делает карту `stale`. Это не потеря state:
|
|
499
|
-
нужно выполнить `scan/reconcile`, показать пользователю изменения классификации и получить
|
|
500
|
-
approval, если он требуется.
|
|
501
|
-
|
|
502
|
-
## 3.0. Alpha.6 adoption для существующего schema 2 проекта
|
|
503
|
-
|
|
504
|
-
Если проект уже вёлся на alpha.5 или другой schema 2 версии без alpha.6 posture, новый runtime
|
|
505
|
-
не разрешит execution-переходы, пока не будет записан adoption sidecar. Это нормальное
|
|
506
|
-
fail-closed поведение, а не повреждение state.
|
|
507
|
-
|
|
508
|
-
Порядок:
|
|
509
|
-
|
|
510
|
-
1. `update preflight --repo .`
|
|
511
|
-
2. `state adoption-prepare --repo .`
|
|
512
|
-
3. Проверить returned baseline и `ADA-*` confirmation code
|
|
513
|
-
4. `state adoption-apply --repo . --actor <human-actor> --confirmation-code <ADA-CODE>`
|
|
514
|
-
|
|
515
|
-
Граница должна быть безопасной:
|
|
516
|
-
|
|
517
|
-
- checkout чистый;
|
|
518
|
-
- нет `in_progress` Step;
|
|
519
|
-
- нет active writer lease;
|
|
520
|
-
- stale writer lease сначала чинится обычным repair-путём.
|
|
521
|
-
|
|
522
|
-
Alpha.6 adoption сохраняет:
|
|
523
|
-
|
|
524
|
-
- terminal Milestones со статусом `accepted` или `cancelled`;
|
|
525
|
-
- terminal Tasks со статусом `merged` или `cancelled`;
|
|
526
|
-
- completed и skipped Steps в активных Tasks вместе с их evidence.
|
|
527
|
-
|
|
528
|
-
Alpha.6 adoption не делает:
|
|
529
|
-
|
|
530
|
-
- не переписывает canonical entity JSON;
|
|
531
|
-
- не переоткрывает terminal-сущности;
|
|
532
|
-
- не прогоняет заново уже completed legacy Steps;
|
|
533
|
-
- не использует `state migrate`.
|
|
534
|
-
|
|
535
|
-
После adoption remaining legacy scope должен получить bootstrap Plan Risk Audit только для
|
|
536
|
-
оставшихся non-`completed` и non-`skipped` Step.
|
|
537
|
-
|
|
538
|
-
## 3.1. При необходимости включите delegated approval
|
|
539
|
-
|
|
540
|
-
Delegated approval не включается автоматически после обновления. Существующие авторизации и
|
|
541
|
-
terminal-сущности не меняются, а `stateSchemaVersion` остаётся `2`. Пользователь один раз
|
|
542
|
-
подтверждает точную policy; после этого named delegate может выполнять только перечисленные
|
|
543
|
-
переходы до истечения срока или revocation.
|
|
544
|
-
|
|
545
|
-
Для заместителя, который должен планировать ещё не созданные Milestones и Tasks, нужен
|
|
546
|
-
ограниченный по времени project scope. Более узкий Milestone/Task scope безопаснее, когда ID
|
|
547
|
-
уже известен. Пример policy:
|
|
548
|
-
|
|
549
|
-
```json
|
|
550
|
-
{
|
|
551
|
-
"principal": "user:owner",
|
|
552
|
-
"delegate": "agent:deputy",
|
|
553
|
-
"scope": { "kind": "project" },
|
|
554
|
-
"transitions": [
|
|
555
|
-
"project_memory.approve",
|
|
556
|
-
"milestone.execution_authorize",
|
|
557
|
-
"milestone.final_accept",
|
|
558
|
-
"task.execution_authorize",
|
|
559
|
-
"task.final_accept"
|
|
560
|
-
],
|
|
561
|
-
"expiresAt": "<ISO-8601 UTC>"
|
|
562
|
-
}
|
|
563
|
-
```
|
|
564
|
-
|
|
565
|
-
Промпт для выпуска grant:
|
|
566
|
-
|
|
567
|
-
```text
|
|
568
|
-
Подготовь delegated approval policy для этого проекта: principal user:owner,
|
|
569
|
-
delegate agent:deputy, project scope, переходы project_memory.approve,
|
|
570
|
-
milestone.execution_authorize,
|
|
571
|
-
milestone.final_accept, task.execution_authorize и task.final_accept, срок до
|
|
572
|
-
<ДАТА_И_ВРЕМЯ_UTC>. Создай временный JSON вне репозитория и выполни только
|
|
573
|
-
delegation prepare. Покажи всю policy, projectId, policyHash и DGA-код, затем
|
|
574
|
-
остановись. Grant в этом же ответе не выпускай.
|
|
575
|
-
```
|
|
576
|
-
|
|
577
|
-
После проверки ответьте отдельным сообщением:
|
|
578
|
-
|
|
579
|
-
```text
|
|
580
|
-
Одобряю выпуск delegated approval grant для policy hash <POLICY_HASH>
|
|
581
|
-
с кодом <DGA-CODE>. Выпусти grant и покажи DGR-ID, scope, transitions,
|
|
582
|
-
expiresAt и revision.
|
|
583
|
-
```
|
|
584
|
-
|
|
585
|
-
`delegation list` и `status` показывают grants. Для досрочной остановки автономности агент
|
|
586
|
-
выполняет `delegation revoke` от имени точного principal с текущей revision и причиной.
|
|
587
|
-
Revocation запрещает будущие использования, но не переписывает уже записанные события.
|
|
588
|
-
|
|
589
|
-
Важно: это локальная проверка policy и audit trail, а не криптографическая аутентификация
|
|
590
|
-
Codex-процесса. Любой процесс с доступом к локальному state и CLI может заявить строку
|
|
591
|
-
delegate. Поэтому project-wide grant должен быть короткоживущим, а секреты, платежи, реальные
|
|
592
|
-
торговые операции и иные необратимые действия требуют отдельных технических ограничений и не
|
|
593
|
-
должны полагаться только на delegated approval. Alpha.6 не расширяет allow-list transitions:
|
|
594
|
-
grant не даёт authority на adoption apply, Milestone scope change или другие новые
|
|
595
|
-
human-only guardrails.
|
|
596
|
-
|
|
597
|
-
## 3.2. Запустите delegate в новом чате
|
|
598
|
-
|
|
599
|
-
Grant сам не запускает агента и не прикрепляется к существующему чату. После получения
|
|
600
|
-
`DGR-ID` откройте новый Local-чат в том же Codex Project. Новый чат нужен ещё и потому, что он
|
|
601
|
-
загрузит актуальную gateway-инструкцию. Передайте точные `delegate` и `DGR-ID`; `DGA-код`
|
|
602
|
-
больше не нужен.
|
|
603
|
-
|
|
604
|
-
Перед запуском проверьте выбор scope:
|
|
605
|
-
|
|
606
|
-
- новый Milestone или новая standalone Task с `AUTO` требуют project scope;
|
|
607
|
-
- существующий Milestone и его linked Tasks могут использовать Milestone scope;
|
|
608
|
-
- одна существующая Task может использовать Task scope;
|
|
609
|
-
- Knowledge Map approval доступен только project-scoped grant с
|
|
610
|
-
`project_memory.approve`.
|
|
611
|
-
|
|
612
|
-
Полные копируемые промпты для Milestone delegate и Task delegate находятся в
|
|
613
|
-
`docs/delegated-approval.md` и chat-only PDF. В обоих промптах delegate обязан сначала
|
|
614
|
-
выполнить `delegation show`, а каждый approval применять только при exact записи в текущем
|
|
615
|
-
`next.delegatedApprovalOptions`. Внутренние Worker и Independent Reviewer grant не используют:
|
|
616
|
-
его применяет координатор после получения их evidence.
|
|
617
|
-
|
|
618
|
-
Все автоматически создаваемые чаты получают проектный монотонный номер из
|
|
619
|
-
`plugins/codex-workflow-gateway/scripts/chat-registry.mjs`; `count + 1` запрещён. Основные формы:
|
|
620
|
-
|
|
621
|
-
```text
|
|
622
|
-
#NNN · M<NN> · Coord · <Milestone title> · <MS-ID>
|
|
623
|
-
#NNN · M<NN>/T<NN> · Task · <Task title> · <TASK-ID>
|
|
624
|
-
```
|
|
625
|
-
|
|
626
|
-
Task-чат создавайте только как новую standalone Codex task (`create_thread`) в том же Project, а
|
|
627
|
-
не как fork/handoff/продолжение Milestone-чата. В начальный prompt передавайте только exact
|
|
628
|
-
TaskContextPacket: repository, точные Milestone/Task ID и ordinal, текущие Task revision/title,
|
|
629
|
-
Brief/Plan bindings, Task requirements/acceptance, свежий маршрут `status -> next --task <Task
|
|
630
|
-
ID>`, Task-local scope/checks/stop conditions и exact actor/grant ID при необходимости. Не
|
|
631
|
-
переносите transcript Milestone-чата, историю recovery/approval, соседние Tasks, reasoning или
|
|
632
|
-
confirmation/handoff/writer credentials.
|
|
633
|
-
|
|
634
|
-
До создания проверьте, нет ли уже чата для exact Task ID. После создания передайте прочитанный
|
|
635
|
-
title в registry readback и применяйте только возвращённый deterministic fallback. Title должен
|
|
636
|
-
быть уникален и содержать exact `#NNN`, membership ordinal и ID. Input должен состоять из
|
|
637
|
-
TaskContextPacket; допустима только добавленная Codex App служебная `codex_delegation`-обёртка с
|
|
638
|
-
`source_thread_id`, но не parent turns или transcript. Если title отсутствует или нормализован
|
|
639
|
-
неверно, переименуйте и перепроверьте. Pending `clientThreadId`, тайм-аут или отсутствие в
|
|
640
|
-
`list_threads` не доказывают, что создание не состоялось, и не разрешают повторный `create_thread`.
|
|
641
|
-
До первого вызова сохраните `dispatch-begin`; после него используйте `dispatch-result/status`,
|
|
642
|
-
поиск коррелированного сеанса и `dispatch-observe` с фактическим `read_thread`. На одну
|
|
643
|
-
резервацию выдаётся только одно разрешение создания. Не обходите его новой резервацией или fork.
|
|
644
|
-
Полный контракт восстановления, сохранения supervisor/cursor и явного выбора `model`/`thinking`
|
|
645
|
-
по роли, фазе и сложности находится в
|
|
646
|
-
`plugins/codex-workflow-gateway/references/chat-dispatch.md`. Выбор модели требует соответствующего
|
|
647
|
-
поручения пользователя и актуального списка поддерживаемых пар на целевом host; нельзя молча
|
|
648
|
-
наследовать дорогую конфигурацию координатора или снижать уровень независимого аудита.
|
|
649
|
-
Создавайте или переиспользуйте Task-чат непосредственно перед dispatch этой Task, а не как пустой
|
|
650
|
-
placeholder для всего membership; `T<NN>` берите только из утверждённого membership order.
|
|
651
|
-
|
|
652
|
-
После dispatch Milestone-координатор не заканчивает turn: он ждёт exact Task-чат bounded-вызовами
|
|
653
|
-
`wait_threads`, сохраняет cursor, читает completed/attention результат и обязательно сверяет его
|
|
654
|
-
через `status -> next`. Recoverable non-human продолжение отправляется в тот же чат через
|
|
655
|
-
`send_message_to_thread`; пользователь нужен только для mandatory human/semantic gate, внешнего
|
|
656
|
-
разрешения, unrecoverable integrity conflict или исчерпанного infrastructure retry. Следующий
|
|
657
|
-
Task-чат создаётся только после Core-подтверждения `terminal + merged`. Завершённый Task-чат сам по
|
|
658
|
-
себе не доказывает terminal state и не пробуждает уже завершившийся coordinator turn.
|
|
659
|
-
|
|
660
|
-
После завершения автономного окна попросите отдельный контрольный чат показать
|
|
661
|
-
`delegation list`, использованные authorization events и отозвать ненужный широкий grant.
|
|
662
|
-
|
|
663
|
-
Для Milestone delegate отдельный Task-чат обязателен для каждой required Task. Это сохраняет
|
|
664
|
-
пользовательский audit trail и не позволяет одному длинному Milestone-чату накапливать
|
|
665
|
-
реализацию, compaction и review всех Tasks.
|
|
666
|
-
|
|
667
|
-
## 4. Продолжите начатый Milestone или создайте следующий
|
|
668
|
-
|
|
669
|
-
Terminal Milestone со статусом `accepted` остаётся закрытым. Для следующего результата нужно
|
|
670
|
-
начать новый Discovery и материализовать новый Milestone; переписывать историю предыдущего не
|
|
671
|
-
следует.
|
|
672
|
-
|
|
673
|
-
Промпт для планирования следующего Milestone:
|
|
674
|
-
|
|
675
|
-
```text
|
|
676
|
-
Создай следующий Milestone проекта через Workflow V2.
|
|
677
|
-
Все команды выполняешь ты. Начни с AGENTS.md, gateway handshake, doctor,
|
|
678
|
-
status и next. Проверь Knowledge Map штатно и показывай мне её смысловые
|
|
679
|
-
изменения до approve.
|
|
680
|
-
|
|
681
|
-
Проведи Discovery: outcome, scope, out-of-scope, acceptance, constraints,
|
|
682
|
-
unknowns и success signal. Не materialize сущность при blocking unknowns.
|
|
683
|
-
После согласования создай Milestone и тонкие связанные Tasks, подготовь
|
|
684
|
-
membership Plan и покажи его мне для execution authorization. После моей
|
|
685
|
-
явной авторизации доведи Milestone до active, выдай порядок required Tasks
|
|
686
|
-
и остановись. Реализацию в этом чате не начинай.
|
|
687
|
-
```
|
|
688
|
-
|
|
689
|
-
## 5. Как теперь закрывается Milestone
|
|
690
|
-
|
|
691
|
-
После merge всех `required` Tasks откройте отдельный чат финальной проверки:
|
|
692
|
-
|
|
693
|
-
```text
|
|
694
|
-
Возобнови Milestone <MS-ID> и подготовь его к финальному принятию.
|
|
695
|
-
Все команды и проверки выполняешь ты. Начни с AGENTS.md, handshake,
|
|
696
|
-
doctor, status и next. Проверь, что все current required memberships merged,
|
|
697
|
-
выполни штатную Milestone validation и покажи Result, evidence, checks и
|
|
698
|
-
validated HEAD.
|
|
699
|
-
|
|
700
|
-
Когда next вернёт requiredHumanGate, покажи мне все связанные поля и код
|
|
701
|
-
подтверждения, запроси моё явное final acceptance и заверши ответ. Не
|
|
702
|
-
вызывай milestone accept в этом же ответе и не считай этот промпт заранее
|
|
703
|
-
выданным согласием.
|
|
704
|
-
```
|
|
705
|
-
|
|
706
|
-
После этого Codex должен остановиться. Если результат устраивает, ответьте отдельным сообщением:
|
|
707
|
-
|
|
708
|
-
```text
|
|
709
|
-
Принимаю Milestone <MS-ID> для revision <REVISION> с кодом <MSA-CODE>.
|
|
710
|
-
Выполни штатный final acceptance и подтверди status accepted.
|
|
711
|
-
```
|
|
712
|
-
|
|
713
|
-
Код связан с Milestone ID, revision, Plan hash, Result hash, evidence hash и validated HEAD.
|
|
714
|
-
Если любой из них изменился, старый код недействителен и агент должен повторно показать новую
|
|
715
|
-
границу принятия.
|
|
716
|
-
|
|
717
|
-
## 6. Проверка исправленного `next`
|
|
718
|
-
|
|
719
|
-
`next` не должен возвращать незапущенную историческую Task, если её текущее membership имеет
|
|
720
|
-
disposition `waived`/`cancelled` либо её Milestone уже `accepted`/`cancelled`. Для активного
|
|
721
|
-
Milestone он выбирает только `required` Tasks. Уже начатая Task может завершить допустимый
|
|
722
|
-
переход, поэтому её наличие анализируется отдельно от незапущенной истории.
|
|
723
|
-
|
|
724
|
-
Если после совместимого обновления `next` всё ещё показывает неподходящую Task, агент должен
|
|
725
|
-
собрать `status`, целевые Task/Milestone state и memberships и остановиться с диагностикой. Не
|
|
726
|
-
следует вручную менять JSON state или обходить transition checks.
|
|
28
|
+
This guide does not authorize updating a live consumer while auditing the workflow package. Such a change is a separate explicitly scoped operation.
|