codex-workflow-v2 2.0.0-beta.12 → 2.0.0-beta.12.1

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.
Files changed (30) hide show
  1. package/README.md +4 -3
  2. package/dist/src/alpha6/remediation.d.ts +6 -1
  3. package/dist/src/alpha6/remediation.js +356 -7
  4. package/dist/src/alpha6/remediation.js.map +1 -1
  5. package/dist/src/cli.js +18 -0
  6. package/dist/src/cli.js.map +1 -1
  7. package/dist/src/contracts.d.ts +42 -0
  8. package/dist/src/dependency-provenance.js +5 -3
  9. package/dist/src/dependency-provenance.js.map +1 -1
  10. package/dist/src/version.d.ts +1 -1
  11. package/dist/src/version.js +1 -1
  12. package/dist/src/version.js.map +1 -1
  13. package/dist/src/workflow.d.ts +4 -1
  14. package/dist/src/workflow.js +113 -13
  15. package/dist/src/workflow.js.map +1 -1
  16. package/docs/autonomy-guardrails.md +22 -1
  17. package/docs/pdf/codex-workflow-v2-architecture-ru.pdf +0 -0
  18. package/docs/pdf/codex-workflow-v2-chat-only-guide-ru.pdf +0 -0
  19. package/docs/pdf/codex-workflow-v2-technical-reference-ru.pdf +0 -0
  20. package/docs/pdf/sources/codex-workflow-v2-architecture-ru.md +16 -5
  21. package/docs/pdf/sources/codex-workflow-v2-chat-only-guide-ru.md +10 -8
  22. package/docs/pdf/sources/codex-workflow-v2-technical-reference-ru.md +25 -11
  23. package/docs/release.md +6 -1
  24. package/docs/updating-existing-project.md +25 -0
  25. package/docs/validation-report.md +82 -81
  26. package/package.json +1 -1
  27. package/plugins/codex-workflow-gateway/.codex-plugin/plugin.json +1 -1
  28. package/plugins/codex-workflow-gateway/references/protocol.md +15 -1
  29. package/plugins/codex-workflow-gateway/skills/codex-workflow-gateway/SKILL.md +17 -0
  30. package/schemas/stop-escalate-override-event.schema.json +45 -0
