codex-workflow-v2 2.0.0-beta.12.1 → 2.0.0-beta.12.3
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 +4 -3
- package/dist/src/alpha6/remediation.d.ts +2 -2
- package/dist/src/alpha6/remediation.js +18 -2
- package/dist/src/alpha6/remediation.js.map +1 -1
- package/dist/src/alpha7/corrective-recovery.d.ts +8 -1
- package/dist/src/alpha7/corrective-recovery.js +384 -26
- package/dist/src/alpha7/corrective-recovery.js.map +1 -1
- package/dist/src/cli.js +2 -0
- package/dist/src/cli.js.map +1 -1
- package/dist/src/version.d.ts +1 -1
- package/dist/src/version.js +1 -1
- package/dist/src/workflow.d.ts +1 -0
- package/dist/src/workflow.js +45 -6
- package/dist/src/workflow.js.map +1 -1
- package/docs/autonomy-guardrails.md +18 -4
- package/docs/decisions.md +8 -0
- 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 +16 -7
- package/docs/pdf/sources/codex-workflow-v2-chat-only-guide-ru.md +16 -8
- package/docs/pdf/sources/codex-workflow-v2-technical-reference-ru.md +21 -13
- package/docs/release.md +6 -1
- package/docs/updating-existing-project.md +20 -4
- package/docs/validation-report.md +82 -84
- package/package.json +1 -1
- package/plugins/codex-workflow-gateway/.codex-plugin/plugin.json +1 -1
- package/plugins/codex-workflow-gateway/references/protocol.md +10 -1
- package/plugins/codex-workflow-gateway/skills/codex-workflow-gateway/SKILL.md +12 -1
|
@@ -92,10 +92,24 @@ 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
|
|
96
|
-
attempt ordinal, missing attempt-3 continue authority, or an agent-authored semantic stop
|
|
97
|
-
the beta.11 policy shape. After a valid append, attempt four returns to the normal `task run`
|
|
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.3 also handles the case where the accepted third attempt changed approved Project Knowledge
|
|
101
|
+
and package self-updates added later refreshes: the already-applied override may be followed by one
|
|
102
|
+
or more ordinary delegated `task context-refresh` transitions before attempt four starts. A fresh
|
|
103
|
+
`next` resumes `task run` only when Core can prove all of the following together: the same exact
|
|
104
|
+
three-event remediation history and stop override remain hash-valid; every adjacent Plan differs
|
|
105
|
+
only in its canonical Knowledge Map binding line; the Knowledge rebinds and mechanical Plan Risk
|
|
106
|
+
Audit rebounds form one contiguous source-to-current chain; and the refreshed approval plus current
|
|
107
|
+
execution authorization share the valid delegated authority. If Git HEAD advanced, every
|
|
108
|
+
intervening commit must have one exact registered dependency-provenance recovery, one parent, a
|
|
109
|
+
`systemCommits` binding, and exactly the `package.json`/`package-lock.json` diff. The proof is derived
|
|
110
|
+
from existing append-only evidence, so this route does not create a second recovery journal.
|
|
111
|
+
Missing evidence, semantic Plan change, an unregistered/product commit, a broken chain, or damaged
|
|
112
|
+
chronology routes to `doctor` rather than weakening the generic two-attempt corrective recovery gate.
|
|
99
113
|
|
|
100
114
|
### First-failure Plan-integrity recovery
|
|
101
115
|
|
package/docs/decisions.md
CHANGED
|
@@ -97,3 +97,11 @@ This document closes the requirement gaps identified during the V2 design review
|
|
|
97
97
|
19. **Derived independent actors.** Core derives stable Task Worker and corrective Auditor
|
|
98
98
|
actors from Task identity. This removes name-selection pauses without weakening C1 claim,
|
|
99
99
|
lease, or auditor-independence checks.
|
|
100
|
+
20. **Stop-override authority survives mechanical update chains.** The exact Human-confirmed
|
|
101
|
+
beta.11 attempt-four override remains valid across any contiguous append-only sequence of
|
|
102
|
+
content-only Plan rebinds. Every adjacent immutable Plan, Knowledge rebind, and mechanical
|
|
103
|
+
Plan Risk Audit rebound must agree. Git HEAD may advance only through a contiguous chain of
|
|
104
|
+
already registered dependency-provenance commits, each single-parent and limited to
|
|
105
|
+
`package.json` plus `package-lock.json`. Semantic Plan drift, product commits, missing
|
|
106
|
+
provenance, or broken chronology still fails closed; generic corrective-decision recovery
|
|
107
|
+
remains direct and is not widened.
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
---
|
|
2
|
-
title: Codex Workflow V2: архитектура beta.12.
|
|
2
|
+
title: Codex Workflow V2: архитектура beta.12.3
|
|
3
3
|
subtitle: Источники истины, lifecycle, роли, delegation, зависимости Tasks и границы доверия
|
|
4
4
|
part: Часть 1 из 3 | Архитектура
|
|
5
5
|
document_version: 2.0
|
|
6
|
-
date:
|
|
7
|
-
subject: Архитектура и границы Codex Workflow V2 beta.12.
|
|
6
|
+
date: 28 августа 2026
|
|
7
|
+
subject: Архитектура и границы Codex Workflow V2 beta.12.3
|
|
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.3 гарантирует
|
|
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.3 не гарантирует
|
|
34
34
|
|
|
35
35
|
- правильность продуктовой идеи или автоматически выбранного provider Task;
|
|
36
36
|
- semantic sufficiency Plan, если точные факты нельзя доказать поддерживаемым analyzer;
|
|
@@ -218,13 +218,22 @@ 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
|
|
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.3 сохраняет этот override при последовательности delegated `task context-refresh`, если
|
|
229
|
+
каждая версия Plan изменилась только в canonical Knowledge Map binding. Core проверяет весь
|
|
230
|
+
contiguous rebind/audit chain, mechanical equivalence каждого Plan Risk Audit, общую delegated
|
|
231
|
+
authority и корректную chronology. Git HEAD может продвинуться только через последовательность
|
|
232
|
+
зарегистрированных dependency-provenance commits, каждый из которых меняет ровно package.json и
|
|
233
|
+
package-lock.json. При утрате claimed writer lease используется только одновременно рекламируемый
|
|
234
|
+
`task writer-credential-replace`; semantic Plan drift, разрыв chain или любой другой commit
|
|
235
|
+
возвращают `doctor`.
|
|
236
|
+
|
|
228
237
|
Dependency-provenance recovery beta.12.1 также сохраняет ранее закоммиченные Task-local поля
|
|
229
238
|
manifest/lock, даже если base их не содержит. Candidate остаётся dependency-only: после удаления
|
|
230
239
|
только Workflow dependency parent и HEAD обязаны совпасть по всем product-owned полям.
|
|
@@ -238,7 +247,7 @@ worktree или Plan и не создаёт synthetic second failure; он за
|
|
|
238
247
|
# 10. Operational checklist
|
|
239
248
|
|
|
240
249
|
- exact package version установлен, bundled gateway соответствует release и переустановлен;
|
|
241
|
-
- handshake подтверждает protocol 2, state schema 2 и beta.12.
|
|
250
|
+
- handshake подтверждает protocol 2, state schema 2 и beta.12.3 capabilities;
|
|
242
251
|
- каждый mutation следует свежему `status -> next` и exact option contract;
|
|
243
252
|
- semantic unknowns и human gates не маскируются delegation;
|
|
244
253
|
- Task chats создаёт coordinator, credentials остаются только в памяти;
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: Codex Workflow V2: delegated chat-only guide
|
|
3
|
-
subtitle: Актуальный beta.12.
|
|
3
|
+
subtitle: Актуальный beta.12.3 путь от нового Discovery до принятого Milestone без ручного CLI
|
|
4
4
|
part: Часть 2 из 3 | Практика
|
|
5
5
|
document_version: 2.0
|
|
6
|
-
date:
|
|
7
|
-
subject: Практическое руководство по delegated Discovery и Milestone в Workflow V2 beta.12.
|
|
6
|
+
date: 28 августа 2026
|
|
7
|
+
subject: Практическое руководство по delegated Discovery и Milestone в Workflow V2 beta.12.3
|
|
8
8
|
---
|
|
9
9
|
|
|
10
|
-
# 1. Рабочая модель beta.12.
|
|
10
|
+
# 1. Рабочая модель beta.12.3
|
|
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.
|
|
43
|
+
2. Установите beta.12.3 как точную 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.
|
|
59
|
+
Handshake beta.12.3 должен сообщать `packageVersion=2.0.0-beta.12.3`, `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.
|
|
119
|
+
Проведи новый Milestone через Codex Workflow V2 beta.12.3 в delegated режиме.
|
|
120
120
|
Repository: <ABSOLUTE-REPOSITORY-ROOT>.
|
|
121
121
|
Milestone ID: AUTO.
|
|
122
122
|
Delegate actor: agent:milestone-coordinator.
|
|
@@ -305,6 +305,14 @@ 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
|
+
`update dependency-provenance-recover`, выполните только этот advertised atomic/recovery переход и
|
|
310
|
+
снова запросите `status -> next`. Таких механических refresh/update циклов может быть несколько.
|
|
311
|
+
Продолжайте attempt 4 только при `stopOverrideContextRebind.state=validated`. При одновременном
|
|
312
|
+
`writerCredentialRecovery.action=task writer-credential-replace` сначала восстановите credential
|
|
313
|
+
точного claimant-актора. `doctor`, semantic Plan change, разрыв rebind/audit chain или HEAD commit без
|
|
314
|
+
точного dependency-provenance record означают stop, а не ручной обход.
|
|
315
|
+
|
|
308
316
|
# 12. Milestone final acceptance
|
|
309
317
|
|
|
310
318
|
После merge всех required Tasks Coordinator проверяет clean base HEAD и выполняет рекламируемую
|
|
@@ -322,7 +330,7 @@ Task/project DGR. `dependencyBinding` для standalone handoff равен null.
|
|
|
322
330
|
|
|
323
331
|
# 14. Итоговый checklist пользователя
|
|
324
332
|
|
|
325
|
-
- beta.12.
|
|
333
|
+
- beta.12.3 exact package и новый bundled gateway установлены;
|
|
326
334
|
- новый Coordinator chat не является fork старого Milestone;
|
|
327
335
|
- bootstrap DGR, если нужен, выдан отдельным exact human confirmation;
|
|
328
336
|
- Discovery не materialized при blocking unknowns;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
---
|
|
2
|
-
title: Codex Workflow V2: технический справочник beta.12.
|
|
2
|
+
title: Codex Workflow V2: технический справочник beta.12.3
|
|
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.12.
|
|
6
|
+
date: 28 августа 2026
|
|
7
|
+
subject: Технический контракт Codex Workflow V2 beta.12.3
|
|
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.3 | Значение |
|
|
17
17
|
|---|---|
|
|
18
|
-
| npm package | `codex-workflow-v2@2.0.0-beta.12.
|
|
18
|
+
| npm package | `codex-workflow-v2@2.0.0-beta.12.3` |
|
|
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.
|
|
40
|
+
Ключевые beta.12.3 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, append-only stop-rebind chain, 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.
|
|
319
|
+
# 13.1. beta.12.3 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,17 @@ 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` могут сделать source Plan историческим.
|
|
333
|
+
`task run` доступен, только если Core доказывает contiguous source-to-current chain: adjacent Plans
|
|
334
|
+
различаются лишь Knowledge binding, rebinds совпадают с artifacts, audits являются mechanical
|
|
335
|
+
rebounds, а current approval/authorization сохраняют одну delegated authority и chronology.
|
|
336
|
+
|
|
337
|
+
HEAD может отличаться от override только через зарегистрированные single-parent
|
|
338
|
+
`dependencyProvenanceRecoveries` в `systemCommits`, каждый с exact `package.json`/`package-lock.json`
|
|
339
|
+
diff. Semantic drift, иной commit или разрыв chain fail closed. Projection содержит
|
|
340
|
+
`stopOverrideContextRebind.state=validated`; lost lease восстанавливает только advertised
|
|
341
|
+
`task writer-credential-replace`.
|
|
342
|
+
|
|
332
343
|
# 14. P04-A structural replacement boundary
|
|
333
344
|
|
|
334
345
|
Command shape `task replacement-materialize` retained только для compatibility diagnostics. Любая попытка
|
|
@@ -386,7 +397,7 @@ Graph является навигационным индексом, не Project
|
|
|
386
397
|
После каждой successful mutation обязателен sequential `status`, затем fresh `next`. Failed status/next
|
|
387
398
|
не разрешает direct mutation. Syntax help read-only и не заменяет navigation authority.
|
|
388
399
|
|
|
389
|
-
# 18. Public command surface beta.12.
|
|
400
|
+
# 18. Public command surface beta.12.3
|
|
390
401
|
|
|
391
402
|
| Область | Actions |
|
|
392
403
|
|---|---|
|
|
@@ -413,7 +424,7 @@ Exact options берутся из fresh `next`; command help используе
|
|
|
413
424
|
running Step и active/stale writer lease. External runner допустим только в документированной rescue
|
|
414
425
|
compatibility форме.
|
|
415
426
|
|
|
416
|
-
Перед beta.12.
|
|
427
|
+
Перед beta.12.3 tag release repository выполняет:
|
|
417
428
|
|
|
418
429
|
1. `npm ci`;
|
|
419
430
|
2. `npm run validate`;
|
|
@@ -423,6 +434,3 @@ compatibility форме.
|
|
|
423
434
|
6. `npm run docs:pdf:check`;
|
|
424
435
|
7. `npm run release:check` с exact release tag binding;
|
|
425
436
|
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.
|
|
30
|
+
For beta.12.3, 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,11 @@ 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 a contiguous append-only chain of later
|
|
61
|
+
context-only Plan rebinds with exact mechanical audits, delegation, and chronology;
|
|
62
|
+
- Git HEAD may advance between the override and current execution authorization through anything
|
|
63
|
+
except an exact chain of registered dependency-provenance commits that each change only
|
|
64
|
+
`package.json` and `package-lock.json`; or the route weakens the generic stale-decision recovery gate.
|
|
60
65
|
|
|
61
66
|
The separate lifecycle transcript validator fails if the real-agent log contains a mutation that
|
|
62
67
|
bypasses failed `status`/`next`, an unadvertised or failed mutation, an unresolved syntax-only
|
|
@@ -72,10 +72,26 @@ 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`.
|
|
76
|
-
strict review.
|
|
77
|
-
|
|
78
|
-
|
|
75
|
+
последовательные `status` и `next`. Обычно ожидаемый route — `task run` того же Step с последующим
|
|
76
|
+
новым strict review. Beta.12.3 покрывает и последовательность package self-update/context-refresh
|
|
77
|
+
циклов после override. Перед `task run` выполняйте только свежие advertised
|
|
78
|
+
`update dependency-provenance-recover` и delegated `task context-refresh`; циклов может быть
|
|
79
|
+
несколько. Workflow продолжит attempt 4 лишь когда докажет contiguous source-to-current chain:
|
|
80
|
+
каждый Plan отличается только canonical Knowledge Map binding, каждый rebind совпадает с Plan
|
|
81
|
+
artifacts, каждый Plan Risk Audit является mechanical rebound, а current approval/authorization
|
|
82
|
+
сохраняют одну delegated authority. HEAD может продвинуться только через зарегистрированные
|
|
83
|
+
single-parent dependency-provenance commits, каждый с exact `package.json`/`package-lock.json` diff.
|
|
84
|
+
Новая stop-override recovery-запись не создаётся — используется существующая append-only evidence.
|
|
85
|
+
Если C1 остаётся claimed, но writer lease после Human boundary отсутствует, `next` вместе с
|
|
86
|
+
`task run` рекламирует `task writer-credential-replace`; сначала восстановите credential exact
|
|
87
|
+
claimant-актора, затем запускайте Step.
|
|
88
|
+
|
|
89
|
+
Этот путь не работает для `split-required`, другого attempt ordinal, семантически изменённого
|
|
90
|
+
Plan, отсутствующего attempt-3 continue, разорванной rebind/audit chain, незарегистрированного или
|
|
91
|
+
product HEAD commit, повреждённой chronology, active/stale lease на Human prepare/apply boundary
|
|
92
|
+
или незавершённой Task transaction.
|
|
93
|
+
Delegated approval для самого stop override отсутствует; delegation относится только к обычному
|
|
94
|
+
context refresh после уже подтверждённого Human override.
|
|
79
95
|
|
|
80
96
|
## 1. Подготовьте отдельный чат обновления
|
|
81
97
|
|
|
@@ -1,99 +1,97 @@
|
|
|
1
|
-
# V2 beta.12.
|
|
1
|
+
# V2 beta.12.3 Validation Report
|
|
2
2
|
|
|
3
|
-
Release candidate `2.0.0-beta.12.
|
|
3
|
+
Release candidate `2.0.0-beta.12.3` was validated on 2026-08-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 `
|
|
9
|
-
skips, cancellations, or todos.
|
|
10
|
-
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
`
|
|
18
|
-
|
|
9
|
+
- The final `npm run validate` passed typecheck and `326/326` sequential tests with no failures,
|
|
10
|
+
skips, cancellations, or todos in 1,360,950.996834 ms.
|
|
11
|
+
- The suite includes the new beta.12.3 two-update stop-override replay, the beta.12.2 direct-rebind
|
|
12
|
+
replay, unchanged-Plan stop override, five-cycle continuable remediation, generic stale-decision
|
|
13
|
+
recovery, credential safety, dependency provenance, Signal T04, P01-A, P04-A, transaction,
|
|
14
|
+
observer-purity, and transition-model regressions.
|
|
15
|
+
- `npm run pack:check` produced `codex-workflow-v2-2.0.0-beta.12.3.tgz` with 270 files,
|
|
16
|
+
package size 976.2 kB, unpacked size 3.9 MB, and SHA-1
|
|
17
|
+
`ceb2ef4c7b076b9ae01a09127d05b867d101bfb1`. The sandboxed npm-cache attempt failed with
|
|
18
|
+
`EPERM`; the authorized retry using the same source passed.
|
|
19
|
+
- `npm run smoke:downstream` packed and installed the beta.12.3 tarball in an empty temporary
|
|
20
|
+
project and passed the packaged handshake. The sandboxed attempt could not resolve the npm
|
|
21
|
+
registry for AJV; the authorized 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
|
-
`
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
and
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
-
|
|
49
|
-
|
|
50
|
-
-
|
|
51
|
-
|
|
52
|
-
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
-
|
|
58
|
-
|
|
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.3 npm run release:check`, and
|
|
24
|
+
`git diff --check` passed. The bundled gateway cachebuster is
|
|
25
|
+
`0.1.0+codex.20260827231109`.
|
|
26
|
+
|
|
27
|
+
## beta.12.3 chained compatibility transition
|
|
28
|
+
|
|
29
|
+
- beta.12.2 handled one direct Knowledge-only Plan rebind after an already applied beta.11
|
|
30
|
+
attempt-four stop override. It did not handle the second normal update/context-refresh cycle
|
|
31
|
+
created while installing beta.12.2 into Signal. That limitation caused the next blocker.
|
|
32
|
+
- Core now accepts an arbitrary contiguous append-only chain from the override-bound Plan to the
|
|
33
|
+
current Plan only when every adjacent Plan differs solely by Knowledge Map binding and every
|
|
34
|
+
adjacent Plan Risk Audit is an exact mechanical rebound. Rebind endpoints, delegated authority,
|
|
35
|
+
active grants, and event chronology must align at every hop.
|
|
36
|
+
- Git HEAD may advance across that chain only through registered dependency-provenance recovery
|
|
37
|
+
records. Every intervening commit must be a single-parent commit in the exact ancestor chain,
|
|
38
|
+
must be listed in Workflow system commits, must have exactly one matching Task recovery record,
|
|
39
|
+
and may change only `package.json` and `package-lock.json` for `codex-workflow-v2`.
|
|
40
|
+
- Fresh `next` returns `task run` with validated stop-override context-rebind evidence only after
|
|
41
|
+
all of those checks pass. A lost writer credential still routes through the existing exact
|
|
42
|
+
claimant `task writer-credential-replace` recovery. The fourth and later attempts remain
|
|
43
|
+
corrective and use the normal strict-review cycle.
|
|
44
|
+
- The route is append-only: it rewrites no stop, override, Plan, audit, authorization, dependency,
|
|
45
|
+
or recovery evidence. Semantic Plan drift, missing or forked history, product-file changes,
|
|
46
|
+
mismatched recovery metadata, stale delegation, malformed chronology, or sidecar corruption
|
|
47
|
+
fails closed and routes to diagnostics.
|
|
48
|
+
|
|
49
|
+
## Exact Signal compatibility proof
|
|
50
|
+
|
|
51
|
+
- A read-only invocation of the final built beta.12.3 validator inspected the current Workflow
|
|
52
|
+
state for Signal Task `TASK-01M0WXJAD4GZGVNRJ284ND95C6`, failed Step
|
|
53
|
+
`STEP-001-PROCESSING-MIGRATIONS`, and repository
|
|
54
|
+
`/Users/home-pc/htdocs/projects/signal_v4`.
|
|
55
|
+
- The validator accepted Task revision 21, the applied stop override
|
|
56
|
+
`SOO-01M127VPRC5M5F3E3K7PS4MFJY`, three Knowledge rebinds in total, the two rebinds after the
|
|
57
|
+
stop boundary, and two registered dependency-provenance recovery records. The current Plan hash
|
|
58
|
+
was `8ab0b643cbdcb045776ede231262fdaf8bd0968c2c5fe8967142bfcb8171ae79` and the stable semantic
|
|
59
|
+
Plan hash was `b99a34ec86ad6340c1abd1b5e78e10c7996aa774ef58eeb9dacbcea72fd2698f`.
|
|
60
|
+
- This proves that the exact state which beta.12.2 rejected is accepted by beta.12.3 without
|
|
61
|
+
changing Signal. It does not prove future product implementation or review success.
|
|
65
62
|
|
|
66
63
|
## Packaged and transcript evidence
|
|
67
64
|
|
|
68
|
-
- Downstream smoke validated package resolution and the packaged beta.12.
|
|
69
|
-
disposable installation.
|
|
70
|
-
- A trusted
|
|
71
|
-
and
|
|
72
|
-
-
|
|
73
|
-
|
|
74
|
-
`3a12f6e604bef2fe5335c6fc244b52690b06925fb50b8fd8a20acefb672ca46d`; the temporary log remains
|
|
65
|
+
- Downstream smoke validated exact package resolution and the packaged beta.12.3 handshake in a
|
|
66
|
+
clean disposable installation.
|
|
67
|
+
- A temporary trusted-harness transcript recorded the final built `gateway handshake` invocation
|
|
68
|
+
and its successful beta.12.3 result. `node scripts/validate-lifecycle-transcript.mjs` accepted
|
|
69
|
+
both post-provenance events. The log SHA-256 is
|
|
70
|
+
`7d65fd9fc6301205094284c1fd4236665dff1876d11e01bbc63e35e3a4e3c34b`; the temporary log remains
|
|
75
71
|
outside the repository.
|
|
76
72
|
|
|
77
|
-
|
|
78
|
-
claim a
|
|
79
|
-
|
|
73
|
+
The transcript proves release-time invocation/result discipline for the final CLI. It does not
|
|
74
|
+
claim a product Milestone replay or lifecycle mutation. Compatibility is covered by the exact
|
|
75
|
+
Signal read-only proof and deterministic integration tests above.
|
|
80
76
|
|
|
81
|
-
## beta.12.
|
|
77
|
+
## beta.12.3 PDF release documentation evidence
|
|
82
78
|
|
|
83
79
|
- Three tracked Russian PDFs were deterministically regenerated from reviewable Markdown sources
|
|
84
|
-
under `docs/pdf/sources
|
|
85
|
-
- All 25 pages were rendered and visually inspected: architecture is 7 pages, the delegated
|
|
80
|
+
under `docs/pdf/sources`; `npm run docs:pdf:check` reported an empty stale set.
|
|
81
|
+
- All 25 final pages were rendered and visually inspected: architecture is 7 pages, the delegated
|
|
86
82
|
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.
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
##
|
|
93
|
-
|
|
94
|
-
-
|
|
95
|
-
|
|
96
|
-
- Structural replacement remains intentionally disabled
|
|
97
|
-
|
|
98
|
-
-
|
|
99
|
-
|
|
83
|
+
overlapping, or orphaned final page was found.
|
|
84
|
+
- Visible titles, headers, package commands, and release gates identify beta.12.3. The documents
|
|
85
|
+
distinguish a direct rebind from the new chained compatibility route and state its fail-closed
|
|
86
|
+
dependency-provenance boundary.
|
|
87
|
+
|
|
88
|
+
## Existing boundaries and non-claims
|
|
89
|
+
|
|
90
|
+
- The generic stale `continue-fix` recovery predicate is unchanged. The compatibility route does
|
|
91
|
+
not relax semantic stop reversal or authorize arbitrary Git history.
|
|
92
|
+
- Structural replacement remains intentionally disabled. beta.12.3 does not implement P04-B,
|
|
93
|
+
topology rewiring, completed-Step adoption, or a wider delegation surface.
|
|
94
|
+
- Validation performed no Signal mutation, npm publication, Git tag, remote push, or local plugin
|
|
95
|
+
reinstall. Tagging and push are separate release actions after these gates.
|
|
96
|
+
- A consumer must install the published exact beta.12.3 package, update/reinstall the bundled
|
|
97
|
+
gateway, and use fresh project-local `handshake -> doctor -> status -> next` navigation.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "codex-workflow-gateway",
|
|
3
|
-
"version": "0.1.0+codex.
|
|
3
|
+
"version": "0.1.0+codex.20260827231109",
|
|
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.
|
|
3
|
+
## beta.12.3 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,13 @@
|
|
|
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 or more ordinary delegated `task context-refresh` transitions
|
|
24
|
+
may rebind the Plan before attempt four. Fresh `next` returns `task run` only when Core validates
|
|
25
|
+
the complete contiguous Plan/rebind/audit chain, mechanical equivalence at every hop, shared
|
|
26
|
+
delegated authority, and append-only chronology. HEAD may differ from the override only when every
|
|
27
|
+
intervening commit is an exact registered dependency-provenance recovery changing only
|
|
28
|
+
`package.json` and `package-lock.json`. If C1 remains claimed but the lease was lost at the Human
|
|
29
|
+
boundary, use only the simultaneously advertised `task writer-credential-replace` action.
|
|
23
30
|
- `milestone progress --id <MS-ID>` is a read-only projection and the sole source for Coordinator
|
|
24
31
|
progress tables. It preserves cancelled/replacement Tasks as distinct membership rows.
|
|
25
32
|
- `scripts/chat-registry.mjs` atomically allocates project-monotonic `#NNN`, builds all six title
|
|
@@ -57,6 +64,8 @@ Current capability set:
|
|
|
57
64
|
- `bounded-dependency-provenance-recovery-v1`
|
|
58
65
|
- `task-local-dependency-provenance-recovery-v1`
|
|
59
66
|
- `legacy-stop-escalate-override-v1`
|
|
67
|
+
- `stop-override-context-rebind-v1`
|
|
68
|
+
- `stop-override-context-rebind-chain-v1`
|
|
60
69
|
- `retained-reviewed-history-recovery-v1`
|
|
61
70
|
- `milestone-progress-projection-v1`
|
|
62
71
|
- `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.
|
|
112
|
+
When beta.12.3 `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,17 @@ 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 or more ordinary delegated `task context-refresh` transitions may
|
|
124
|
+
change only the Plan's canonical Knowledge Map binding. A package update may also advance HEAD, but
|
|
125
|
+
only through the exact `update dependency-provenance-recover` route advertised by fresh `next`.
|
|
126
|
+
Continue only when fresh `next` advertises `task run` with
|
|
127
|
+
`stopOverrideContextRebind.state=validated` for the exact override and stop decision. Core verifies
|
|
128
|
+
the complete source-to-current Plan/audit/rebind chain and, when HEAD changed, every intervening Git
|
|
129
|
+
commit as registered dependency-only provenance. If C1 remains claimed but the lease was lost at
|
|
130
|
+
the Human boundary, first use the simultaneously advertised `task writer-credential-replace`
|
|
131
|
+
action for the exact claimant. A doctor route, semantic Plan drift, an unregistered or non-dependency
|
|
132
|
+
commit, missing delegated authority, a broken chain, or damaged chronology is a hard stop.
|
|
133
|
+
|
|
123
134
|
When `next` returns `milestone initial-assembly`, execution is unavailable. Follow only the
|
|
124
135
|
advertised `linked-task-assembly.commands` (`discovery start` and `discovery materialize`) until all
|
|
125
136
|
intended linked Tasks exist. The closing `milestone plan-set` option appears only after at least one
|