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

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.
@@ -92,10 +92,23 @@ inputs and code. Apply appends `stop-escalate-overrides.jsonl`; it never deletes
92
92
  original stop. A stale binding, wrong code, duplicate/conflicting override, or damaged hash chain
93
93
  fails before continuation. Delegation is not accepted for this Human gate.
94
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.
95
+ This is not a general stop reversal. It does not apply to `split-required`, semantic Plan drift, a
96
+ different attempt ordinal, missing attempt-3 continue authority, or an agent-authored semantic stop
97
+ outside the beta.11 policy shape. After a valid append, attempt four returns to the normal `task run`
98
+ then strict-review cycle; review quality and all later corrective decisions remain unchanged.
99
+
100
+ Beta.12.2 also handles the case where the accepted third attempt changed
101
+ approved Project Knowledge: the already-applied override may be followed by the ordinary delegated
102
+ `task context-refresh` before attempt four starts. A fresh `next` resumes `task run` only when Core
103
+ can prove all of the following together: the same exact
104
+ three-event remediation history and stop override remain hash-valid; the source and rebound Plans
105
+ differ only in their canonical Knowledge Map binding line; one direct Knowledge rebind and one
106
+ mechanical Plan Risk Audit rebound connect those Plans; the refreshed approval and execution
107
+ authorization share the valid delegated authority; and the override plus refreshed authorization
108
+ bind the same Git HEAD. The proof is derived from existing append-only evidence, so this route does
109
+ not create a second recovery journal. Missing evidence, an extra rebind, semantic Plan change,
110
+ different HEAD, or damaged chronology routes to `doctor` rather than weakening the generic
111
+ two-attempt corrective recovery gate.
99
112
 
100
113
  ### First-failure Plan-integrity recovery
101
114
 
@@ -1,10 +1,10 @@
1
1
  ---
2
- title: Codex Workflow V2: архитектура beta.12.1
2
+ title: Codex Workflow V2: архитектура beta.12.2
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.1
7
+ subject: Архитектура и границы Codex Workflow V2 beta.12.2
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.1 гарантирует
21
+ ## 1.1. Что beta.12.2 гарантирует
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.1 не гарантирует
33
+ ## 1.2. Что beta.12.2 не гарантирует
34
34
 
35
35
  - правильность продуктовой идеи или автоматически выбранного provider Task;
36
36
  - semantic sufficiency Plan, если точные факты нельзя доказать поддерживаемым analyzer;
@@ -218,13 +218,20 @@ 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
221
+ Beta.12.1 добавила одну append-only compatibility оговорку: beta.11 attempt-four
222
222
  `stop-escalate` после exact `ordinary, ordinary, corrective` и prior attempt-3 `continue-fix` можно
223
223
  возобновить через read-only `stop-override-prepare` и отдельный Human-confirmed
224
224
  `stop-override-apply`. Исходный stop сохраняется, `split-required` не подходит, а stale revision,
225
225
  Plan, HEAD, lease, transaction или повреждённая chain блокируют переход. Попытка 4 снова проходит
226
226
  обычный `task run` и новый strict review.
227
227
 
228
+ Beta.12.2 сохраняет этот override при одном последующем delegated `task context-refresh`, если Plan
229
+ изменился только в canonical Knowledge Map binding. Core требует прямой rebind, механически
230
+ эквивалентный Plan Risk Audit, общую delegated authority, корректную chronology и тот же Git HEAD.
231
+ При утрате claimed writer lease используется только одновременно рекламируемый
232
+ `task writer-credential-replace`; semantic Plan drift, второй rebind или повреждённая evidence chain
233
+ возвращают `doctor`.
234
+
228
235
  Dependency-provenance recovery beta.12.1 также сохраняет ранее закоммиченные Task-local поля
229
236
  manifest/lock, даже если base их не содержит. Candidate остаётся dependency-only: после удаления
230
237
  только Workflow dependency parent и HEAD обязаны совпасть по всем product-owned полям.
@@ -238,7 +245,7 @@ worktree или Plan и не создаёт synthetic second failure; он за
238
245
  # 10. Operational checklist
239
246
 
240
247
  - exact package version установлен, bundled gateway соответствует release и переустановлен;
241
- - handshake подтверждает protocol 2, state schema 2 и beta.12.1 capabilities;
248
+ - handshake подтверждает protocol 2, state schema 2 и beta.12.2 capabilities;
242
249
  - каждый mutation следует свежему `status -> next` и exact option contract;