@@ -74,7 +74,28 @@ default. `replan` is accepted only with `planConflict.planClause`, `whyFixCannot
74
74
  `minimalPlanChange`; Core retains that evidence in the hash-chained Step-review event and routes
75
75
  the failed Step to `task plan-set`. Replan may change implementation Steps only. Explicit historical
76
76
  `continue-fix`, `replan-required`, `split-required`, and `stop-escalate` decisions remain readable;
77
- an explicit split or stop still outranks ordinary execution.
77
+ an explicit split or stop still outranks ordinary execution except for the narrow beta.11
78
+ attempt-four stop compatibility route below.
79
+
80
+ ### Human-confirmed beta.11 attempt-four stop compatibility
81
+
82
+ Beta.12.1 can resume one historical shape that beta.11 stopped mechanically: the same failed
83
+ guarded Step has exactly two `ordinary` remediation events, one `corrective` third event, an exact
84
+ attempt-3 `continue-fix` decision, and an attempt-4 `stop-escalate` decision under the unchanged
85
+ Plan. Fresh `next` advertises `task stop-override-prepare` only for that shape and only on a clean
86
+ local Task branch with no Step in progress, writer lease, Task transaction, or Core operation.
87
+
88
+ Preparation is read-only and binds Task revision, Step, both corrective decisions, all three
89
+ remediation events, Plan hash, Git HEAD, package version, actor, and reason to an `SOO-*`
90
+ confirmation code. In a later explicit user turn, invoke `task stop-override-apply` with the same
91
+ inputs and code. Apply appends `stop-escalate-overrides.jsonl`; it never deletes or rewrites the
92
+ original stop. A stale binding, wrong code, duplicate/conflicting override, or damaged hash chain
93
+ fails before continuation. Delegation is not accepted for this Human gate.
94
+
95
+ This is not a general stop reversal. It does not apply to `split-required`, Plan drift, a different
96
+ attempt ordinal, missing attempt-3 continue authority, or an agent-authored semantic stop outside
97
+ the beta.11 policy shape. After a valid append, attempt four returns to the normal `task run` then
98
+ strict-review cycle; review quality and all later corrective decisions remain unchanged.
78
99
 
79
100
  ### First-failure Plan-integrity recovery
80
101
 
@@ -1,10 +1,10 @@
1
1
  ---
2
- title: Codex Workflow V2: архитектура beta.12
2
+ title: Codex Workflow V2: архитектура beta.12.1
3
3
  subtitle: Источники истины, lifecycle, роли, delegation, зависимости Tasks и границы доверия
4
4
  part: Часть 1 из 3 | Архитектура
5
5
  document_version: 2.0
6
6
  date: 27 августа 2026
7
- subject: Архитектура и границы Codex Workflow V2 beta.12
7
+ subject: Архитектура и границы Codex Workflow V2 beta.12.1
8
8
  ---
9
9
 
10
10
  # 1. Назначение и граница системы
@@ -18,7 +18,7 @@ Codex Workflow V2 - локальный state machine поверх Codex App, Git
18
18
  Система рассчитана на одного пользователя и одну машину. Она не предоставляет distributed locking,
19
19
  криптографическую идентификацию actor string или безопасную синхронизацию state между компьютерами.
20
20
 
21
- ## 1.1. Что beta.12 гарантирует
21
+ ## 1.1. Что beta.12.1 гарантирует
22
22
 
23
23
  - exact project-local npm package и совместимый handshake до lifecycle действий;
24
24
  - Discovery до materialization Task или Milestone;
@@ -30,7 +30,7 @@ Codex Workflow V2 - локальный state machine поверх Codex App, Git
30
30
  - state-bound human gates либо ранее выданные bounded delegation contracts;
31
31
  - journaled recovery для составных переходов и fail-closed поведение при drift/corruption.
32
32
 
33
- ## 1.2. Что beta.12 не гарантирует
33
+ ## 1.2. Что beta.12.1 не гарантирует
34
34
 
35
35
  - правильность продуктовой идеи или автоматически выбранного provider Task;
36
36
  - semantic sufficiency Plan, если точные факты нельзя доказать поддерживаемым analyzer;
@@ -218,6 +218,17 @@ Failed review не ограничивает число попыток. Попы
218
218
  `route=replan` допустим только с точным Plan conflict и меняет лишь implementation Steps, не objective,
219
219
  requirements или acceptance. Explicit `split-required` и `stop-escalate` остаются stop/redirect decisions.
220
220
 
221
+ Beta.12.1 добавляет только одну append-only compatibility оговорку: beta.11 attempt-four
222
+ `stop-escalate` после exact `ordinary, ordinary, corrective` и prior attempt-3 `continue-fix` можно
223
+ возобновить через read-only `stop-override-prepare` и отдельный Human-confirmed
224
+ `stop-override-apply`. Исходный stop сохраняется, `split-required` не подходит, а stale revision,
225
+ Plan, HEAD, lease, transaction или повреждённая chain блокируют переход. Попытка 4 снова проходит
226
+ обычный `task run` и новый strict review.
227
+
228
+ Dependency-provenance recovery beta.12.1 также сохраняет ранее закоммиченные Task-local поля
229
+ manifest/lock, даже если base их не содержит. Candidate остаётся dependency-only: после удаления
230
+ только Workflow dependency parent и HEAD обязаны совпасть по всем product-owned полям.
231
+
221
232
  beta.11 `task plan-integrity-recover` существует для одного первого checks-failed legacy/late case:
222
233
  отсутствует exact root npm script и текущий Step не может изменить package.json. Recovery не меняет
223
234
  worktree или Plan и не создаёт synthetic second failure; он записывает bound `replan-required`.
@@ -227,7 +238,7 @@ worktree или Plan и не создаёт synthetic second failure; он за
227
238
  # 10. Operational checklist
228
239
 
229
240
  - exact package version установлен, bundled gateway соответствует release и переустановлен;
230
- - handshake подтверждает protocol 2, state schema 2 и beta.12 capabilities;
241
+ - handshake подтверждает protocol 2, state schema 2 и beta.12.1 capabilities;
231
242
  - каждый mutation следует свежему `status -> next` и exact option contract;
232
243
  - semantic unknowns и human gates не маскируются delegation;
233
244
  - Task chats создаёт coordinator, credentials остаются только в памяти;
@@ -1,13 +1,13 @@
1
1
  ---
2
2
  title: Codex Workflow V2: delegated chat-only guide
3
- subtitle: Актуальный beta.12 путь от нового Discovery до принятого Milestone без ручного CLI
3
+ subtitle: Актуальный beta.12.1 путь от нового Discovery до принятого Milestone без ручного CLI
4
4
  part: Часть 2 из 3 | Практика
5
5
  document_version: 2.0
6
6
  date: 27 августа 2026
7
- subject: Практическое руководство по delegated Discovery и Milestone в Workflow V2 beta.12
7
+ subject: Практическое руководство по delegated Discovery и Milestone в Workflow V2 beta.12.1
8
8
  ---
9
9
 
10
- # 1. Рабочая модель beta.12
10
+ # 1. Рабочая модель beta.12.1
11
11
 
12
12
  Пользователь работает в одном Codex Project и формулирует продуктовый outcome. Coordinator выполняет
13
13
  CLI, создаёт отдельные Task/Reviewer chats и ведёт supervision loop. Workflow Core остаётся authority
@@ -40,7 +40,7 @@ Blocking unknown, scope change, grant issuance или unrecoverable integrity co
40
40
  # 2. Подготовка проекта перед новым Discovery
41
41
 
42
42
  1. Убедитесь, что checkout чистый и выбран правильный repository root.
43
- 2. Установите beta.12 как точную devDependency после публикации release.
43
+ 2. Установите beta.12.1 как точную devDependency после публикации release.
44
44
  3. Обновите и переустановите bundled `codex-workflow-gateway` этого release.
45
45
  4. Проверьте, что declared и installed package versions равны.
46
46
  5. Запустите новый Coordinator chat, не fork старого Milestone conversation.
@@ -56,7 +56,7 @@ AGENTS.md
56
56
  -> doctor только как дополнительная диагностика
57
57
  ```
58
58
 
59
- Handshake beta.12 должен сообщать `packageVersion=2.0.0-beta.12`, `protocolVersion=2`,
59
+ Handshake beta.12.1 должен сообщать `packageVersion=2.0.0-beta.12.1`, `protocolVersion=2`,
60
60
  `stateSchemaVersion=2`, dependency DAG, initial Plan transaction, mechanical feasibility,
61
61
  Milestone autonomy и structural replacement disabled capabilities.
62
62
 
