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.
- package/README.md +4 -3
- package/dist/src/alpha6/remediation.d.ts +6 -1
- package/dist/src/alpha6/remediation.js +356 -7
- package/dist/src/alpha6/remediation.js.map +1 -1
- package/dist/src/cli.js +18 -0
- package/dist/src/cli.js.map +1 -1
- package/dist/src/contracts.d.ts +42 -0
- package/dist/src/dependency-provenance.js +5 -3
- package/dist/src/dependency-provenance.js.map +1 -1
- package/dist/src/version.d.ts +1 -1
- package/dist/src/version.js +1 -1
- package/dist/src/version.js.map +1 -1
- package/dist/src/workflow.d.ts +4 -1
- package/dist/src/workflow.js +113 -13
- package/dist/src/workflow.js.map +1 -1
- package/docs/autonomy-guardrails.md +22 -1
- 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 -5
- package/docs/pdf/sources/codex-workflow-v2-chat-only-guide-ru.md +10 -8
- package/docs/pdf/sources/codex-workflow-v2-technical-reference-ru.md +25 -11
- package/docs/release.md +6 -1
- package/docs/updating-existing-project.md +25 -0
- package/docs/validation-report.md +82 -81
- package/package.json +1 -1
- package/plugins/codex-workflow-gateway/.codex-plugin/plugin.json +1 -1
- package/plugins/codex-workflow-gateway/references/protocol.md +15 -1
- package/plugins/codex-workflow-gateway/skills/codex-workflow-gateway/SKILL.md +17 -0
- 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
|
|
|
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.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
|
-
|
|
|
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
|
-
|
|
|
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 `
|
|
9
|
-
cancellations, or todos.
|
|
10
|
-
-
|
|
11
|
-
|
|
12
|
-
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
- A
|
|
34
|
-
|
|
35
|
-
|
|
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
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
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
|
|
84
|
-
chat-only guide is 8 pages, and the technical reference is 10 pages. No blank, clipped,
|
|
85
|
-
page was found.
|
|
86
|
-
- Visible titles, headers, package commands, and release gates identify beta.12. The content
|
|
87
|
-
continuable remediation
|
|
88
|
-
|
|
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
|
|
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
|
|
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-gateway",
|
|
3
|
-
"version": "0.1.0+codex.
|
|
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
|
|
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
|