243
250
  - semantic unknowns и human gates не маскируются delegation;
244
251
  - Task chats создаёт coordinator, credentials остаются только в памяти;
@@ -1,13 +1,13 @@
1
1
  ---
2
2
  title: Codex Workflow V2: delegated chat-only guide
3
- subtitle: Актуальный beta.12.1 путь от нового Discovery до принятого Milestone без ручного CLI
3
+ subtitle: Актуальный beta.12.2 путь от нового 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.1
7
+ subject: Практическое руководство по delegated Discovery и Milestone в Workflow V2 beta.12.2
8
8
  ---
9
9
 
10
- # 1. Рабочая модель beta.12.1
10
+ # 1. Рабочая модель beta.12.2
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.1 как точную devDependency после публикации release.
43
+ 2. Установите beta.12.2 как точную 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.1 должен сообщать `packageVersion=2.0.0-beta.12.1`, `protocolVersion=2`,
59
+ Handshake beta.12.2 должен сообщать `packageVersion=2.0.0-beta.12.2`, `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.1 в delegated режиме.
119
+ Проведи новый Milestone через Codex Workflow V2 beta.12.2 в delegated режиме.
120
120
  Repository: <ABSOLUTE-REPOSITORY-ROOT>.
121
121
  Milestone ID: AUTO.
122
122
  Delegate actor: agent:milestone-coordinator.
@@ -305,6 +305,13 @@ Task chat записывает его только при совпадении p
305
305
  Plan-integrity recovery не редактирует Plan, package.json или worktree и не синтезирует второй failure.
306
306
  P04-A не переносит completed Steps и не rewires dependencies при split.
307
307
 
308
+ Если после применённого stop override `next` рекламирует delegated `task context-refresh`, выполните
309
+ его как обычный atomic refresh и снова запросите `status -> next`. Продолжайте attempt 4 только при
310
+ `stopOverrideContextRebind.state=validated`. При одновременном
311
+ `writerCredentialRecovery.action=task writer-credential-replace` сначала восстановите credential
312
+ точного claimant-актора. `doctor`, semantic Plan change, второй rebind или другой HEAD означают stop,
313
+ а не ручной обход.
314
+
308
315
  # 12. Milestone final acceptance
309
316
 
310
317
  После merge всех required Tasks Coordinator проверяет clean base HEAD и выполняет рекламируемую
@@ -322,7 +329,7 @@ Task/project DGR. `dependencyBinding` для standalone handoff равен null.
322
329
 
323
330
  # 14. Итоговый checklist пользователя
324
331
 
325
- - beta.12.1 exact package и новый bundled gateway установлены;
332
+ - beta.12.2 exact package и новый bundled gateway установлены;
326
333
  - новый Coordinator chat не является fork старого Milestone;
327
334
  - bootstrap DGR, если нужен, выдан отдельным exact human confirmation;
328
335
  - Discovery не materialized при blocking unknowns;
@@ -1,10 +1,10 @@
1
1
  ---
2
- title: Codex Workflow V2: технический справочник beta.12.1
2
+ title: Codex Workflow V2: технический справочник beta.12.2
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.1
7
+ subject: Технический контракт Codex Workflow V2 beta.12.2
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.1 | Значение |
16
+ | Параметр beta.12.2 | Значение |
17
17
  |---|---|
18
- | npm package | `codex-workflow-v2@2.0.0-beta.12.1` |
18
+ | npm package | `codex-workflow-v2@2.0.0-beta.12.2` |
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.1 capabilities:
40
+ Ключевые beta.12.2 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 | Task-local dependency provenance, plan integrity, remediation mode, legacy stop override, corrective yield/replan journals |
49
+ | Recovery | Task-local dependency provenance, plan integrity, remediation mode, legacy stop override, context-only stop rebind, corrective yield/replan journals |
50
50
  | Replacement | `structural-task-replacement-disabled-v1` |
51
51
 
52
52
  Handshake incompatibility прекращает работу. Запуск global package, `latest`, mutable range или соседней
@@ -316,7 +316,7 @@ fresh `next` через corrective yield и обычный Human-confirmed repla
316
316
  P01-A предотвращает поддерживаемые contradictions до fresh authorization. beta.11 path остаётся для
317
317
  pre-P01 authorizations и late/unsupported exact recovery cases.
318
318
 
319
- # 13.1. beta.12.1 compatibility transitions
319
+ # 13.1. beta.12.2 compatibility transitions
320
320
 
321
321
  `update dependency-provenance-recover` больше не требует полного равенства Task manifest/lock с base.
322
322
  Base остаётся version authority, а parent/HEAD candidate сравниваются без единственных Workflow
@@ -329,6 +329,13 @@ remediation events, Plan, HEAD, package, human actor и reason. Apply в отд
329
329
  `stop-escalate-overrides.jsonl`. Original corrective decision остаётся неизменным. Split, stale binding,
330
330
  lease/transaction, дубликат с другим binding и tampering fail closed.
331
331
 
332
+ После apply один delegated `task context-refresh` может сделать исходный stop/override Plan hash
333
+ историческим. `task run` снова доступен только если Core доказывает context-only direct rebind:
334
+ семантическое содержимое Plan совпадает, Plan Risk Audit rebound механический, refresh approval и
335
+ execution authorization имеют одну действующую authority, chronology монотонна, а authorization и
336
+ override связывают один HEAD. Projection содержит `stopOverrideContextRebind.state=validated`.
337
+ Утерянный claimed lease восстанавливается только рекламируемым `task writer-credential-replace`.
338
+
332
339
  # 14. P04-A structural replacement boundary
333
340
 
334
341
  Command shape `task replacement-materialize` retained только для compatibility diagnostics. Любая попытка
@@ -386,7 +393,7 @@ Graph является навигационным индексом, не Project
386
393
  После каждой successful mutation обязателен sequential `status`, затем fresh `next`. Failed status/next
387
394
  не разрешает direct mutation. Syntax help read-only и не заменяет navigation authority.
388
395
 
389
- # 18. Public command surface beta.12.1
396
+ # 18. Public command surface beta.12.2
390
397
 
391
398
  | Область | Actions |
392
399
  |---|---|
@@ -413,7 +420,7 @@ Exact options берутся из fresh `next`; command help используе
413
420
  running Step и active/stale writer lease. External runner допустим только в документированной rescue
414
421
  compatibility форме.
415
422
 
416
- Перед beta.12.1 tag release repository выполняет:
423
+ Перед beta.12.2 tag release repository выполняет:
417
424
 
418
425
  1. `npm ci`;
419
426
  2. `npm run validate`;
@@ -423,6 +430,3 @@ compatibility форме.
423
430
  6. `npm run docs:pdf:check`;
424
431
  7. `npm run release:check` с exact release tag binding;
425
432
  8. validation append-only real-agent lifecycle log.
426
-
427
- PDF source и binaries должны совпасть детерминированно. Tag имеет форму `v<package-version>`.
428
- Publication не выполняется локальными validation commands.
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.1, the release gate also relies on `npm run release:check` to fail if:
30
+ For beta.12.2, 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;
@@ -57,6 +57,9 @@ For beta.12.1, the release gate also relies on `npm run release:check` to fail i
57
57
  - the append-only, Human-confirmed beta.11 attempt-four stop override, its exact three-event/
58
58
  continue/stop binding, split rejection, stale-confirmation rejection, or tamper detection is
59
59
  absent from the package.
60
+ - an already-applied beta.11 stop override cannot survive one later context-only Plan rebind with
61
+ exact mechanical audit, delegation, chronology, and same-HEAD evidence; or the route weakens the
62
+ generic stale-decision recovery gate.
60
63
 
61
64
  The separate lifecycle transcript validator fails if the real-agent log contains a mutation that
62
65
  bypasses failed `status`/`next`, an unadvertised or failed mutation, an unresolved syntax-only
@@ -72,10 +72,23 @@ stop decision, Plan hash, Git HEAD, все три remediation events и policy
72
72
  В отдельном пользовательском сообщении разрешите apply с теми же параметрами и возвращённым
73
73
  `SOO-*` кодом. `task stop-override-apply` добавляет одну запись в
74
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 для него отсутствует.
75
+ последовательные `status` и `next`. Обычно ожидаемый route — `task run` того же Step с последующим
76
+ новым strict review. Beta.12.2 дополнительно покрывает случай, когда третья
77
+ попытка изменила Project Knowledge: перед `task run` допустим обычный
78
+ delegated `task context-refresh`. После него Workflow продолжит attempt 4 только при
79
+ доказанном прямом rebind: source и current Plan отличаются исключительно canonical Knowledge Map
80
+ binding, Plan Risk Audit rebound механический, refresh approval/authorization имеют одну валидную
81
+ delegated authority, а override и новая execution authorization связывают тот же Git HEAD. Новая
82
+ recovery-запись для этого не создаётся — используется уже существующая append-only цепочка.
83
+ Если C1 остаётся claimed, но writer lease после Human boundary отсутствует, `next` вместе с
84
+ `task run` рекламирует `task writer-credential-replace`; сначала восстановите credential exact
85
+ claimant-актора, затем запускайте Step.
86
+
87
+ Этот путь не работает для `split-required`, другого attempt ordinal, семантически изменённого
88
+ Plan, другого HEAD, отсутствующего attempt-3 continue, более чем одного rebind, повреждённой
89
+ chronology, active/stale lease на Human prepare/apply boundary или незавершённой Task transaction.
90
+ Delegated approval для самого stop override отсутствует; delegation относится только к обычному
91
+ context refresh после уже подтверждённого Human override.
79
92
 
80
93
  ## 1. Подготовьте отдельный чат обновления
81
94
 
@@ -1,99 +1,102 @@
1
- # V2 beta.12.1 Validation Report
1
+ # V2 beta.12.2 Validation Report
2
2
 
3
- Release candidate `2.0.0-beta.12.1` was validated on 2026-08-27 with Node.js 24.17.0.
3
+ Release candidate `2.0.0-beta.12.2` was validated across 2026-08-27/28 (Europe/Moscow) with
4
+ Node.js 24.17.0.
4
5
 
5
6
  ## Automated release evidence
6
7
 
7
8
  - `npm ci` completed from the committed lockfile with 0 reported vulnerabilities.
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,
9
+ - The final `npm run validate` passed typecheck and `326/326` sequential tests with no failures,
10
+ skips, cancellations, or todos in 1,273,564.586583 ms.
11
+ - The full suite includes the beta.12.2 attempt-four/context-rebind replay, the unchanged-Plan
12
+ stop-override suite, five-cycle continuable remediation, generic stale-decision recovery,
13
+ credential safety, dependency provenance, Signal T04, P01-A, P04-A, transaction, observer-purity,
14
+ and transition-model regressions.
15
+ - `npm run pack:check` produced the beta.12.2 dry-run tarball with 270 files, package size 972.1 kB,
14
16
  and unpacked size 3.8 MB. The sandboxed npm-cache attempt failed with `EPERM`; the authorized
15
17
  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.
18
+ - `npm run smoke:downstream` packed and installed
19
+ `codex-workflow-v2-2.0.0-beta.12.2.tgz` in an empty temporary project and passed the packaged
20
+ handshake. The sandboxed attempt could not resolve the npm registry for AJV; the authorized
21
+ network retry using the same source passed.
19
22
  - `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.
