codex-workflow-v2 2.0.0-beta.12.8 → 2.0.0-beta.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +60 -16
- package/dist/reviewer-runtime-build.json +1092 -0
- package/dist/src/alpha6/check-support-anchor.d.ts +24 -0
- package/dist/src/alpha6/check-support-anchor.js +102 -0
- package/dist/src/alpha6/check-support-anchor.js.map +1 -0
- package/dist/src/alpha6/component-owner.d.ts +28 -0
- package/dist/src/alpha6/component-owner.js +95 -0
- package/dist/src/alpha6/component-owner.js.map +1 -0
- package/dist/src/alpha6/downstream-proof.js +4 -2
- package/dist/src/alpha6/downstream-proof.js.map +1 -1
- package/dist/src/alpha6/mechanical-feasibility.js +42 -12
- package/dist/src/alpha6/mechanical-feasibility.js.map +1 -1
- package/dist/src/alpha6/milestone.d.ts +6 -2
- package/dist/src/alpha6/milestone.js +164 -10
- package/dist/src/alpha6/milestone.js.map +1 -1
- package/dist/src/alpha6/npm-check-contract.d.ts +11 -0
- package/dist/src/alpha6/npm-check-contract.js +36 -0
- package/dist/src/alpha6/npm-check-contract.js.map +1 -0
- package/dist/src/alpha6/plan-integrity.js +157 -27
- package/dist/src/alpha6/plan-integrity.js.map +1 -1
- package/dist/src/alpha6/plan-risk.js +3 -1
- package/dist/src/alpha6/plan-risk.js.map +1 -1
- package/dist/src/alpha6/remediation-cause.d.ts +13 -0
- package/dist/src/alpha6/remediation-cause.js +77 -0
- package/dist/src/alpha6/remediation-cause.js.map +1 -0
- package/dist/src/alpha6/remediation.d.ts +15 -4
- package/dist/src/alpha6/remediation.js +430 -67
- package/dist/src/alpha6/remediation.js.map +1 -1
- package/dist/src/alpha6/review.d.ts +6 -0
- package/dist/src/alpha6/review.js +46 -4
- package/dist/src/alpha6/review.js.map +1 -1
- package/dist/src/artifacts.js +6 -0
- package/dist/src/artifacts.js.map +1 -1
- package/dist/src/cli-actions.d.ts +25 -0
- package/dist/src/cli-actions.js +109 -0
- package/dist/src/cli-actions.js.map +1 -0
- package/dist/src/cli.js +244 -253
- package/dist/src/cli.js.map +1 -1
- package/dist/src/contracts.d.ts +202 -5
- package/dist/src/credential-transport.d.ts +38 -0
- package/dist/src/credential-transport.js +156 -0
- package/dist/src/credential-transport.js.map +1 -0
- package/dist/src/dependency-provenance.d.ts +23 -2
- package/dist/src/dependency-provenance.js +239 -36
- package/dist/src/dependency-provenance.js.map +1 -1
- package/dist/src/domain/completed-step-carryover.d.ts +13 -0
- package/dist/src/domain/completed-step-carryover.js +71 -0
- package/dist/src/domain/completed-step-carryover.js.map +1 -0
- package/dist/src/domain/validation.d.ts +9 -1
- package/dist/src/domain/validation.js +86 -0
- package/dist/src/domain/validation.js.map +1 -1
- package/dist/src/gateway-handshake.d.ts +11 -0
- package/dist/src/gateway-handshake.js +92 -0
- package/dist/src/gateway-handshake.js.map +1 -0
- package/dist/src/git.js +1 -0
- package/dist/src/git.js.map +1 -1
- package/dist/src/historical-step-provenance.d.ts +20 -0
- package/dist/src/historical-step-provenance.js +111 -0
- package/dist/src/historical-step-provenance.js.map +1 -0
- package/dist/src/index.d.ts +2 -0
- package/dist/src/index.js +2 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/lifecycle/corrective-replan-binding-manifest.d.ts +5 -0
- package/dist/src/lifecycle/corrective-replan-binding-manifest.js +9 -0
- package/dist/src/lifecycle/corrective-replan-binding-manifest.js.map +1 -1
- package/dist/src/lifecycle/corrective-replan.js +1 -1
- package/dist/src/lifecycle/corrective-replan.js.map +1 -1
- package/dist/src/lifecycle/semantic-registry.js +1 -1
- package/dist/src/observation.js +1 -2
- package/dist/src/observation.js.map +1 -1
- package/dist/src/observed-routes.d.ts +114 -0
- package/dist/src/observed-routes.js +545 -0
- package/dist/src/observed-routes.js.map +1 -0
- package/dist/src/operational-contract.d.ts +26 -0
- package/dist/src/operational-contract.js +94 -0
- package/dist/src/operational-contract.js.map +1 -0
- package/dist/src/reviewer.d.ts +218 -8
- package/dist/src/reviewer.js +927 -25
- package/dist/src/reviewer.js.map +1 -1
- package/dist/src/state/corrective-replan-executor.js +23 -15
- package/dist/src/state/corrective-replan-executor.js.map +1 -1
- package/dist/src/state/corrective-replan-public.js +35 -10
- package/dist/src/state/corrective-replan-public.js.map +1 -1
- package/dist/src/state/corrective-replan-transaction.js +12 -4
- package/dist/src/state/corrective-replan-transaction.js.map +1 -1
- package/dist/src/state/corrective-yield-transaction.js +11 -2
- package/dist/src/state/corrective-yield-transaction.js.map +1 -1
- package/dist/src/state/lock.d.ts +1 -0
- package/dist/src/state/lock.js +24 -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.d.ts +70 -4
- package/dist/src/workflow.js +1888 -152
- package/dist/src/workflow.js.map +1 -1
- package/docs/autonomy-guardrails.md +41 -14
- package/docs/delegated-approval.md +6 -1
- package/docs/development-flow.md +42 -12
- 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/sources/codex-workflow-v2-architecture-ru.md +191 -22
- package/docs/pdf/sources/codex-workflow-v2-chat-only-guide-ru.md +163 -45
- package/docs/pdf/sources/codex-workflow-v2-technical-reference-ru.md +346 -52
- package/docs/problem-briefs/01-pre-implementation-integrity.md +11 -7
- package/docs/problem-briefs/04-task-dependency-and-structural-replacement-integrity.md +13 -6
- package/docs/problem-briefs/README.md +11 -11
- package/docs/release.md +89 -9
- package/docs/updating-existing-project.md +235 -0
- package/docs/validation-report.md +156 -98
- package/package.json +12 -3
- package/plugins/codex-workflow-gateway/.codex-plugin/plugin.json +1 -1
- package/plugins/codex-workflow-gateway/references/protocol.md +9 -0
- package/plugins/codex-workflow-gateway/skills/codex-workflow-gateway/SKILL.md +67 -1
- package/schemas/authorization-event.schema.json +10 -3
- package/schemas/corrective-decision-event.schema.json +164 -9
- package/schemas/corrective-replan-credentials.private.schema.json +4 -2
- package/schemas/milestone-scope-change-event.schema.json +25 -1
- package/schemas/remediation-event.schema.json +17 -1
- package/schemas/review-result.schema.json +1 -0
- package/schemas/step-review-event.schema.json +15 -0
- package/schemas/task.schema.json +104 -1
- package/schemas/transition-definition.schema.json +8 -0
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
---
|
|
2
|
-
title: Codex Workflow V2: технический справочник beta.
|
|
2
|
+
title: Codex Workflow V2: технический справочник beta.13
|
|
3
3
|
subtitle: Protocol 2, state schema 2, transactions, credentials, dependency authority, review и recovery
|
|
4
4
|
part: Часть 3 из 3 | Technical reference
|
|
5
5
|
document_version: 2.0
|
|
6
|
-
date:
|
|
7
|
-
subject: Технический контракт Codex Workflow V2 beta.
|
|
6
|
+
date: 2 сентября 2026
|
|
7
|
+
subject: Технический контракт Codex Workflow V2 beta.13
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
# 1. Runtime contract
|
|
@@ -13,9 +13,9 @@ Workflow V2 предоставляет локальные revisioned transitions
|
|
|
13
13
|
и `value` либо структурированную ошибку с `code`, `message` и `details`. Chat, PDF и gateway не создают
|
|
14
14
|
authority сами: mutating permission определяется runtime state и свежим `next`.
|
|
15
15
|
|
|
16
|
-
| Параметр beta.
|
|
16
|
+
| Параметр beta.13 | Значение |
|
|
17
17
|
|---|---|
|
|
18
|
-
| npm package | `codex-workflow-v2@2.0.0-beta.
|
|
18
|
+
| npm package | `codex-workflow-v2@2.0.0-beta.13` |
|
|
19
19
|
| protocolVersion | 2 |
|
|
20
20
|
| stateSchemaVersion | 2 |
|
|
21
21
|
| lifecycle epoch | 2 |
|
|
@@ -37,16 +37,18 @@ Gateway выполняет:
|
|
|
37
37
|
5. вызов только package-local `dist/src/cli.js --repo <root>`;
|
|
38
38
|
6. `gateway handshake` до lifecycle действий.
|
|
39
39
|
|
|
40
|
-
Ключевые beta.
|
|
40
|
+
Ключевые beta.13 capabilities:
|
|
41
41
|
|
|
42
42
|
| Группа | Capabilities |
|
|
43
43
|
|---|---|
|
|
44
44
|
| Knowledge и graph | `project-memory-v1`, `graph-binding-v1`, `task-context-refresh-v1` |
|
|
45
|
-
| Milestone | lifecycle, initial assembly navigation, autonomy, progress, dependency DAG, initial Plan transaction |
|
|
45
|
+
| Milestone | lifecycle, initial assembly navigation, autonomy, audited remediation topology, progress, dependency DAG, initial Plan transaction |
|
|
46
46
|
| Task planning | Plan Risk Audit, proof obligations, mechanical feasibility |
|
|
47
|
-
| C1 | handoff sidecar/bundle, derived Worker actor, credential replacement, Human-gate lease release |
|
|
48
|
-
| Reviews | strict reviewer, Step strict review,
|
|
49
|
-
| Recovery | Task-local dependency provenance, plan integrity, downstream-proof predecessor invalidation, remediation mode, legacy stop override, append-only stop-rebind chain, corrective yield/replan journals |
|
|
47
|
+
| C1 | handoff sidecar/bundle, derived Worker actor, `host-safe-credential-reference-v1`, credential replacement, Human-gate lease release |
|
|
48
|
+
| Reviews | strict reviewer, Step strict review, `reviewer-runtime-preflight-v1`, `explicit-review-mode-v1`, evidence-bound fix/replan routing |
|
|
49
|
+
| Recovery | `cause-bound-rolling-refinement-v1`, `failed-step-continuation-transaction-v1`, Task-local dependency provenance, historical Step provenance, plan integrity, `historical-check-support-scope-adoption-v1`, `historical-check-support-dirty-carryover-v1`, downstream-proof predecessor invalidation, remediation mode, legacy stop override, append-only stop-rebind chain, corrective yield/replan journals |
|
|
50
|
+
| Planning/integration | `structural-production-edge-contract-v1`, transitive component-owner same-Task refinement |
|
|
51
|
+
| Operations/navigation | `compact-status-v1`, `observed-route-matrix-v2`, `app-owned-operational-preflight-v1` |
|
|
50
52
|
| Replacement | `structural-task-replacement-disabled-v1` |
|
|
51
53
|
|
|
52
54
|
Handshake incompatibility прекращает работу. Запуск global package, `latest`, mutable range или соседней
|
|
@@ -71,6 +73,7 @@ $CODEX_HOME/workflow-state/v2/projects/<project-id>/
|
|
|
71
73
|
.versions/ и scope/autonomy sidecars
|
|
72
74
|
delegations/<DGR-ID>/state.json
|
|
73
75
|
locks/<TASK-ID>.json
|
|
76
|
+
credentials/<project-id>/CREF-<uuid>.json # private regular file, mode 0600
|
|
74
77
|
graph-bindings/
|
|
75
78
|
composite transaction journals
|
|
76
79
|
```
|
|
@@ -79,6 +82,8 @@ Artifacts публикуются через staged version, CAS state write, act
|
|
|
79
82
|
Composite mutations добавляют journal с exact targets, before/after hashes и recovery posture.
|
|
80
83
|
|
|
81
84
|
Local state никогда не копируется в product repository и не редактируется вручную.
|
|
85
|
+
Credential vault является host-local transport: underlying bearer secret не сериализуется в CLI argv,
|
|
86
|
+
output, error, packet или evidence и не передаётся между projects по reference.
|
|
82
87
|
|
|
83
88
|
# 4. Project Knowledge Map
|
|
84
89
|
|
|
@@ -211,6 +216,18 @@ branch, analyzer inputs и evidence hash должны оставаться curre
|
|
|
211
216
|
Legacy approved AuthorizationEvent без mechanical payload остаётся readable для compatibility, но не
|
|
212
217
|
создаёт новую P01 evidence claim.
|
|
213
218
|
|
|
219
|
+
Beta.13 добавляет два узких structural contracts. После failed check bounded static import traversal
|
|
220
|
+
repository-local runner может доказать transitive component-owner path вне `allowedWrites`; same-Task
|
|
221
|
+
scope refinement допустим только внутри той же component boundary и при неизменных hashes objective,
|
|
222
|
+
requirements, acceptance и security boundary. Отдельно независимая PRA-классификация consumer как
|
|
223
|
+
`runtime-composition` в multi-Step Task требует `requiresProductionEdges=true` и непустой
|
|
224
|
+
`productionEdges[]`, где каждая запись содержит transitive `ownerStepId`, `consumerStepId` и exact
|
|
225
|
+
`checkRef` из checks consumer Step. Planner omission, missing owner/consumer, self-edge, duplicate или
|
|
226
|
+
неисполняемый check блокируют admission. Простой one-Step runtime исключён.
|
|
227
|
+
|
|
228
|
+
Эти механизмы проверяют структурную форму и не утверждают product truth. Они не заменяют Plan Risk Audit,
|
|
229
|
+
Milestone authorization, фактический check result или не реализованную Step-validity authority P02.
|
|
230
|
+
|
|
214
231
|
# 9. C1 handoff и writer lease
|
|
215
232
|
|
|
216
233
|
## 9.1. Dependency binding
|
|
@@ -230,16 +247,23 @@ Claim сверяет stored binding с current Milestone authority до lock acq
|
|
|
230
247
|
|
|
231
248
|
## 9.2. Credential sequence
|
|
232
249
|
|
|
233
|
-
1. `task handoff-prepare`
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
250
|
+
1. `task handoff-prepare` сохраняет hash в handoff state, кладёт secret в project-local vault и возвращает
|
|
251
|
+
публичную `claimCredentialReference` с `transport=local-vault-v1`.
|
|
252
|
+
2. Exact target actor вызывает `task claim --claim-credential-ref <CREF-...>`; reference одноразовый и
|
|
253
|
+
после успешного claim удаляется.
|
|
254
|
+
3. Claim проверяет project/entity/action/actor/expiry, создаёт lease и возвращает
|
|
255
|
+
`writerCredentialReference`; сам token отсутствует в output.
|
|
256
|
+
4. `task run` и остальные lease-bound actions принимают только `--writer-credential-ref`; `next` явно
|
|
257
|
+
сообщает `secretInArgv=false`, `secretInOutput=false` и renewal policy.
|
|
258
|
+
5. `task result-set` consumes текущую authority и освобождает lease до Human final-acceptance gate.
|
|
259
|
+
6. После acceptance fresh `writer-credential-replace` создаёт merge authority; terminal transitions
|
|
260
|
+
освобождают её.
|
|
261
|
+
|
|
262
|
+
Vault record — regular file mode `0600`, содержит integrity hash и binding к project, entity, actor,
|
|
263
|
+
allowed actions и expiry. Legacy `--claim-token`/`--writer-token` отклоняются до lifecycle transition.
|
|
264
|
+
Ни secret, ни его plaintext receipt нельзя логировать, сохранять в chat packet или включать в evidence;
|
|
265
|
+
argv, stdout, stderr и structured errors несут только reference/metadata. `handoff-show` возвращает safe
|
|
266
|
+
persisted binding. Потеря reference разрешается только fresh advertised replacement action.
|
|
243
267
|
|
|
244
268
|
# 10. Git и Step evidence
|
|
245
269
|
|
|
@@ -248,7 +272,7 @@ Credential нельзя логировать, сохранять в chat packet
|
|
|
248
272
|
| Task start | Clean checkout, fresh base/auth/dependency binding, correct workspace policy |
|
|
249
273
|
| Step run | Planned/failed eligible Step, dependencies, branch, C1 actor, lease |
|
|
250
274
|
| Worker return | Изменения uncommitted и только в allowedWrites |
|
|
251
|
-
| Step complete | History, scope, checks, review gate, exact writer
|
|
275
|
+
| Step complete | History, scope, checks, review gate, exact writer credential reference |
|
|
252
276
|
| Commit | Один Core-owned commit с Task/Step metadata |
|
|
253
277
|
| Submit/Result | Exact evidence/review; Result освобождает lease до Human gate |
|
|
254
278
|
| Merge | Fresh review/acceptance, base conditions, accepted HEAD |
|
|
@@ -276,31 +300,110 @@ authorization; sync-base invalidates review/Result/acceptance bindings.
|
|
|
276
300
|
- packetHash и repositorySealHash обязаны совпасть до записи;
|
|
277
301
|
- Reviewer thread ID и lifecycle actor фиксируются, bearer token не передаётся Reviewer;
|
|
278
302
|
- seal drift уничтожает result и требует fresh packet.
|
|
303
|
+
- packet command требует explicit `--review-mode ordinary|security`; ordinary запрещает подменять
|
|
304
|
+
проверку неявным security scan, а security применяется только по явному запросу;
|
|
305
|
+
- read-only `codex-workflow-reviewer-runtime-preflight-v1` связывает Node executable/version, exact
|
|
306
|
+
Workflow runtime module hash, manifest/lock hashes, dependency readiness и writable OS-temporary cache
|
|
307
|
+
за пределами sealed checkout; при каждом вызове он заново разрешает с диска recursive runtime dependency
|
|
308
|
+
graph по parent-aware, nested-first Node lookup и сверяет exact package manifests и SHA-256 всех
|
|
309
|
+
attested `.js`/`.cjs`/`.mjs`/`.json`/`.node` файлов. Лишь затем Node `createRequire` загружает exact
|
|
310
|
+
repository-local gateway/reviewer/workflow graph и сверяет общий с CLI descriptor
|
|
311
|
+
package/protocol/schema. Subprocess, timeout/retry, cached trust decision и install не используются;
|
|
312
|
+
checkout не меняется, а missing/tampered/conflicting/symlinked dependency, load или contract failure
|
|
313
|
+
закрывает выдачу packet.
|
|
279
314
|
|
|
280
315
|
`review-launch` сохраняется в public CLI для совместимых environments, но не применяется как nested
|
|
281
316
|
local reviewer внутри Codex App sandbox.
|
|
282
317
|
|
|
283
318
|
# 12. Remediation и corrective decisions
|
|
284
319
|
|
|
285
|
-
Guarded Step имеет
|
|
320
|
+
Для новых beta.13 events Guarded Step имеет cause-bound rolling refinement без числового лимита:
|
|
286
321
|
|
|
287
322
|
| Boundary | Разрешение |
|
|
288
323
|
|---|---|
|
|
289
|
-
|
|
|
290
|
-
|
|
|
291
|
-
|
|
|
324
|
+
| Новый distinct mechanical/reviewer cause | Продолжить ту же Task/Step и выполнить новый strict review |
|
|
325
|
+
| Повтор mechanically normalized cause после fix | Root-cause replan той же Task обязателен |
|
|
326
|
+
| Повтор stable reviewer `causeId` с `planConflict=true` | Root-cause replan той же Task обязателен |
|
|
327
|
+
| Похожий prose, номер попытки или reviewer cause без Plan conflict | Не создаёт replan authority |
|
|
328
|
+
| Finding `route=fix` или route отсутствует | Продолжить ту же Task/Step независимо от attempt count |
|
|
292
329
|
| Finding `route=replan` с exact Plan conflict | `task plan-set`; меняются только implementation Steps |
|
|
293
330
|
| `route=replan` без exact conflict | Невалидный review result, state не меняется |
|
|
294
331
|
| Explicit `split-required` | Structural replacement stop |
|
|
295
332
|
| Exact beta.11 attempt-four `stop-escalate` | Append-only Human-confirmed compatibility override |
|
|
333
|
+
| Pre-execution `stop-escalate` + exact `auditedRemediation` route | Один additive upstream Task без нового Human gate |
|
|
296
334
|
| Любой другой explicit `stop-escalate` | Terminal user attention |
|
|
297
335
|
|
|
298
|
-
Attempt count является диагностикой, а не lifecycle authority.
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
336
|
+
Attempt count является диагностикой, а не lifecycle authority. Authoritative mechanical cause выводится
|
|
337
|
+
из normalized failure fingerprint; external review cause требует schema-valid stable `causeId`, а replan
|
|
338
|
+
authority дополнительно требует `planConflict=true`. Explicit corrective-decision journal сохраняется для
|
|
339
|
+
намеренного stop/split и совместимого legacy recovery. Legacy events без `causeBindings` читаются по старому
|
|
340
|
+
compatibility circuit и не получают новую authority задним числом. Replan из review обязан назвать
|
|
341
|
+
`planClause`, `whyFixCannotFit` и `minimalPlanChange`; objective, requirements и acceptance Task при
|
|
342
|
+
remediation неизменяемы. Новый Plan проходит обычные audit и authorization.
|
|
343
|
+
|
|
344
|
+
Failed strict review финализируется project transaction: remediation event, Task `needs_fix` и удаление
|
|
345
|
+
exact proven writer lease образуют один readback-bound target set. Повтор authoritative reviewer cause в
|
|
346
|
+
той же transaction добавляет C1 yield. `next` и `task plan-set` одинаково требуют отсутствия writer lease
|
|
347
|
+
и C1 claim и запрещают ослаблять `forbiddenScope`, guarded PRA classification или production-edge boundary.
|
|
348
|
+
Если review sidecars уже записаны, а transaction была прервана, повторная запись review завершает один
|
|
349
|
+
pause без duplicate remediation.
|
|
350
|
+
|
|
351
|
+
Failed check записывается project transaction `failed-step-continuation`: remediation sidecar, Task
|
|
352
|
+
`needs_fix` с `failurePause` и удаление lease входят в один journaled target set. Validation повторно
|
|
353
|
+
сверяет Task revision/status, remediation hash, отсутствие lease, Git HEAD, dirty paths и
|
|
354
|
+
`dirtyWorktreeHash`. Product bytes не коммитятся и не сбрасываются. Fresh `next` при отсутствующем либо
|
|
355
|
+
stale lease сначала рекламирует `task writer-credential-replace`, затем возвращает ту же Task к fix или
|
|
356
|
+
root-cause replan. Это общий continuation contract, а не новый numbered compatibility patch.
|
|
357
|
+
|
|
358
|
+
# 13. beta.13 coherent continuation и operational contracts
|
|
359
|
+
|
|
360
|
+
## 13.1. Compact status
|
|
361
|
+
|
|
362
|
+
`status` по умолчанию возвращает bounded projection `codex-workflow-compact-status-v1`: entity counts,
|
|
363
|
+
active Task/Step, exact advertised action/blockedAction, observation reason codes, route metadata и
|
|
364
|
+
stable `routeFingerprint`. Массивы всех Discoveries, Tasks, Milestones и delegations в неё не входят.
|
|
365
|
+
Полная historical projection доступна только через explicit `status --full`. Обе формы строятся из одного
|
|
366
|
+
observation snapshot; compact form не вызывает public full-status path.
|
|
367
|
+
|
|
368
|
+
## 13.2. Observed Signal route matrix
|
|
369
|
+
|
|
370
|
+
`observed-route-matrix-v2` покрывает 13 route classes, фактически наблюдавшихся в Signal. Каждый класс
|
|
371
|
+
имеет unique descending priority и ровно один representative witness: fresh production `next`, real
|
|
372
|
+
Workflow executor и fresh reachable successor либо real non-executable terminal observation. Это
|
|
373
|
+
class-level claim, а не доказательство каждой action. `next` добавляет matrix version/fingerprint,
|
|
374
|
+
route/action fingerprint, action support `executable-witnessed`/`unwitnessed`/`unsupported` и
|
|
375
|
+
`coverageBoundary=signal-observed-route-class-witnesses`.
|
|
376
|
+
|
|
377
|
+
Manual instruction и terminal marker не маскируются под CLI: они перечислены в explicit unsupported
|
|
378
|
+
inventory, не имеют CLI/executor binding и останавливают automation либо требуют чтения structured
|
|
379
|
+
options. Known executable action без собственного exact E2E остаётся `unwitnessed`, даже если её route
|
|
380
|
+
class доказан другим representative transition. Матрица не доказывает полноту всех CLI actions или
|
|
381
|
+
future transition families; отсутствие route в наблюдённой boundary — unsupported gap, а не разрешение
|
|
382
|
+
импровизировать command.
|
|
383
|
+
|
|
384
|
+
## 13.3. Reviewer runtime и review mode
|
|
385
|
+
|
|
386
|
+
Перед external-sealed packet Core выполняет non-mutating runtime preflight. Node major должен быть не
|
|
387
|
+
ниже 22; exact declared, locked и repository-local installed Workflow versions должны совпасть.
|
|
388
|
+
Runtime build manifest и SHA-256 каждого перечисленного Workflow runtime-файла проверяются, включая CLI
|
|
389
|
+
и reviewer entrypoints. Manifest также фиксирует exact package manifest и recursive dependency closure.
|
|
390
|
+
Каждый preflight заново с диска выполняет parent-aware, nested-first разрешение фактических dependencies,
|
|
391
|
+
сверяет их версии, пути и hashes всех attested `.js`/`.cjs`/`.mjs`/`.json`/`.node` файлов и отклоняет
|
|
392
|
+
path/symlink drift. Затем in-process gateway descriptor подтверждает package/protocol/schema. В packet не
|
|
393
|
+
попадают raw output или argv. Missing install, missing/stale build либо dependency closure и failed
|
|
394
|
+
load/contract дают actionable blocker. Writable cache создаётся с mode `0700` в OS temporary directory
|
|
395
|
+
вне sealed checkout, а dependency install не запускается. Blockers делают preflight `prepared=false`.
|
|
396
|
+
|
|
397
|
+
Packet/record contract связан с explicit `--review-mode ordinary|security`. `ordinary` означает проверку
|
|
398
|
+
корректности/acceptance без implicit security scan; `security` означает явно запрошенный security focus.
|
|
399
|
+
Mode входит в packet hash, поэтому записать результат другого mode невозможно.
|
|
400
|
+
|
|
401
|
+
Native launch передаёт API-compatible strict Structured Output schema. Во всех object schemas `required`
|
|
402
|
+
точно совпадает с `properties`, а optional semantic values кодируются nullable. Parser повторно проверяет
|
|
403
|
+
closed shape, допустимые `route`/`causeId`, обязательный `planConflict` для replan и finding cardinality;
|
|
404
|
+
malformed ответ становится unverified review без remediation authority.
|
|
405
|
+
|
|
406
|
+
# 14. beta.11 Plan-integrity recovery
|
|
304
407
|
|
|
305
408
|
`task plan-integrity-recover` применим только после одного first ordinary `checks-failed` remediation:
|
|
306
409
|
|
|
@@ -317,7 +420,7 @@ fresh `next` через corrective yield и обычный Human-confirmed repla
|
|
|
317
420
|
P01-A предотвращает поддерживаемые contradictions до fresh authorization. beta.11 path остаётся для
|
|
318
421
|
pre-P01 authorizations и late/unsupported exact recovery cases.
|
|
319
422
|
|
|
320
|
-
#
|
|
423
|
+
# 14.1. beta.12.7 compatibility transitions
|
|
321
424
|
|
|
322
425
|
`update dependency-provenance-recover` больше не требует полного равенства Task manifest/lock с base.
|
|
323
426
|
Base остаётся version authority, а parent/HEAD candidate сравниваются без единственных Workflow
|
|
@@ -367,7 +470,7 @@ diff. Semantic drift, иной commit или разрыв chain fail closed. Pro
|
|
|
367
470
|
из уже проверенной override-to-authorization Git chain. Формула должна точно равняться current Task
|
|
368
471
|
revision; unrelated write, duplicate, неверный parent или product commit блокируют continuation.
|
|
369
472
|
|
|
370
|
-
#
|
|
473
|
+
# 14.2. Downstream-proof predecessor recovery
|
|
371
474
|
|
|
372
475
|
Если active Step изменяет только собственный proof artifact, обычный `task step-complete` сохраняется.
|
|
373
476
|
Если dirty set дополнительно содержит файлы completed transitive predecessor, Core проверяет branch,
|
|
@@ -381,7 +484,185 @@ fresh `next` рекламирует lease-bound `task downstream-proof-recover`
|
|
|
381
484
|
remainder и пройти fresh Plan Risk Audit и execution authorization. Unrelated/non-predecessor file,
|
|
382
485
|
strict-review evidence, unregistered commit, branch mismatch или damaged sidecar возвращают `doctor`.
|
|
383
486
|
|
|
384
|
-
# 14.
|
|
487
|
+
# 14.3. beta.12.9 historical Step provenance
|
|
488
|
+
|
|
489
|
+
Corrective replan теперь сохраняет evidence commits Steps, исключённых replacement Plan, в
|
|
490
|
+
`invalidatedStepCommits`. Это предотвращает новый unregistered-history blocker без переноса завершённого
|
|
491
|
+
Step в новый Plan.
|
|
492
|
+
|
|
493
|
+
Для уже существующего stranded state fresh `next` допускает только один из двух bounded routes:
|
|
494
|
+
|
|
495
|
+
- `task historical-step-provenance-preflight/recover`, если beta.12.9 dependency HEAD уже зарегистрирован;
|
|
496
|
+
- `update historical-step-dependency-preflight/recover`, если dependency-only beta.12.9 commit ещё
|
|
497
|
+
является единственным unregistered HEAD.
|
|
498
|
+
|
|
499
|
+
Core требует один active Step, dirty paths только в его `allowedWrites`, отсутствие leases/transactions,
|
|
500
|
+
ровно один omitted product commit, полный hash-valid strict Step Review с `passed`, verified reviewer
|
|
501
|
+
attestation и прежний hash-bound `final_acceptance` того же Plan. Update-route дополнительно связывает
|
|
502
|
+
exact `HEAD^`/`HEAD`, package/version surfaces и SHA-256 dirty worktree. Recovery не переписывает Git,
|
|
503
|
+
не меняет product bytes и не возвращает старый Step в Plan; он записывает historical authority и, для
|
|
504
|
+
update-route, dependency provenance в одной Task revision. Fresh `status -> next` после transition
|
|
505
|
+
должен вернуть обычный credential/`task step-complete` flow текущего Step.
|
|
506
|
+
|
|
507
|
+
# 14.4. beta.12.11 audited remediation topology
|
|
508
|
+
|
|
509
|
+
`milestone remediation-materialize` применим только к required Task в
|
|
510
|
+
`awaiting_execution_authorization`, если ни один Step не начат и последний audit текущей
|
|
511
|
+
Task revision/Brief/Plan имеет decision `stop-escalate`. Нужны active Milestone на clean base,
|
|
512
|
+
coherent idle observation boundary, current Milestone execution authorization и ready Discovery.
|
|
513
|
+
|
|
514
|
+
Input не содержит Milestone Plan или actor:
|
|
515
|
+
|
|
516
|
+
```json
|
|
517
|
+
{
|
|
518
|
+
"discoveryId": "DISC-...",
|
|
519
|
+
"expectedDiscoveryRevision": 1,
|
|
520
|
+
"title": "Restore upstream capability",
|
|
521
|
+
"predecessorTaskIds": ["TASK-..."]
|
|
522
|
+
}
|
|
523
|
+
```
|
|
524
|
+
|
|
525
|
+
`predecessorTaskIds` обязан точно совпасть с direct predecessor frontier blocked Task; каждый такой
|
|
526
|
+
Task required и merged. Одна Project transaction пишет consumed Discovery, Brief/state нового Task,
|
|
527
|
+
новый `plan.json`, `scope-change-events.jsonl` и Milestone state. Event mode
|
|
528
|
+
`audited-remediation` связывает blocked Task/revision, Brief/Plan hashes, audit ID/hash, remediation
|
|
529
|
+
Task и predecessor IDs. Milestone semantic fields и прежние memberships неизменны; добавляются
|
|
530
|
+
только один required Task и одна dependency edge blocked -> remediation. Повтор audit запрещён.
|
|
531
|
+
|
|
532
|
+
Current Milestone execution authorization superseded и заменён `corrective-derived`, evidenceHash
|
|
533
|
+
связывает source Plan/authorization mode, audit hash и remediation evidence. Repository `next`
|
|
534
|
+
приоритизирует remediation Task. Для current required Tasks оно выдаёт
|
|
535
|
+
`correctiveDerivedApproval` для `task authorize`/`task accept`; actor фиксирован как
|
|
536
|
+
`agent:milestone-remediation:<MS-ID>`, human approval и delegation grant не нужны. Plan Risk Audit,
|
|
537
|
+
mechanical feasibility, C1, Step checks/commits/reviews и final Milestone acceptance не меняются.
|
|
538
|
+
После merge remediation Task исходная Task получает `task plan-set` и проходит fresh audit/authority.
|
|
539
|
+
|
|
540
|
+
Если перед этим exact package update сделал Knowledge Map stale, navigation может вернуть
|
|
541
|
+
`auditedRemediation.dependencyKnowledgeRefresh`. Eligibility требует: ранее active approved map;
|
|
542
|
+
inspected status `stale`; единственный изменённый Knowledge path `package.json`; clean checkout;
|
|
543
|
+
runtime/declared/locked/installed/HEAD/Milestone-base version равны; approved package content найден в
|
|
544
|
+
Git ancestry; каждый последующий commit, трогавший manifest, меняет ровно `package.json` и
|
|
545
|
+
`package-lock.json`, причём после удаления `codex-workflow-v2` обе JSON-структуры совпадают с parent.
|
|
546
|
+
Materialization тогда дополнительно пишет active Knowledge Map с revision +2 и approval mode
|
|
547
|
+
`corrective-derived` в той же Project transaction. Это не разрешает автоматически принимать README,
|
|
548
|
+
docs, commands, classification, authority, gaps или conflicts.
|
|
549
|
+
|
|
550
|
+
# 14.5. beta.12.12 selector-contract Plan-integrity recovery
|
|
551
|
+
|
|
552
|
+
Analyzer `wf2.root-npm-script-arguments@1` читает root `package.json` и только repository-local runner
|
|
553
|
+
из evaluated Git HEAD. Узкий доказуемый contract — script `node <safe-relative-path> affected`, исходник
|
|
554
|
+
которого использует `process.argv.slice(3)`, содержит selector literals `--base`, `--head`, `--files` и
|
|
555
|
+
явный `Affected mode requires` guard. Для такого script check без forwarded selector получает
|
|
556
|
+
`ROOT_NPM_SCRIPT_REQUIRED_SELECTOR_MISSING` и блокирует execution authorization. Произвольный shell или
|
|
557
|
+
нераспознанный runner остаётся `unverified`, а не объявляется ошибочным по догадке.
|
|
558
|
+
|
|
559
|
+
Legacy recovery принимает последовательную append-only history из одного или нескольких
|
|
560
|
+
`checks-failed` events при отсутствии corrective decision. Evidence v2 связывает каждый event ID/hash/
|
|
561
|
+
ordinal, Task revision, Plan/Step definition, manifest и runner hashes, Git HEAD, conflicts и SHA-256
|
|
562
|
+
dirty worktree. `task plan-integrity-recover` записывает один `replan-required` decision с
|
|
563
|
+
`triggeringAttemptCount = failures + 1` и полным `coveredEventIds`.
|
|
564
|
+
|
|
565
|
+
Если exact beta.12.12 package ещё не установлен, `update plan-integrity-update-preflight` проверяет
|
|
566
|
+
source beta.12.11, отсутствие leases/transactions и exact dirty allowlist. После dependency-only
|
|
567
|
+
transport `update plan-integrity-dependency-preflight/recover` регистрирует единственный HEAD как system
|
|
568
|
+
commit. Когда Knowledge drift объясняется только Workflow pin, та же Project transaction выполняет
|
|
569
|
+
corrective-derived reconcile/approval; прочий drift fail-closed. Product bytes не коммитятся и не
|
|
570
|
+
переносятся. Fresh route продолжается через credential replacement, `plan-integrity-recover`, yield и
|
|
571
|
+
corrective replan с selector-bearing check.
|
|
572
|
+
|
|
573
|
+
# 14.6. beta.12.15 source/target Knowledge binding
|
|
574
|
+
|
|
575
|
+
Corrective-replan receipt теперь включает две разные пары. `knowledgeRevision/knowledgeHash` связывает
|
|
576
|
+
исходное состояние Task; `targetKnowledgeRevision/targetKnowledgeHash` связывает active Project
|
|
577
|
+
Knowledge Map и replacement Plan. Executor проверяет source под Task lock, candidate Plan — по target,
|
|
578
|
+
а Risk Audit и materialized Task получают target binding.
|
|
579
|
+
|
|
580
|
+
Source и target могут различаться только при exact `dependencyProvenanceRecoveries.planIntegrity` для
|
|
581
|
+
текущего HEAD и package version. Record обязан совпасть по Plan, failed Step, всей remediation event ID
|
|
582
|
+
последовательности, dirty paths и повторно вычисленному dirty SHA-256. После corrective yield Core может
|
|
583
|
+
восстановить один или несколько ещё не зарегистрированных package updates: он просматривает trailing
|
|
584
|
+
Git suffix от HEAD до последнего зарегистрированного system commit, проверяет каждый элемент как
|
|
585
|
+
непрерывный manifest/lock-only exact Workflow pin update и одной Core mutation добавляет каждый commit
|
|
586
|
+
и его фактическую package version в provenance history. Любое изменение product bytes, разрыв ancestry,
|
|
587
|
+
Step status, Plan, decision или C1 posture отключает route.
|
|
588
|
+
|
|
589
|
+
Completed corrective-yield transaction проверяет неизменный canonical yield event как prefix текущей
|
|
590
|
+
append-only handoff history. Это сохраняет tamper detection, но разрешает новый handoff после успешного
|
|
591
|
+
corrective replan. E2E release gate проходит prepare/confirm/execute, authorization, handoff/claim,
|
|
592
|
+
selector-bearing Step completion commit и strict Step review.
|
|
593
|
+
|
|
594
|
+
Completed corrective-replan transaction сохраняет authority identity своего release. Текущий manifest
|
|
595
|
+
обязателен для любой pending/in-flight transaction; completed journal может использовать только exact
|
|
596
|
+
tuple из append-only registry: manifest SHA-256, runtime fingerprint и catalog hash. Неизвестный tuple,
|
|
597
|
+
legacy tuple у незавершённой transaction, повреждённый intent/phase chain или owned target остаётся
|
|
598
|
+
`journal-invalid`. Это позволяет читать terminal beta.12.12 history после расширения binding manifest,
|
|
599
|
+
не превращая legacy identity в новую execution authority.
|
|
600
|
+
|
|
601
|
+
# 14.7. beta.12.16 check-support scope authority
|
|
602
|
+
|
|
603
|
+
Analyzer `wf2.check-support-anchor@1` рассматривает только root `npm run` check, repository-local
|
|
604
|
+
`node`/`tsx` runner и его direct relative static import. Блокировка допустима, когда Step создаёт
|
|
605
|
+
отсутствующий exact migration output, импортированный support-модуль содержит SHA-256 и approved/
|
|
606
|
+
expected/manifest/catalog anchors той же `.sql` family, но Step не владеет support path. Это machine
|
|
607
|
+
evidence, а не вывод из текста ошибки.
|
|
608
|
+
|
|
609
|
+
Для pre-execution Plan finding `CHECK_SUPPORT_ANCHOR_OUTSIDE_ALLOWED_WRITES` блокирует authorization.
|
|
610
|
+
Для уже выполняемой guarded Step первый `checks-failed` может рекламировать тот же
|
|
611
|
+
`task plan-integrity-recover`, но evidence v3 записывает `continue-fix`, а не `replan-required`.
|
|
612
|
+
`scopeExtensions` равно отсортированному exact набору support paths из conflict evidence; dirty files
|
|
613
|
+
до recovery обязаны оставаться в original allowedWrites, support path не может пересекать
|
|
614
|
+
forbiddenScope. Plan hash не меняется. Effective scope используется retry precondition, Worker envelope,
|
|
615
|
+
Core commit, downstream-proof assessment, corrective-replan worktree guard и strict review packet.
|
|
616
|
+
Любое более широкое изменение остаётся в обычном corrective replan с Human gate.
|
|
617
|
+
|
|
618
|
+
# 14.8. beta.12.17 coherent Plan-integrity update source
|
|
619
|
+
|
|
620
|
+
Read-only `update plan-integrity-update-preflight` выводит `sourceVersion` из declared dependency, а
|
|
621
|
+
не из release-specific constant. Он принимает только exact `2.0.0-beta.12.N`, где `N >= 11` и
|
|
622
|
+
`N` меньше patch ordinal внешнего runner. Locked, installed, current Task branch и active Milestone
|
|
623
|
+
base обязаны совпадать с declared source. Любая missing/divergent surface блокирует transport.
|
|
624
|
+
|
|
625
|
+
Version consensus не заменяет остальные guards: должна существовать ровно одна eligible failed-Step
|
|
626
|
+
Plan-integrity assessment, observation обязана быть coherent, lease/transaction/Core operation
|
|
627
|
+
отсутствуют, а dirty bytes совпадают с доказанным Step scope. После dependency-only Git transport
|
|
628
|
+
repository-local runner регистрирует commit только через advertised
|
|
629
|
+
`update plan-integrity-dependency-recover`. Source consensus не усыновляет product history, не меняет
|
|
630
|
+
Plan/remediation evidence и не даёт generic update authority другим beta lines.
|
|
631
|
+
|
|
632
|
+
# 14.9. beta.12.18 historical check-support scope adoption
|
|
633
|
+
|
|
634
|
+
Validation v3 связывает check-support event с `event.planHash`. Если поздний Knowledge rebind и новый
|
|
635
|
+
Plan явно добавили derived support path, исторический event проверяется по собственным immutable
|
|
636
|
+
fields, hashes и conflict evidence, а не против scope нового Plan. Только event текущего Plan может
|
|
637
|
+
расширять effective Step scope; поэтому старое evidence не переносит authority неявно.
|
|
638
|
+
|
|
639
|
+
Read-only `update plan-integrity-update-preflight` может вернуть
|
|
640
|
+
`compatibilityMode=post-rebind-scope-adoption`, только если Task ожидает execution authorization, ни
|
|
641
|
+
одна Step не выполняется, существует ровно один исторический v3 `continue-fix`, его dirty paths и
|
|
642
|
+
content hash не изменились, а current planned Step напрямую владеет всеми `scopeExtensions` и
|
|
643
|
+
объявляет их outputs. Обычные coherent-version, lease, transaction, Core-operation и dependency-only
|
|
644
|
+
Git guards сохраняются. После регистрации update Knowledge rebind, PRA и authorization выполняются
|
|
645
|
+
только по fresh routes; Human approval для exact machine-proved scope не нужен.
|
|
646
|
+
|
|
647
|
+
# 14.10. beta.12.19 historical check-support dirty carryover
|
|
648
|
+
|
|
649
|
+
После регистрации dependency recovery current Plan может быть ещё раз mechanically rebound и
|
|
650
|
+
авторизован, тогда как product bytes остаются uncommitted. Запуск разрешён только при едином
|
|
651
|
+
assessment для `next` и `runStep`: latest compatible dependency record должен быть зарегистрирован на
|
|
652
|
+
точной history boundary; его Plan должен совпадать с current Plan или вести к нему через непрерывную
|
|
653
|
+
Knowledge-rebind chain; planned Step должна владеть каждым dirty path и каждым `scopeExtension`; full
|
|
654
|
+
path set и `hashDirtyWorktree` должны совпадать; один validated historical check-support decision
|
|
655
|
+
должен связывать те же conflict/remediation/scope fields.
|
|
656
|
+
|
|
657
|
+
При полном совпадении `next` публикует
|
|
658
|
+
`planIntegrityDirtyCarryover.state=validated`, а `task run` принимает только эти байты под current
|
|
659
|
+
Step envelope. При любом расхождении `next` возвращает `doctor` с `blockedAction=task run`; lease,
|
|
660
|
+
Step mutation и commit не создаются. Для обновления уже авторизованной beta.12.18 Task внешний
|
|
661
|
+
beta.12.19 runner выдаёт `compatibilityMode=post-rebind-dirty-carryover`, после чего сохраняются
|
|
662
|
+
обычный dependency-only transport, repository-local registration, Knowledge rebind, PRA,
|
|
663
|
+
authorization, checks, Core commit и sealed review. Human approval не добавляется.
|
|
664
|
+
|
|
665
|
+
# 15. P04-A structural replacement boundary
|
|
385
666
|
|
|
386
667
|
Command shape `task replacement-materialize` retained только для compatibility diagnostics. Любая попытка
|
|
387
668
|
возвращает `TRANSITION_BLOCKED`, diagnostic `STRUCTURAL_REPLACEMENT_REQUIRED` и incident dependency edges
|
|
@@ -400,7 +681,7 @@ replacementGate.transaction: disabled
|
|
|
400
681
|
или manually rewire graph. P04-B/P05 должен определить arbitrary cardinality, scope redistribution,
|
|
401
682
|
dependency rewiring, completed-work adoption и crash-safe transaction.
|
|
402
683
|
|
|
403
|
-
#
|
|
684
|
+
# 16. Milestone progress и Codex task supervision
|
|
404
685
|
|
|
405
686
|
`milestone progress` является read-only projection: ordinals, membership disposition/reason, dependency
|
|
406
687
|
state, predecessors/statuses, runnable/block reason, replacement links и Step statuses.
|
|
@@ -412,7 +693,7 @@ Coordinator ждёт one routed Task, читает closed CoordinatorReport, з
|
|
|
412
693
|
`status -> next` и новый progress projection. Recoverable non-human continuation возвращается в тот же
|
|
413
694
|
Task chat. Следующий Task dispatch разрешён только после terminal merged confirmation.
|
|
414
695
|
|
|
415
|
-
#
|
|
696
|
+
# 17. codebase-memory graph
|
|
416
697
|
|
|
417
698
|
`codebase-memory-mcp` используется только после `graph refresh-request`. Gateway сверяет project/root,
|
|
418
699
|
index status и request fingerprint, получает derived evidence и вызывает `graph bind` с current revision.
|
|
@@ -421,7 +702,7 @@ Graph является навигационным индексом, не Project
|
|
|
421
702
|
записывает explicit `graph fallback`; агент продолжает Git search, прямое чтение файлов и tests, если
|
|
422
703
|
другой independent gate не блокирует работу.
|
|
423
704
|
|
|
424
|
-
#
|
|
705
|
+
# 18. Error codes и recovery discipline
|
|
425
706
|
|
|
426
707
|
| Code | Значение | Реакция |
|
|
427
708
|
|---|---|---|
|
|
@@ -443,35 +724,48 @@ Docker socket/CLI `EPERM`, `operation not permitted` или `permission denied`
|
|
|
443
724
|
После каждой successful mutation обязателен sequential `status`, затем fresh `next`. Failed status/next
|
|
444
725
|
не разрешает direct mutation. Syntax help read-only и не заменяет navigation authority.
|
|
445
726
|
|
|
446
|
-
#
|
|
727
|
+
# 19. Public command surface beta.13
|
|
447
728
|
|
|
448
729
|
| Область | Actions |
|
|
449
730
|
|---|---|
|
|
450
|
-
| System | `doctor`, `status`, `next`, `gateway handshake`, `locks` |
|
|
451
|
-
| Update | `preflight`, `rescue-preflight`, dependency provenance,
|
|
731
|
+
| System | `doctor`, compact `status`, explicit `status --full`, `next`, `gateway handshake`, `locks` |
|
|
732
|
+
| Update | `preflight`, `rescue-preflight`, dependency provenance, historical-Step dependency bridge, downstream-proof bridges, Plan-integrity update/dependency bridge |
|
|
452
733
|
| Project memory | `scan`, `show`, `status`, `approve`, `reconcile` |
|
|
453
734
|
| Delegation | `prepare`, `grant`, `list`, `show`, `revoke` |
|
|
454
735
|
| Graph | `prepare`, `status`, `refresh-request`, `bind`, `fallback` |
|
|
455
736
|
| Discovery | `start`, `update`, `show`, `materialize` |
|
|
456
|
-
| Milestone | `recover`, `show`, `progress`, `plan-set`, scope-change, autonomy, `authorize`, `validate`, `accept`, `cancel` |
|
|
737
|
+
| Milestone | `recover`, `show`, `progress`, `plan-set`, `remediation-materialize`, scope-change, autonomy, `authorize`, `validate`, `accept`, `cancel` |
|
|
457
738
|
| Task planning | `show`, `plan-set`, `knowledge-rebind`, `context-refresh`, `authorize`, `plan-risk-audit` |
|
|
458
739
|
| Task execution | `start`, `run`, `step-complete`, `submit`, `result-set`, `accept`, `sync-base`, `merge`, `merge-confirm` |
|
|
459
|
-
| C1 | `handoff[-prepare/-replace/-show]`, `claim`, `writer-credential-replace`, `handback[-create]` |
|
|
460
|
-
| Review | review/step-review packet
|
|
461
|
-
| Corrective | decision/recovery, plan-integrity, downstream-proof-recover/replan-recover, remediation-mode, stop-override prepare/apply, yield и corrective-replan actions |
|
|
740
|
+
| C1 | `handoff[-prepare/-replace/-show]`, `claim --claim-credential-ref`, `writer-credential-replace`, lease-bound actions с `--writer-credential-ref`, `handback[-create]` |
|
|
741
|
+
| Review | review/step-review packet с `--review-mode ordinary|security`, launch, sealed record и record actions |
|
|
742
|
+
| Corrective | decision/recovery, plan-integrity, historical-step-provenance preflight/recover, downstream-proof-recover/replan-recover, remediation-mode, stop-override prepare/apply, yield и corrective-replan actions |
|
|
462
743
|
| Replacement | `replacement-materialize` retained, но всегда disabled в P04-A |
|
|
463
744
|
|
|
464
745
|
Exact options берутся из fresh `next`; command help используется только когда
|
|
465
746
|
`exactOptionContractAvailable=false` или syntax действительно неизвестен.
|
|
466
747
|
|
|
467
|
-
|
|
748
|
+
<!-- pagebreak -->
|
|
749
|
+
|
|
750
|
+
# 20. Release и package update gates
|
|
468
751
|
|
|
469
752
|
Перед package update project-local `update preflight` должен вернуть `safe=true`: clean checkout, нет
|
|
470
753
|
running Step и active/stale writer lease. Исключения — документированный alpha.7 rescue, beta.12.6
|
|
471
|
-
active-downstream-proof bridge
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
`npm
|
|
476
|
-
|
|
477
|
-
|
|
754
|
+
active-downstream-proof bridge, beta.12.7 exact stranded-replan bridge, beta.12.9 historical-Step
|
|
755
|
+
dependency bridge и beta.12.15 Plan-integrity bridge; все они fail-closed и не дают общего разрешения
|
|
756
|
+
dirty update.
|
|
757
|
+
|
|
758
|
+
Перед beta.13 tag обязательны `npm ci`, полный `npm run validate`, Signal-shaped recovery E2E до
|
|
759
|
+
последующей ordinary Step/Task dispatch, credential confinement, rolling-cause и production-edge suites,
|
|
760
|
+
observed-route matrix/compact-status/reviewer-runtime tests, legacy compatibility regressions,
|
|
761
|
+
`npm run test:signal-t10-check-support-e2e`, `npm run test:signal-remediation-e2e`,
|
|
762
|
+
`npm run pack:check`, `npm run smoke:downstream`, `npm run plugin:check`, official plugin/skill validators,
|
|
763
|
+
`npm run docs:pdf:check` и `npm run release:check` с exact `v2.0.0-beta.13` tag binding и append-only
|
|
764
|
+
real-agent lifecycle log. Candidate проверяется из clean source checkout; missing built module не должен
|
|
765
|
+
превращаться в stack trace, а обязан быть детерминированно собран или диагностирован release gate.
|
|
766
|
+
|
|
767
|
+
Real-agent gate повторяет production boundary Codex App: Task agent удерживает live writer authority,
|
|
768
|
+
отдельный App reviewer читает external-sealed packet, после чего Task agent записывает sealed result.
|
|
769
|
+
Nested native `codex exec` внутри другого Codex agent не является release evidence. Packet generation
|
|
770
|
+
логируется как read-only observation, record — как exact `next`-authorized mutation с последующими
|
|
771
|
+
`status` и `next`.
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
---
|
|
2
2
|
brief_id: WF2-P01
|
|
3
3
|
problem: "Mechanically infeasible Task Plans can reach execution authorization"
|
|
4
|
-
status:
|
|
4
|
+
status: implemented
|
|
5
5
|
owner: null
|
|
6
6
|
created_at: 2026-08-23
|
|
7
7
|
approved_at: 2026-08-24
|
|
8
|
-
implemented_at:
|
|
9
|
-
revision:
|
|
8
|
+
implemented_at: 2026-08-24
|
|
9
|
+
revision: 6
|
|
10
10
|
---
|
|
11
11
|
|
|
12
12
|
# Brief — P01-A Bounded Mechanical Plan Feasibility
|
|
@@ -30,10 +30,10 @@ Confirmed baseline behavior at the pinned pre-candidate revision:
|
|
|
30
30
|
`split-required`, and `stop-escalate`. It has no `implementation-defect`, `plan-defect`,
|
|
31
31
|
`brief-decomposition-defect`, or `reslice-plan` decision.
|
|
32
32
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
about the
|
|
36
|
-
|
|
33
|
+
P01-A was implemented with P04-A, released in exact `v2.0.0-beta.11` at commit `44e6734`, and
|
|
34
|
+
retained through the beta.12 line. These baseline gaps are retained here as historical problem
|
|
35
|
+
evidence, not as claims about the current implementation. P01-B remains deferred and is not made
|
|
36
|
+
implemented by this status change.
|
|
37
37
|
|
|
38
38
|
The Signal pre-M3 replay additionally showed that a narrow check can pass while a project-reference
|
|
39
39
|
build or architecture check fails. That supports earlier verification, but does not make semantic
|
|
@@ -476,3 +476,7 @@ P01-B remains `NO-GO` until those questions have concrete contracts and fresh re
|
|
|
476
476
|
base commit again inside local branch creation before Git mutation. The new negative witness and
|
|
477
477
|
the complete affected P01/P04/Task lifecycle selection passed 13/13 and 84/84 respectively;
|
|
478
478
|
the exact final candidate then passed the full 319/319 suite.
|
|
479
|
+
- 2026-08-24 — Revision 6 records implementation acceptance. The combined P04-A/P01-A candidate
|
|
480
|
+
shipped as exact `v2.0.0-beta.11` at commit `44e6734` after the declared focused and full-suite
|
|
481
|
+
gates passed, and was retained in the beta.12 line. Status moved from `approved` to `implemented`.
|
|
482
|
+
This closes P01-A only; P01-B remains deferred.
|