@@ -116,7 +116,7 @@ delegate, scope, transitions и expiry. DGR передаётся только е
116
116
  ```text
117
117
  НОВЫЙ COORDINATOR CHAT
118
118
 
119
- Проведи новый Milestone через Codex Workflow V2 beta.12 в delegated режиме.
119
+ Проведи новый Milestone через Codex Workflow V2 beta.12.1 в delegated режиме.
120
120
  Repository: <ABSOLUTE-REPOSITORY-ROOT>.
121
121
  Milestone ID: AUTO.
122
122
  Delegate actor: agent:milestone-coordinator.
@@ -297,7 +297,8 @@ Task chat записывает его только при совпадении p
297
297
  | Finding `route=fix` | Продолжить тот же Step; count остаётся диагностикой |
298
298
  | Finding `route=replan` с exact Plan conflict | `task plan-set`, меняются только implementation Steps |
299
299
  | `split-required` | Stop: `STRUCTURAL_REPLACEMENT_REQUIRED`, никаких replacement writes |
300
- | Explicit `stop-escalate` | Terminal user attention |
300
+ | Exact beta.11 attempt-four `stop-escalate` | Только advertised prepare, затем отдельный Human-confirmed apply; исходный stop сохраняется |
301
+ | Любой другой explicit `stop-escalate` | Terminal user attention |
301
302
  | Stale dependency binding | Новый handoff/claim только по fresh `next` |
302
303
  | Review seal drift | Discard review и создать fresh packet |
303
304
 
@@ -321,7 +322,7 @@ Task/project DGR. `dependencyBinding` для standalone handoff равен null.
321
322
 
322
323
  # 14. Итоговый checklist пользователя
323
324
 
324
- - beta.12 exact package и новый bundled gateway установлены;
325
+ - beta.12.1 exact package и новый bundled gateway установлены;
325
326
  - новый Coordinator chat не является fork старого Milestone;
326
327
  - bootstrap DGR, если нужен, выдан отдельным exact human confirmation;
327
328
  - Discovery не materialized при blocking unknowns;
@@ -330,5 +331,6 @@ Task/project DGR. `dependencyBinding` для standalone handoff равен null.
330
331
  - Coordinator сам создаёт и supervises Task/Reviewer chats;
331
332
  - credentials не появились в prompts, reports или files;
332
333
  - каждый transition пришёл из fresh `next`;
334
+ - beta.11 stop override, если рекламировался, прошёл отдельные prepare и user-confirmed apply без journal rewrite;
333
335
  - split-required остановился без replacement mutations;
334
336
  - Milestone validation и final acceptance связаны с текущим clean base HEAD.
@@ -1,10 +1,10 @@
1
1
  ---
2
- title: Codex Workflow V2: технический справочник beta.12
2
+ title: Codex Workflow V2: технический справочник beta.12.1
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
6
  date: 27 августа 2026
7
- subject: Технический контракт Codex Workflow V2 beta.12
7
+ subject: Технический контракт Codex Workflow V2 beta.12.1
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.12 | Значение |
16
+ | Параметр beta.12.1 | Значение |
17
17
  |---|---|
18
- | npm package | `codex-workflow-v2@2.0.0-beta.12` |
18
+ | npm package | `codex-workflow-v2@2.0.0-beta.12.1` |
19
19
  | protocolVersion | 2 |
20
20
  | stateSchemaVersion | 2 |
21
21
  | lifecycle epoch | 2 |
@@ -37,7 +37,7 @@ Gateway выполняет:
37
37
  5. вызов только package-local `dist/src/cli.js --repo <root>`;
38
38
  6. `gateway handshake` до lifecycle действий.
39
39
 
40
- Ключевые beta.12 capabilities:
40
+ Ключевые beta.12.1 capabilities:
41
41
 
42
42
  | Группа | Capabilities |
43
43
  |---|---|
@@ -46,7 +46,7 @@ Gateway выполняет:
46
46
  | Task planning | Plan Risk Audit, proof obligations, mechanical feasibility |
47
47
  | C1 | handoff sidecar, handoff bundle, derived Worker actor, credential replacement |
48
48
  | Reviews | strict reviewer, Step strict review, continuable remediation, evidence-bound fix/replan routing |
49
- | Recovery | dependency provenance, plan integrity, remediation mode, corrective yield/replan journals |
49
+ | Recovery | Task-local dependency provenance, plan integrity, remediation mode, legacy stop override, corrective yield/replan journals |
50
50
  | Replacement | `structural-task-replacement-disabled-v1` |
51
51
 
52
52
  Handshake incompatibility прекращает работу. Запуск global package, `latest`, mutable range или соседней
@@ -65,7 +65,7 @@ $CODEX_HOME/workflow-state/v2/projects/<project-id>/
65
65
  tasks/<TASK-ID>/
66
66
  brief.md, plan.md, result.md, evidence.json, state.json
67
67
  .versions/
68
- authorization/review/remediation/corrective/handoff sidecars
68
+ authorization/review/remediation/corrective/stop-override/handoff sidecars
69
69
  milestones/<MS-ID>/
70
70
  plan.json, result.md, evidence.json, state.json
71
71
  .versions/ и scope/autonomy sidecars
@@ -291,7 +291,8 @@ Guarded Step имеет проверяемый, но не ограниченны
291
291
  | Finding `route=replan` с exact Plan conflict | `task plan-set`; меняются только implementation Steps |
292
292
  | `route=replan` без exact conflict | Невалидный review result, state не меняется |
293
293
  | Explicit `split-required` | Structural replacement stop |
294
- | Explicit `stop-escalate` | Terminal user attention |
294
+ | Exact beta.11 attempt-four `stop-escalate` | Append-only Human-confirmed compatibility override |
295
+ | Любой другой explicit `stop-escalate` | Terminal user attention |
295
296
 
296
297
  Attempt count является диагностикой, а не lifecycle authority. Explicit corrective-decision journal
297
298
  сохраняется для намеренного stop/split и совместимого historical recovery, но не требуется после второй
@@ -315,6 +316,19 @@ fresh `next` через corrective yield и обычный Human-confirmed repla
315
316
  P01-A предотвращает поддерживаемые contradictions до fresh authorization. beta.11 path остаётся для
316
317
  pre-P01 authorizations и late/unsupported exact recovery cases.
317
318
 
319
+ # 13.1. beta.12.1 compatibility transitions
320
+
321
+ `update dependency-provenance-recover` больше не требует полного равенства Task manifest/lock с base.
322
+ Base остаётся version authority, а parent/HEAD candidate сравниваются без единственных Workflow
323
+ dependency entries. Поэтому recorded Task-local scripts сохраняются; payload drift того же candidate
324
+ commit по-прежнему блокируется.
325
+
326
+ `task stop-override-prepare/apply` обслуживает только exact beta.11 attempt-four policy stop. Prepare
327
+ не пишет state и создаёт binding по Task revision, Step, attempt-3 continue, attempt-4 stop, трём
328
+ remediation events, Plan, HEAD, package, human actor и reason. Apply в отдельном user turn добавляет
329
+ `stop-escalate-overrides.jsonl`. Original corrective decision остаётся неизменным. Split, stale binding,
330
+ lease/transaction, дубликат с другим binding и tampering fail closed.
331
+
318
332
  # 14. P04-A structural replacement boundary
319
333
 
320
334
  Command shape `task replacement-materialize` retained только для compatibility diagnostics. Любая попытка
@@ -372,7 +386,7 @@ Graph является навигационным индексом, не Project
372
386
  После каждой successful mutation обязателен sequential `status`, затем fresh `next`. Failed status/next
373
387
  не разрешает direct mutation. Syntax help read-only и не заменяет navigation authority.
374
388
 
375
- # 18. Public command surface beta.12
389
+ # 18. Public command surface beta.12.1
376
390
 
377
391
  | Область | Actions |
378
392
  |---|---|
@@ -387,7 +401,7 @@ Graph является навигационным индексом, не Project
387
401
  | Task execution | `start`, `run`, `step-complete`, `submit`, `result-set`, `accept`, `sync-base`, `merge`, `merge-confirm` |
388
402
  | C1 | `handoff[-prepare/-replace/-show]`, `claim`, `writer-credential-replace`, `handback[-create]` |
389
403
  | Review | review/step-review packet, launch, sealed record и record actions |
390
- | Corrective | decision/recovery, plan-integrity, remediation-mode, yield и corrective-replan actions |
404
+ | Corrective | decision/recovery, plan-integrity, remediation-mode, stop-override prepare/apply, yield и corrective-replan actions |
391
405
  | Replacement | `replacement-materialize` retained, но всегда disabled в P04-A |
392
406
 
393
407
  Exact options берутся из fresh `next`; command help используется только когда
@@ -399,7 +413,7 @@ Exact options берутся из fresh `next`; command help используе
399
413
  running Step и active/stale writer lease. External runner допустим только в документированной rescue
400
414
  compatibility форме.
401
415
 
402
- Перед beta.12 tag release repository выполняет:
416
+ Перед beta.12.1 tag release repository выполняет:
403
417
 
404
418
  1. `npm ci`;
405
419
  2. `npm run validate`;
package/docs/release.md CHANGED
@@ -27,7 +27,7 @@ The PDF check deterministically regenerates all three Russian documents from
27
27
  `docs/pdf/sources`, binds the visible package version to the root manifest, and fails when any
28
28
  tracked PDF is stale. Source and binary PDFs are one release unit.
29
29
 
30
- For beta.12, the release gate also relies on `npm run release:check` to fail if:
30
+ For beta.12.1, the release gate also relies on `npm run release:check` to fail if:
31
31
 
32
32
  - canonical entity schema 2 shapes drift;
33
33
  - protocol 2 is not the active public contract, or intact protocol-1 adoption evidence stops being readable through the bounded compatibility window;
@@ -44,6 +44,8 @@ For beta.12, the release gate also relies on `npm run release:check` to fail if:
44
44
  commands are absent from the packaged surface.
45
45
  - bounded dependency-provenance recovery, retained passed-review provenance, the exact Signal T04
46
46
  revision-26 fixture, or pending/corrupt-review rejection regressions are absent.
47
+ - dependency recovery again requires Task-local manifest/lock fields to equal the Milestone base,
48
+ or a candidate commit can alter any non-Workflow dependency payload.
47
49
  - the read-only Milestone progress projection, replacement regression, project-monotonic chat
48
50
  registry, title fallback/readback, or long-Cyrillic multi-attempt E2E evidence is absent.
49
51
  - bounded first-failure Plan-integrity recovery, exact failed-remediation/manifest/worktree
@@ -52,6 +54,9 @@ For beta.12, the release gate also relies on `npm run release:check` to fail if:
52
54
  feasibility capability is absent from the packaged handshake.
53
55
  - continuable guarded remediation or evidence-bound `fix`/`replan` review routing is absent, or a
54
56
  third/later failed review is again converted into an attempt-count stop.
57
+ - the append-only, Human-confirmed beta.11 attempt-four stop override, its exact three-event/
58
+ continue/stop binding, split rejection, stale-confirmation rejection, or tamper detection is
59
+ absent from the package.
55
60
 
56
61
  The separate lifecycle transcript validator fails if the real-agent log contains a mutation that
57
62
  bypasses failed `status`/`next`, an unadvertised or failed mutation, an unresolved syntax-only
@@ -52,6 +52,31 @@ commit остался в Git между `baseCommit` и новым dependency-on
52
52
  него обязательны последовательные `status` и `next`; выполняйте возвращённый Knowledge reconcile
53
53
  или `task context-refresh`, если manifest/lock сделали Knowledge Map stale.
54
54
 
55
+ В beta.12.1 preflight сравнивает parent и candidate после удаления только записей зависимости
56
+ `codex-workflow-v2`. Поэтому ранее закоммиченные Task-local scripts и другие product-owned поля
57
+ `package.json`/lockfile могут отличаться от Milestone base и сохраняются. Это не ослабляет сам
58
+ candidate: его HEAD обязан менять ровно `package.json` и `package-lock.json`, только точную Workflow
59
+ dependency; любое другое поле, добавленное тем же candidate commit, неизвестный commit, stale base,
60
+ dirty checkout, lease или transaction по-прежнему блокируют recovery.
61
+
62
+ ### Исключение beta.12.1 для beta.11 attempt-four stop
63
+
64
+ Если beta.11 записал `stop-escalate` перед четвёртой попыткой только после последовательности
65
+ `ordinary`, `ordinary`, `corrective`, и перед третьей попыткой уже существовал exact
66
+ `continue-fix`, fresh `next` может вернуть `task stop-override-prepare`. Не создавайте новый
67
+ Milestone и не редактируйте sidecar вручную. Сначала выполните только read-only prepare с exact
68
+ Task revision, Step, human actor и содержательной причиной. Проверьте, что ответ связывает тот же
69
+ stop decision, Plan hash, Git HEAD, все три remediation events и policy
70
+ `beta11-attempt4-stop-compatibility-v1`, затем остановитесь перед Human gate.
71
+
72
+ В отдельном пользовательском сообщении разрешите apply с теми же параметрами и возвращённым
73
+ `SOO-*` кодом. `task stop-override-apply` добавляет одну запись в
74
+ `stop-escalate-overrides.jsonl`, сохраняя исходный `stop-escalate`; после него выполните
75
+ последовательные `status` и `next`. Ожидаемый route — `task run` того же Step с последующим новым
76
+ strict review. Этот путь не работает для `split-required`, другого attempt ordinal, изменённого
77
+ Plan/HEAD/revision, отсутствующего attempt-3 continue, active/stale lease, dirty checkout или
78
+ незавершённой Task transaction. Delegated approval для него отсутствует.
79
+
55
80
  ## 1. Подготовьте отдельный чат обновления
56
81
 
57
82
  Не обновляйте пакет во время выполняющегося Worker Step. Дождитесь завершения текущего ответа
@@ -1,98 +1,99 @@
1
- # V2 beta.12 Validation Report
1
+ # V2 beta.12.1 Validation Report
2
2
 
3
- Release candidate `2.0.0-beta.12` was validated on 2026-08-27 with Node.js 24.17.0.
3
+ Release candidate `2.0.0-beta.12.1` was validated on 2026-08-27 with Node.js 24.17.0.
4
4
 
5
5
  ## Automated release evidence
6
6
 
7
7
  - `npm ci` completed from the committed lockfile with 0 reported vulnerabilities.
8
- - The final `npm run validate` passed `321/321` sequential tests with no failures, skips,
9
- cancellations, or todos. The focused Signal T04 recovery suite passed independently (`5/5`).
10
- - `npm run pack:check` passed outside the filesystem-restricted sandbox. The beta.12 tarball
11
- contains 269 files; package size is 955.6 kB and unpacked size is 3.7 MB.
12
- - `npm run smoke:downstream` packed and installed the actual beta.12 tarball in an empty temporary
13
- project, then passed the packaged CLI handshake. The first sandboxed attempt was network-blocked
14
- while fetching pinned `ajv`; the authorized network retry passed.
15
- - `npm run plugin:check`, the official Codex plugin validator, `npm run docs:pdf:check`, exact
16
- `RELEASE_TAG=v2.0.0-beta.12 npm run release:check`, and `git diff --check` passed. The bundled
17
- gateway cachebuster is `0.1.0+codex.20260827003726`.
18
-
19
- The first full post-version-bump validation exposed three failures before the Signal T04 runtime
20
- scenario began: a historical read-only snapshot truthfully targeted beta.11, while its replay
21
- assertion incorrectly required the current package version. The fix keeps the snapshot immutable at
22
- `2.0.0-beta.11`, binds the synthetic replay dependency to current `PACKAGE_VERSION`, and makes the
23
- release check verify both identities separately. The focused suite then passed `5/5`, and the final
24
- complete suite passed `321/321`.
25
-
26
- ## Continuable remediation and review-routing evidence
27
-
28
- - A guarded Task remains in the same Task/Step and reaches a passing strict review after five
29
- consecutive failed review cycles. Attempts 1–2 are ordinary; attempts 3+ are corrective
30
- diagnostics but remain executable and review-gated.
31
- - Attempt count no longer selects a terminal lifecycle transition. It is retained as diagnostic
32
- history only; explicit `split-required` and `stop-escalate` remain the stop authorities.
33
- - A failed review defaults to `route=fix` (or an omitted route) and continues the same Task/Step.
34
- `route=replan` is valid only with exact `planClause`, `whyFixCannotFit`, and `minimalPlanChange`
35
- evidence.
36
- - Replan returns to ordinary `task plan-set`; objective, requirements, and acceptance remain
37
- immutable, while only implementation Steps may change. The replacement Plan still passes the
38
- normal Plan Risk Audit and execution-authorization gates.
39
- - Failed-review routing evidence is hash-chained in the public Step Review event schema. Drift,
40
- malformed evidence, unrelated Knowledge changes, forged actors, and corrupt chains remain
41
- fail-closed.
42
-
43
- ## Retained dependency, feasibility, and recovery evidence
44
-
45
- - P04-A retains the canonical Milestone dependency DAG, atomic initial Plan transaction/recovery,
46
- dependency-bound handoff/claim/start, legacy fail-closed policy, and unconditional structural
47
- replacement shutdown.
48
- - P01-A retains three versioned read-only analyzers, canonical in-event evidence/hash binding,
49
- exact pre-start and corrective source selection, and phase-aware freshness before claim/start/run.
8
+ - The final `npm run validate` passed typecheck and `325/325` sequential tests with no failures,
9
+ skips, cancellations, or todos.
10
+ - Focused compatibility replay passed independently: dependency provenance plus Signal T04 and
11
+ legacy stop override tests passed `9/9`; the stop-only suite passed again after the final
12
+ observation-boundary hardening (`3/3`).
13
+ - `npm run pack:check` produced the beta.12.1 dry-run tarball with 270 files, package size 967.2 kB,
14
+ and unpacked size 3.8 MB. The sandboxed npm-cache attempt failed with `EPERM`; the authorized
15
+ retry using the same source passed.
16
+ - `npm run smoke:downstream` packed and installed the actual
17
+ `codex-workflow-v2-2.0.0-beta.12.1.tgz` in an empty temporary project and passed the packaged
18
+ handshake.
19
+ - `npm run plugin:check`, the official Codex plugin validator, the gateway skill validator,
20
+ `npm run docs:pdf:check`, exact
21
+ `RELEASE_TAG=v2.0.0-beta.12.1 npm run release:check`, and `git diff --check` passed. The official
22
+ Python validator required a temporary, isolated `PyYAML` dependency; no project or system Python
23
+ files were changed. The bundled gateway cachebuster is `0.1.0+codex.20260827132414`.
24
+
25
+ ## Task-local dependency provenance compatibility
26
+
27
+ - Recovery still requires a clean local Task branch, no Step in progress, no lease or transaction,
28
+ exact runtime/declared/locked/installed/current/base version alignment, and one unregistered HEAD
29
+ that changes exactly `package.json` and `package-lock.json`.
30
+ - The false full-file equality check against the Milestone base was removed. Candidate parent and
31
+ HEAD are instead compared after removing only `codex-workflow-v2` dependency entries. Previously
32
+ committed Task-local manifest/lock fields therefore survive unchanged.
33
+ - A replay with a Task-local processing script is accepted and retains its recorded product commit.
34
+ A script added by the dependency candidate itself is rejected as payload drift; an extra product
35
+ file and stale base version are also rejected.
50
36
  - The exact Signal T04 revision-26 fixture still proves that only a verified historical Step Review
51
37
  can retain its completion commit across corrective replan. Pending review is never trusted, and a
52
38
  corrupt strict-review hash chain is rejected.
53
- - Bounded beta.11 `task plan-integrity-recover` compatibility remains green for its exact first
54
- ordinary checks-failed case. It does not edit the Plan, package manifest, or worktree and still
55
- fails closed for writable-manifest scope, unrelated dirty files, binding drift, or tampering.
56
- - Read-only Milestone progress still preserves `T03 cancelled T08 replacement`; project-monotonic
57
- chat allocation and deterministic long-title fallback/readback remain green.
58
-
59
- ## Packaged real-agent lifecycle replay
60
-
61
- - A fresh disposable Git project installed the locally packed beta.12 tarball, declared the exact
62
- `2.0.0-beta.12` dependency, and passed packaged `gateway handshake` plus `doctor` with protocol 2,
63
- state schema 2, current dependency identity, and a clean checkout.
64
- - The trusted harness invoked the real packaged CLI sequentially for handshake, doctor, direct first
65
- Discovery bootstrap, `status`, and fresh `next`. The resulting navigation advertised
66
- `project-memory scan`.
67
- - `node scripts/validate-lifecycle-transcript.mjs` accepted all `10/10` post-provenance events with
68
- no failed invocation, unadvertised mutation, or missing checkpoint. The semantic log SHA-256 is
69
- `ab4ef10ad00e2fd9f54810ec5d0bbfb4106e1b211b3a185869d8a46787a5062d`; the raw packaged-result
70
- log SHA-256 is `e693a839604c7ba2055f99e43c49c5ab63ac0cf6e790adc901db5dd8eb0ffae9`.
71
- - Credential-marker inspection found no writer, claim, delegation, bearer, or secret material, and
72
- the disposable product checkout remained clean. Logs and external workflow state stayed outside
73
- this repository.
74
-
75
- This replay validates package resolution, clean bootstrap, one real mutation, and mandatory
76
- post-mutation navigation discipline. It does not claim a second full product Milestone replay;
77
- deeper remediation, P01-A, and P04-A behavior is covered by deterministic and integration tests.
78
-
79
- ## beta.12 PDF release documentation evidence
39
+
40
+ ## Human-confirmed beta.11 stop compatibility
41
+
42
+ - The route is available only for one historical shape under the unchanged Plan: exactly two
43
+ ordinary remediation events, one corrective third event, one matching attempt-3 `continue-fix`,
44
+ and one matching attempt-4 `stop-escalate`.
45
+ - `task stop-override-prepare` is read-only. It binds Task revision, Step, both decisions, all three
46
+ remediation events, Plan hash, Git HEAD, package version, human actor, and reason to an `SOO-*`
47
+ code. `task stop-override-apply` accepts only the same binding in a later explicit turn.
48
+ - Apply appends `stop-escalate-overrides.jsonl`; it does not edit the Task or delete/rewrite the
49
+ original corrective decision. Exact replay is idempotent.
50
+ - After apply, fresh `next` returns `task run` for the same Step and the fourth attempt actually
51
+ reaches `in_progress`; subsequent strict review remains mandatory.
52
+ - `split-required`, a stale Task revision/confirmation, conflicting duplicate, active boundary,
53
+ or tampered hash chain fails closed. Delegated approval is not part of this gate.
54
+
55
+ ## Existing lifecycle regressions retained
56
+
57
+ - A guarded Task remains in the same Task/Step and can converge after five consecutive failed
58
+ review cycles. Attempts 1-2 are ordinary; attempts 3+ are corrective diagnostics, not limits.
59
+ - Evidence-bound `route=fix` and `route=replan`, Plan-integrity recovery, corrective yield/replan,
60
+ observer byte-purity, C1 credential safety, Milestone dependency authority, atomic transactions,
61
+ and structural-replacement shutdown all remain green.
62
+ - `split-required` remains terminal. The new compatibility route does not implement P04-B, rewire
63
+ Milestone topology, adopt completed Steps, or override a semantic stop outside the exact beta.11
64
+ attempt-four policy shape.
65
+
66
+ ## Packaged and transcript evidence
67
+
68
+ - Downstream smoke validated package resolution and the packaged beta.12.1 handshake in a clean
69
+ disposable installation.
70
+ - A trusted harness then invoked the final built CLI sequentially for handshake, doctor, `status`,
71
+ and fresh `next` against this unregistered source repository. The observations remained read-only.
72
+ - `node scripts/validate-lifecycle-transcript.mjs` accepted all `8/8` post-provenance events with no
73
+ failed invocation, mutation, or missing terminal result. The log SHA-256 is
74
+ `3a12f6e604bef2fe5335c6fc244b52690b06925fb50b8fd8a20acefb672ca46d`; the temporary log remains
75
+ outside the repository.
76
+
77
+ This transcript proves release-time invocation/result discipline for the final CLI. It does not
78
+ claim a second product Milestone replay or a lifecycle mutation. The two compatibility mechanisms
79
+ are covered by deterministic repository/sidecar integration tests above.
80
+
81
+ ## beta.12.1 PDF release documentation evidence
80
82
 
81
83
  - Three tracked Russian PDFs were deterministically regenerated from reviewable Markdown sources
82
84
  under `docs/pdf/sources/`; `npm run docs:pdf:check` reported an empty stale set.
83
- - All 24 pages were rendered and visually inspected: architecture is 6 pages, the delegated
84
- chat-only guide is 8 pages, and the technical reference is 10 pages. No blank, clipped, or orphaned
85
- page was found.
86
- - Visible titles, headers, package commands, and release gates identify beta.12. The content covers
87
- continuable remediation, evidence-bound fix/replan routing, Milestone dependency authority,
88
- P01-A mechanical feasibility, C1 credentials, external-sealed review, Plan-integrity compatibility,
89
- structural-replacement shutdown, and the limited derived-graph role of `codebase-memory-mcp`.
85
+ - All 25 pages were rendered and visually inspected: architecture is 7 pages, the delegated
86
+ chat-only guide is 8 pages, and the technical reference is 10 pages. No blank, clipped,
87
+ overlapping, or orphaned page was found.
88
+ - Visible titles, headers, package commands, and release gates identify beta.12.1. The content
89
+ distinguishes general continuable remediation from the narrow Human-confirmed beta.11 stop
90
+ override and documents Task-local dependency preservation without weakening candidate checks.
90
91
 
91
92
  ## Not claimed
92
93
 
93
94
  - Validation itself performs no npm publication, Git tag, push, Signal Workflow mutation, or local
94
95
  plugin reinstall. Tagging and remote push are separate actions after the exact candidate gates.
95
- - Structural replacement remains intentionally disabled; beta.12 does not claim P04-B replacement
96
+ - Structural replacement remains intentionally disabled; beta.12.1 does not claim P04-B
96
97
  materialization or completed-Step adoption.
97
- - A real project must install the published exact beta.12 package, update/reinstall the bundled
98
- gateway, and follow fresh project-local `handshake doctor status next` navigation.
98
+ - A real project must install the published exact beta.12.1 package, update/reinstall the bundled
99
+ gateway, and follow fresh project-local `handshake -> doctor -> status -> next` navigation.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codex-workflow-v2",
3
- "version": "2.0.0-beta.12",
3
+ "version": "2.0.0-beta.12.1",
4
4
  "description": "Requirements-first Codex development workflow with local state and explicit Git ownership.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codex-workflow-gateway",
3
- "version": "0.1.0+codex.20260827003726",
3
+ "version": "0.1.0+codex.20260827132414",
4
4
  "description": "Thin personal Codex gateway for exact project-local Codex Workflow V2 packages and codebase-memory-mcp.",
5
5
  "author": {
6
6
  "name": "Codex Workflow Maintainers"
@@ -1,6 +1,6 @@
1
1
  # Gateway Protocol V2
2
2
 
3
- ## beta.12 continuable remediation, coordinator projections, and retained recovery compatibility
3
+ ## beta.12.1 compatibility transitions and continuable remediation
4
4
 
5
5
  - When fresh `next` advertises `task plan-integrity-recover`, consume its exact Task revision,
6
6
  Step, actor, and writer-token contract. This route is valid only for the Core-derived
@@ -14,6 +14,12 @@
14
14
  product commits absent from the current corrective Step are recognized only through intact passed
15
15
  strict-review plus verified reviewer-attestation chains and remain separately auditable as
16
16
  `retainedHistoricalCommits`.
17
+ Task-local manifest/lock fields from recorded history may differ from the base, but the candidate
18
+ commit must preserve them exactly while changing only the Workflow dependency entries.
19
+ - `task stop-override-prepare` is a read-only Human gate for the exact beta.11 attempt-four stop
20
+ shape. `task stop-override-apply` requires the same Task revision, Step, actor, reason, Plan, HEAD,
21
+ evidence binding, and returned `SOO-*` code in a later user turn. It appends evidence without
22
+ deleting `stop-escalate`; it never applies to `split-required`.
17
23
  - `milestone progress --id <MS-ID>` is a read-only projection and the sole source for Coordinator
18
24
  progress tables. It preserves cancelled/replacement Tasks as distinct membership rows.
19
25
  - `scripts/chat-registry.mjs` atomically allocates project-monotonic `#NNN`, builds all six title