36
- - The exact Signal T04 revision-26 fixture still proves that only a verified historical Step Review
37
- can retain its completion commit across corrective replan. Pending review is never trusted, and a
38
- corrupt strict-review hash chain is rejected.
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.
23
+ `npm run docs:pdf:check`, exact `RELEASE_TAG=v2.0.0-beta.12.2 npm run release:check`, and
24
+ `git diff --check` passed. The official Python validators used a temporary isolated `PyYAML`
25
+ dependency; no project or system Python files were changed. The bundled gateway cachebuster is
26
+ `0.1.0+codex.20260827205000`.
27
+
28
+ ## beta.12.2 stop-override/context-rebind compatibility
29
+
30
+ - The reproduced incompatibility is narrow: an exact beta.11 attempt-four stop was already
31
+ Human-overridden, then the successful third attempt changed approved Project Knowledge and the
32
+ ordinary delegated `task context-refresh` rebound the Plan to the new Knowledge Map. The original
33
+ override remained valid evidence but its Plan hash no longer equalled the current Plan hash.
34
+ - Core now derives continuation only from existing append-only evidence. It requires exactly three
35
+ remediation events (`ordinary`, `ordinary`, `corrective`), the matching attempt-3 `continue-fix`,
36
+ matching attempt-4 `stop-escalate`, one applied stop override, one direct Knowledge rebind, a
37
+ mechanically equivalent Plan Risk Audit rebound, shared valid delegated authority, monotonic
38
+ chronology, and the same Git HEAD in the override and refreshed execution authorization.
39
+ - Fresh `next` returns `task run` with `stopOverrideContextRebind.state=validated` only when every
40
+ binding above remains current. The fourth attempt remains mode `corrective` and passes through the
41
+ normal checks and strict-review cycle.
42
+ - If C1 remains claimed but the writer lease was lost at the Human boundary, the same projection
43
+ exposes the existing `task writer-credential-replace` recovery for the exact claimant. No token is
44
+ persisted or reconstructed from evidence.
45
+ - The route creates no new recovery journal and does not rewrite the stop, override, Plan, audit, or
46
+ authorization history. Semantic Plan drift, a second rebind, different HEAD, wrong authority,
47
+ malformed chronology, missing/duplicate override evidence, or sidecar corruption fails closed and
48
+ routes to `doctor`.
49
+
50
+ ## Existing compatibility and lifecycle regressions retained
51
+
52
+ - The unchanged-Plan Human-confirmed beta.11 stop override remains append-only, idempotent, and
53
+ unavailable for `split-required`, stale confirmation bindings, or tampered evidence.
54
+ - The general guarded-remediation model still has no attempt-count hard stop. Attempts 1-2 are
55
+ ordinary; attempts 3+ are corrective and remain executable under fresh review authority. The
56
+ beta.12.2 exception does not weaken the generic stale `continue-fix` recovery predicate.
57
+ - Task-local dependency-provenance recovery still preserves product fields recorded before the
58
+ dependency-only candidate while rejecting candidate payload drift. The exact Signal T04
59
+ revision-26 replay retains only passed, attested historical Step commits and rejects pending or
60
+ corrupt review chains.
61
+ - P01-A mechanical feasibility, P04-A Milestone dependency authority, atomic initial Plan and
62
+ project transactions, external-sealed review, corrective yield/replan, and observer byte-purity
63
+ remain green.
64
+ - Structural replacement remains intentionally disabled. A `split-required` posture still returns
65
+ `STRUCTURAL_REPLACEMENT_REQUIRED` with no Task/Discovery/Milestone/Knowledge/lock mutation.
65
66
 
