codex-workflow-v2 2.0.0-beta.12 → 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.
- package/README.md +5 -3
- package/dist/src/alpha6/remediation.d.ts +8 -3
- package/dist/src/alpha6/remediation.js +374 -9
- 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 +144 -26
- package/dist/src/alpha7/corrective-recovery.js.map +1 -1
- package/dist/src/cli.js +19 -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 +5 -1
- package/dist/src/workflow.js +158 -19
- package/dist/src/workflow.js.map +1 -1
- package/docs/autonomy-guardrails.md +35 -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 +23 -5
- package/docs/pdf/sources/codex-workflow-v2-chat-only-guide-ru.md +17 -8
- package/docs/pdf/sources/codex-workflow-v2-technical-reference-ru.md +32 -14
- package/docs/release.md +9 -1
- package/docs/updating-existing-project.md +38 -0
- package/docs/validation-report.md +84 -80
- package/package.json +1 -1
- package/plugins/codex-workflow-gateway/.codex-plugin/plugin.json +1 -1
- package/plugins/codex-workflow-gateway/references/protocol.md +21 -1
- package/plugins/codex-workflow-gateway/skills/codex-workflow-gateway/SKILL.md +24 -0
- package/schemas/stop-escalate-override-event.schema.json +45 -0
|
@@ -74,7 +74,41 @@ 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`, 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.
|
|
78
112
|
|
|
79
113
|
### First-failure Plan-integrity recovery
|
|
80
114
|
|
|
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.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
|
|
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 гарантирует
|
|
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 не гарантирует
|
|
33
|
+
## 1.2. Что beta.12.2 не гарантирует
|
|
34
34
|
|
|
35
35
|
- правильность продуктовой идеи или автоматически выбранного provider Task;
|
|
36
36
|
- semantic sufficiency Plan, если точные факты нельзя доказать поддерживаемым analyzer;
|
|
@@ -218,6 +218,24 @@ 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
|
+
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
|
+
|
|
235
|
+
Dependency-provenance recovery beta.12.1 также сохраняет ранее закоммиченные Task-local поля
|
|
236
|
+
manifest/lock, даже если base их не содержит. Candidate остаётся dependency-only: после удаления
|
|
237
|
+
только Workflow dependency parent и HEAD обязаны совпасть по всем product-owned полям.
|
|
238
|
+
|
|
221
239
|
beta.11 `task plan-integrity-recover` существует для одного первого checks-failed legacy/late case:
|
|
222
240
|
отсутствует exact root npm script и текущий Step не может изменить package.json. Recovery не меняет
|
|
223
241
|
worktree или Plan и не создаёт synthetic second failure; он записывает bound `replan-required`.
|
|
@@ -227,7 +245,7 @@ worktree или Plan и не создаёт synthetic second failure; он за
|
|
|
227
245
|
# 10. Operational checklist
|
|
228
246
|
|
|
229
247
|
- exact package version установлен, bundled gateway соответствует release и переустановлен;
|
|
230
|
-
- handshake подтверждает protocol 2, state schema 2 и beta.12 capabilities;
|
|
248
|
+
- handshake подтверждает protocol 2, state schema 2 и beta.12.2 capabilities;
|
|
231
249
|
- каждый mutation следует свежему `status -> next` и exact option contract;
|
|
232
250
|
- semantic unknowns и human gates не маскируются delegation;
|
|
233
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 путь от нового 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
|
|
7
|
+
subject: Практическое руководство по delegated Discovery и Milestone в Workflow V2 beta.12.2
|
|
8
8
|
---
|
|
9
9
|
|
|
10
|
-
# 1. Рабочая модель beta.12
|
|
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 как точную 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 должен сообщать `packageVersion=2.0.0-beta.12`, `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 в 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.
|
|
@@ -297,13 +297,21 @@ 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
|
|
|
304
305
|
Plan-integrity recovery не редактирует Plan, package.json или worktree и не синтезирует второй failure.
|
|
305
306
|
P04-A не переносит completed Steps и не rewires dependencies при split.
|
|
306
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
|
+
|
|
307
315
|
# 12. Milestone final acceptance
|
|
308
316
|
|
|
309
317
|
После merge всех required Tasks Coordinator проверяет clean base HEAD и выполняет рекламируемую
|
|
@@ -321,7 +329,7 @@ Task/project DGR. `dependencyBinding` для standalone handoff равен null.
|
|
|
321
329
|
|
|
322
330
|
# 14. Итоговый checklist пользователя
|
|
323
331
|
|
|
324
|
-
- beta.12 exact package и новый bundled gateway установлены;
|
|
332
|
+
- beta.12.2 exact package и новый bundled gateway установлены;
|
|
325
333
|
- новый Coordinator chat не является fork старого Milestone;
|
|
326
334
|
- bootstrap DGR, если нужен, выдан отдельным exact human confirmation;
|
|
327
335
|
- Discovery не materialized при blocking unknowns;
|
|
@@ -330,5 +338,6 @@ Task/project DGR. `dependencyBinding` для standalone handoff равен null.
|
|
|
330
338
|
- Coordinator сам создаёт и supervises Task/Reviewer chats;
|
|
331
339
|
- credentials не появились в prompts, reports или files;
|
|
332
340
|
- каждый transition пришёл из fresh `next`;
|
|
341
|
+
- beta.11 stop override, если рекламировался, прошёл отдельные prepare и user-confirmed apply без journal rewrite;
|
|
333
342
|
- split-required остановился без replacement mutations;
|
|
334
343
|
- 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.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
|
|
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 | Значение |
|
|
16
|
+
| Параметр beta.12.2 | Значение |
|
|
17
17
|
|---|---|
|
|
18
|
-
| npm package | `codex-workflow-v2@2.0.0-beta.12` |
|
|
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 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 | dependency provenance, plan integrity, remediation mode, 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 или соседней
|
|
@@ -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,26 @@ 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.2 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
|
+
|
|
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
|
+
|
|
318
339
|
# 14. P04-A structural replacement boundary
|
|
319
340
|
|
|
320
341
|
Command shape `task replacement-materialize` retained только для compatibility diagnostics. Любая попытка
|
|
@@ -372,7 +393,7 @@ Graph является навигационным индексом, не Project
|
|
|
372
393
|
После каждой successful mutation обязателен sequential `status`, затем fresh `next`. Failed status/next
|
|
373
394
|
не разрешает direct mutation. Syntax help read-only и не заменяет navigation authority.
|
|
374
395
|
|
|
375
|
-
# 18. Public command surface beta.12
|
|
396
|
+
# 18. Public command surface beta.12.2
|
|
376
397
|
|
|
377
398
|
| Область | Actions |
|
|
378
399
|
|---|---|
|
|
@@ -387,7 +408,7 @@ Graph является навигационным индексом, не Project
|
|
|
387
408
|
| Task execution | `start`, `run`, `step-complete`, `submit`, `result-set`, `accept`, `sync-base`, `merge`, `merge-confirm` |
|
|
388
409
|
| C1 | `handoff[-prepare/-replace/-show]`, `claim`, `writer-credential-replace`, `handback[-create]` |
|
|
389
410
|
| Review | review/step-review packet, launch, sealed record и record actions |
|
|
390
|
-
| Corrective | decision/recovery, plan-integrity, remediation-mode, yield и corrective-replan actions |
|
|
411
|
+
| Corrective | decision/recovery, plan-integrity, remediation-mode, stop-override prepare/apply, yield и corrective-replan actions |
|
|
391
412
|
| Replacement | `replacement-materialize` retained, но всегда disabled в P04-A |
|
|
392
413
|
|
|
393
414
|
Exact options берутся из fresh `next`; command help используется только когда
|
|
@@ -399,7 +420,7 @@ Exact options берутся из fresh `next`; command help используе
|
|
|
399
420
|
running Step и active/stale writer lease. External runner допустим только в документированной rescue
|
|
400
421
|
compatibility форме.
|
|
401
422
|
|
|
402
|
-
Перед beta.12 tag release repository выполняет:
|
|
423
|
+
Перед beta.12.2 tag release repository выполняет:
|
|
403
424
|
|
|
404
425
|
1. `npm ci`;
|
|
405
426
|
2. `npm run validate`;
|
|
@@ -409,6 +430,3 @@ compatibility форме.
|
|
|
409
430
|
6. `npm run docs:pdf:check`;
|
|
410
431
|
7. `npm run release:check` с exact release tag binding;
|
|
411
432
|
8. validation append-only real-agent lifecycle log.
|
|
412
|
-
|
|
413
|
-
PDF source и binaries должны совпасть детерминированно. Tag имеет форму `v<package-version>`.
|
|
414
|
-
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, 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;
|
|
@@ -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,12 @@ 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.
|
|
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.
|
|
55
63
|
|
|
56
64
|
The separate lifecycle transcript validator fails if the real-agent log contains a mutation that
|
|
57
65
|
bypasses failed `status`/`next`, an unadvertised or failed mutation, an unresolved syntax-only
|
|
@@ -52,6 +52,44 @@ 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. 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.
|
|
92
|
+
|
|
55
93
|
## 1. Подготовьте отдельный чат обновления
|
|
56
94
|
|
|
57
95
|
Не обновляйте пакет во время выполняющегося Worker Step. Дождитесь завершения текущего ответа
|
|
@@ -1,98 +1,102 @@
|
|
|
1
|
-
# V2 beta.12 Validation Report
|
|
1
|
+
# V2 beta.12.2 Validation Report
|
|
2
2
|
|
|
3
|
-
Release candidate `2.0.0-beta.12` was validated
|
|
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 `
|
|
9
|
-
cancellations, or todos
|
|
10
|
-
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
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,
|
|
16
|
+
and unpacked size 3.8 MB. The sandboxed npm-cache attempt failed with `EPERM`; the authorized
|
|
17
|
+
retry using the same source passed.
|
|
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.
|
|
22
|
+
- `npm run plugin:check`, the official Codex plugin validator, the gateway skill validator,
|
|
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`.
|
|
18
27
|
|
|
19
|
-
|
|
20
|
-
scenario began: a historical read-only snapshot truthfully targeted beta.11, while its replay
|
|
21
|
-
assertion incorrectly required the current package version. The fix keeps the snapshot immutable at
|
|
22
|
-
`2.0.0-beta.11`, binds the synthetic replay dependency to current `PACKAGE_VERSION`, and makes the
|
|
23
|
-
release check verify both identities separately. The focused suite then passed `5/5`, and the final
|
|
24
|
-
complete suite passed `321/321`.
|
|
28
|
+
## beta.12.2 stop-override/context-rebind compatibility
|
|
25
29
|
|
|
26
|
-
|
|
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`.
|
|
27
49
|
|
|
28
|
-
|
|
29
|
-
consecutive failed review cycles. Attempts 1–2 are ordinary; attempts 3+ are corrective
|
|
30
|
-
diagnostics but remain executable and review-gated.
|
|
31
|
-
- Attempt count no longer selects a terminal lifecycle transition. It is retained as diagnostic
|
|
32
|
-
history only; explicit `split-required` and `stop-escalate` remain the stop authorities.
|
|
33
|
-
- A failed review defaults to `route=fix` (or an omitted route) and continues the same Task/Step.
|
|
34
|
-
`route=replan` is valid only with exact `planClause`, `whyFixCannotFit`, and `minimalPlanChange`
|
|
35
|
-
evidence.
|
|
36
|
-
- Replan returns to ordinary `task plan-set`; objective, requirements, and acceptance remain
|
|
37
|
-
immutable, while only implementation Steps may change. The replacement Plan still passes the
|
|
38
|
-
normal Plan Risk Audit and execution-authorization gates.
|
|
39
|
-
- Failed-review routing evidence is hash-chained in the public Step Review event schema. Drift,
|
|
40
|
-
malformed evidence, unrelated Knowledge changes, forged actors, and corrupt chains remain
|
|
41
|
-
fail-closed.
|
|
50
|
+
## Existing compatibility and lifecycle regressions retained
|
|
42
51
|
|
|
43
|
-
|
|
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.
|
|
44
66
|
|
|
45
|
-
|
|
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.
|
|
50
|
-
- The exact Signal T04 revision-26 fixture still proves that only a verified historical Step Review
|
|
51
|
-
can retain its completion commit across corrective replan. Pending review is never trusted, and a
|
|
52
|
-
corrupt strict-review hash chain is rejected.
|
|
53
|
-
- Bounded beta.11 `task plan-integrity-recover` compatibility remains green for its exact first
|
|
54
|
-
ordinary checks-failed case. It does not edit the Plan, package manifest, or worktree and still
|
|
55
|
-
fails closed for writable-manifest scope, unrelated dirty files, binding drift, or tampering.
|
|
56
|
-
- Read-only Milestone progress still preserves `T03 cancelled → T08 replacement`; project-monotonic
|
|
57
|
-
chat allocation and deterministic long-title fallback/readback remain green.
|
|
67
|
+
## Packaged and transcript evidence
|
|
58
68
|
|
|
59
|
-
|
|
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.
|
|
74
|
+
- `node scripts/validate-lifecycle-transcript.mjs` accepted all `8/8` post-provenance events with no
|
|
75
|
+
failed invocation, mutation, or missing terminal result. The log SHA-256 is
|
|
76
|
+
`954a1c97f455ae3c8e02211b6fb63982b30cbfa1c40d92ce712f4a208d0e3a8f`; the temporary log remains
|
|
77
|
+
outside the repository.
|
|
60
78
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
- The trusted harness invoked the real packaged CLI sequentially for handshake, doctor, direct first
|
|
65
|
-
Discovery bootstrap, `status`, and fresh `next`. The resulting navigation advertised
|
|
66
|
-
`project-memory scan`.
|
|
67
|
-
- `node scripts/validate-lifecycle-transcript.mjs` accepted all `10/10` post-provenance events with
|
|
68
|
-
no failed invocation, unadvertised mutation, or missing checkpoint. The semantic log SHA-256 is
|
|
69
|
-
`ab4ef10ad00e2fd9f54810ec5d0bbfb4106e1b211b3a185869d8a46787a5062d`; the raw packaged-result
|
|
70
|
-
log SHA-256 is `e693a839604c7ba2055f99e43c49c5ab63ac0cf6e790adc901db5dd8eb0ffae9`.
|
|
71
|
-
- Credential-marker inspection found no writer, claim, delegation, bearer, or secret material, and
|
|
72
|
-
the disposable product checkout remained clean. Logs and external workflow state stayed outside
|
|
73
|
-
this repository.
|
|
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.
|
|
74
82
|
|
|
75
|
-
|
|
76
|
-
post-mutation navigation discipline. It does not claim a second full product Milestone replay;
|
|
77
|
-
deeper remediation, P01-A, and P04-A behavior is covered by deterministic and integration tests.
|
|
78
|
-
|
|
79
|
-
## beta.12 PDF release documentation evidence
|
|
83
|
+
## beta.12.2 PDF release documentation evidence
|
|
80
84
|
|
|
81
85
|
- Three tracked Russian PDFs were deterministically regenerated from reviewable Markdown sources
|
|
82
|
-
under `docs/pdf/sources
|
|
83
|
-
- All
|
|
84
|
-
chat-only guide is 8 pages, and the technical reference is 10 pages. No blank, clipped,
|
|
85
|
-
page was found.
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
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
|
|
88
|
+
chat-only guide is 8 pages, and the technical reference is 10 pages. No blank, clipped,
|
|
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.
|
|
90
94
|
|
|
91
95
|
## Not claimed
|
|
92
96
|
|
|
93
|
-
- Validation itself performs no npm publication, Git tag, push, Signal
|
|
94
|
-
plugin reinstall. Tagging and remote push are separate actions after
|
|
95
|
-
-
|
|
96
|
-
|
|
97
|
-
- A real project must install the published exact beta.12 package, update/reinstall the bundled
|
|
98
|
-
gateway, and follow fresh project-local `handshake
|
|
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
|
|
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-gateway",
|
|
3
|
-
"version": "0.1.0+codex.
|
|
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"
|