@@ -49,6 +55,8 @@ Current capability set:
49
55
  - `corrective-plan-audit-v1`
50
56
  - `safe-update-preflight-v1`
51
57
  - `bounded-dependency-provenance-recovery-v1`
58
+ - `task-local-dependency-provenance-recovery-v1`
59
+ - `legacy-stop-escalate-override-v1`
52
60
  - `retained-reviewed-history-recovery-v1`
53
61
  - `milestone-progress-projection-v1`
54
62
  - `strict-reviewer-v1`
@@ -187,6 +195,12 @@ explicit stop or redirection decisions. They are never inferred from attempt cou
187
195
  explicit decision, another failed strict review continues the same Task through its evidence-bound
188
196
  `fix`/`replan` route.
189
197
 
198
+ One append-only compatibility exception exists for a beta.11 policy-created attempt-four stop.
199
+ Fresh `next` must advertise `task stop-override-prepare`; run it with exact human inputs, present the
200
+ complete binding, and stop. A later explicit user turn may run `task stop-override-apply` with the
201
+ same inputs and confirmation code. Any split decision, Plan/revision/HEAD drift, missing attempt-3
202
+ continue authority, lease, transaction, or journal damage blocks the route.
203
+
190
204
  ## Context refresh
191
205
 
192
206
  Before `task plan-set`, compare exact Step `allowedWrites` and expected output paths with scanner