66
67
  ## Packaged and transcript evidence
67
68
 
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.
69
+ - Downstream smoke validated exact package resolution and the packaged beta.12.2 handshake in a
70
+ clean disposable installation.
71
+ - A temporary trusted harness invoked the final built CLI sequentially for `gateway handshake`,
72
+ `doctor`, `status`, and fresh `next` against this unregistered source repository with an isolated
73
+ Workflow state root. All observations completed successfully and remained read-only.
72
74
  - `node scripts/validate-lifecycle-transcript.mjs` accepted all `8/8` post-provenance events with no
73
75
  failed invocation, mutation, or missing terminal result. The log SHA-256 is
74
- `3a12f6e604bef2fe5335c6fc244b52690b06925fb50b8fd8a20acefb672ca46d`; the temporary log remains
76
+ `954a1c97f455ae3c8e02211b6fb63982b30cbfa1c40d92ce712f4a208d0e3a8f`; the temporary log remains
75
77
  outside the repository.
76
78
 
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.
79
+ The transcript proves release-time invocation/result discipline for the final CLI. It does not
80
+ claim a product Milestone replay or a lifecycle mutation. The compatibility transition is covered
81
+ by deterministic repository/sidecar integration tests above.
80
82
 
81
- ## beta.12.1 PDF release documentation evidence
83
+ ## beta.12.2 PDF release documentation evidence
82
84
 