@@ -50,6 +50,12 @@ pending/corrupt transaction. After success run sequential `status` then `next` a
50
50
  returned lifecycle action; Knowledge reconciliation or atomic Task context refresh may legitimately
51
51
  be next because the dependency files changed.
52
52
 
53
+ Beta.12.1 permits product-owned manifest/lock fields already present in the exact recorded Task
54
+ history to differ from the Milestone base. Core compares candidate parent to candidate HEAD after
55
+ removing only the Workflow dependency entries, so the dependency commit must preserve every such
56
+ field exactly. Do not rebase, copy the base manifest over Task-local scripts, or interpret this as
57
+ permission for product payload in the candidate commit.
58
+
53
59
  The beta.11 bounded Plan-integrity route prevents a known impossible check from consuming a second
54
60
  ordinary remediation attempt. Use `task plan-integrity-recover` only when fresh `next` advertises
55
61
  it for the exact failed Task/Step/revision. Require `state=eligible`, no blockers, one first
@@ -103,6 +109,17 @@ command shape or consuming a replacement Discovery. Never rebind, refresh, repla
103
109
  resume, cancel, or manually replace the historical Task. Continue only after a later P04-B/P05
104
110
  package explicitly advertises a topology-preserving replacement capability.
105
111
 
112
+ When beta.12.1 `next` advertises `task stop-override-prepare`, the route is limited to the exact
113
+ beta.11 attempt-four policy stop: two ordinary failures, one corrective failure, a matching
114
+ attempt-3 `continue-fix`, and a matching attempt-4 `stop-escalate` under the unchanged Plan. Invoke
115
+ prepare with the exact Task/Step/revision, explicit human actor, and user-supplied reason. It is
116
+ read-only. Show the returned binding and `SOO-*` code, then stop. Only a later explicit user turn may
117
+ invoke `task stop-override-apply` with the identical inputs and code. Never delegate the gate,
118
+ override `split-required`, edit either journal, or reuse a code after Task revision, Plan, HEAD, or
119
+ evidence changes. Successful apply preserves the original stop, appends
120
+ `stop-escalate-overrides.jsonl`, and requires fresh sequential `status` then `next` before attempt
121
+ four runs through the normal strict-review cycle.
122
+
106
123
  When `next` returns `milestone initial-assembly`, execution is unavailable. Follow only the
107
124
  advertised `linked-task-assembly.commands` (`discovery start` and `discovery materialize`) until all
108
125
  intended linked Tasks exist. The closing `milestone plan-set` option appears only after at least one