83
85
  - Three tracked Russian PDFs were deterministically regenerated from reviewable Markdown sources
84
- under `docs/pdf/sources/`; `npm run docs:pdf:check` reported an empty stale set.
85
- - All 25 pages were rendered and visually inspected: architecture is 7 pages, the delegated
86
+ under `docs/pdf/sources`; `npm run docs:pdf:check` reported an empty stale set.
87
+ - All 25 final pages were rendered and visually inspected: architecture is 7 pages, the delegated
86
88
  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.
89
+ overlapping, or orphaned final page was found. Visual QA removed one redundant two-line spill
90
+ that had created an otherwise empty eleventh technical-reference page.
91
+ - Visible titles, headers, package commands, and release gates identify beta.12.2. The documents
92
+ distinguish the unchanged-Plan beta.12.1 override from beta.12.2 context-only rebind continuation,
93
+ exact claimant credential recovery, and all fail-closed boundaries.
91
94
 
92
95
  ## Not claimed
93
96
 
94
- - Validation itself performs no npm publication, Git tag, push, Signal Workflow mutation, or local
95
- plugin reinstall. Tagging and remote push are separate actions after the exact candidate gates.
96
- - Structural replacement remains intentionally disabled; beta.12.1 does not claim P04-B
97
- materialization or completed-Step adoption.
98
- - A real project must install the published exact beta.12.1 package, update/reinstall the bundled
97
+ - Validation itself performs no npm publication, Git tag, push, Signal project mutation, or local
98
+ plugin reinstall. Tagging and remote push are separate release actions after these exact gates.
99
+ - beta.12.2 does not implement P04-B, topology rewiring, completed-Step adoption, a general semantic
100
+ stop reversal, multi-rebind recovery, or a wider delegation surface.
101
+ - A real project must install the published exact beta.12.2 package, update/reinstall the bundled
99
102
  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.1",
3
+ "version": "2.0.0-beta.12.2",
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.20260827132414",
3
+ "version": "0.1.0+codex.20260827205000",
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.1 compatibility transitions and continuable remediation
3
+ ## beta.12.2 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
@@ -20,6 +20,11 @@
20
20
  shape. `task stop-override-apply` requires the same Task revision, Step, actor, reason, Plan, HEAD,
21
21
  evidence binding, and returned `SOO-*` code in a later user turn. It appends evidence without
22
22
  deleting `stop-escalate`; it never applies to `split-required`.
23
+ - After an applied stop override, one ordinary delegated `task context-refresh` may rebind the Plan
24
+ before attempt four. Fresh `next` returns `task run` only when Core validates an exact direct
25
+ Knowledge rebind, a mechanically equivalent Plan Risk Audit rebound, shared delegated authority,
26
+ append-only chronology, and the same Git HEAD. If C1 remains claimed but the lease was lost at the
27
+ Human boundary, use only the simultaneously advertised `task writer-credential-replace` action.
23
28
  - `milestone progress --id <MS-ID>` is a read-only projection and the sole source for Coordinator
24
29
  progress tables. It preserves cancelled/replacement Tasks as distinct membership rows.
25
30
  - `scripts/chat-registry.mjs` atomically allocates project-monotonic `#NNN`, builds all six title
@@ -57,6 +62,7 @@ Current capability set:
57
62
  - `bounded-dependency-provenance-recovery-v1`
58
63
  - `task-local-dependency-provenance-recovery-v1`
59
64
  - `legacy-stop-escalate-override-v1`
65
+ - `stop-override-context-rebind-v1`
60
66
  - `retained-reviewed-history-recovery-v1`
61
67
  - `milestone-progress-projection-v1`
62
68
  - `strict-reviewer-v1`
@@ -109,7 +109,7 @@ command shape or consuming a replacement Discovery. Never rebind, refresh, repla
109
109
  resume, cancel, or manually replace the historical Task. Continue only after a later P04-B/P05
110
110
  package explicitly advertises a topology-preserving replacement capability.
111
111
 
112
- When beta.12.1 `next` advertises `task stop-override-prepare`, the route is limited to the exact
112
+ When beta.12.2 `next` advertises `task stop-override-prepare`, the route is limited to the exact
113
113
  beta.11 attempt-four policy stop: two ordinary failures, one corrective failure, a matching
114
114
  attempt-3 `continue-fix`, and a matching attempt-4 `stop-escalate` under the unchanged Plan. Invoke
115
115
  prepare with the exact Task/Step/revision, explicit human actor, and user-supplied reason. It is
@@ -120,6 +120,13 @@ evidence changes. Successful apply preserves the original stop, appends
120
120
  `stop-escalate-overrides.jsonl`, and requires fresh sequential `status` then `next` before attempt
121
121
  four runs through the normal strict-review cycle.
122
122
 
123
+ After an applied override, one ordinary delegated `task context-refresh` may change only the Plan's
124
+ canonical Knowledge Map binding. Continue only when fresh `next` advertises `task run` with
125
+ `stopOverrideContextRebind.state=validated` for the exact override and stop decision. If C1 remains
126
+ claimed but the lease was lost at the Human boundary, first use the simultaneously advertised
127
+ `task writer-credential-replace` action for the exact claimant. A doctor route, semantic Plan drift,
128
+ second rebind, different HEAD, missing delegated authority, or damaged chronology is a hard stop.
129
+
123
130
  When `next` returns `milestone initial-assembly`, execution is unavailable. Follow only the
124
131
  advertised `linked-task-assembly.commands` (`discovery start` and `discovery materialize`) until all
125
132
  intended linked Tasks exist. The closing `milestone plan-set` option appears only after at least one