codex-workflow-v2 2.0.0-beta.12.3 → 2.0.0-beta.12.5
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 +18 -4
- package/dist/src/alpha6/downstream-proof.d.ts +29 -0
- package/dist/src/alpha6/downstream-proof.js +249 -0
- package/dist/src/alpha6/downstream-proof.js.map +1 -0
- package/dist/src/alpha7/corrective-recovery.js +37 -15
- package/dist/src/alpha7/corrective-recovery.js.map +1 -1
- package/dist/src/cli.js +10 -0
- package/dist/src/cli.js.map +1 -1
- package/dist/src/contracts.d.ts +19 -0
- package/dist/src/git.js +1 -0
- package/dist/src/git.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 +5 -0
- package/dist/src/workflow.js +152 -3
- package/dist/src/workflow.js.map +1 -1
- package/docs/autonomy-guardrails.md +25 -1
- package/docs/decisions.md +6 -0
- package/docs/development-flow.md +12 -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 +26 -7
- package/docs/pdf/sources/codex-workflow-v2-chat-only-guide-ru.md +24 -8
- package/docs/pdf/sources/codex-workflow-v2-technical-reference-ru.md +35 -11
- package/docs/release.md +9 -1
- package/docs/updating-existing-project.md +6 -1
- 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 +20 -1
- package/plugins/codex-workflow-gateway/skills/codex-workflow-gateway/SKILL.md +30 -1
- package/schemas/downstream-proof-invalidation-event.schema.json +70 -0
- package/schemas/task.schema.json +5 -0
|
@@ -97,7 +97,7 @@ different attempt ordinal, missing attempt-3 continue authority, or an agent-aut
|
|
|
97
97
|
outside the beta.11 policy shape. After a valid append, attempt four returns to the normal `task run`
|
|
98
98
|
then strict-review cycle; review quality and all later corrective decisions remain unchanged.
|
|
99
99
|
|
|
100
|
-
Beta.12.
|
|
100
|
+
Beta.12.4 also handles the case where the accepted third attempt changed approved Project Knowledge
|
|
101
101
|
and package self-updates added later refreshes: the already-applied override may be followed by one
|
|
102
102
|
or more ordinary delegated `task context-refresh` transitions before attempt four starts. A fresh
|
|
103
103
|
`next` resumes `task run` only when Core can prove all of the following together: the same exact
|
|
@@ -111,6 +111,14 @@ from existing append-only evidence, so this route does not create a second recov
|
|
|
111
111
|
Missing evidence, semantic Plan change, an unregistered/product commit, a broken chain, or damaged
|
|
112
112
|
chronology routes to `doctor` rather than weakening the generic two-attempt corrective recovery gate.
|
|
113
113
|
|
|
114
|
+
If fresh navigation performs the final content refresh before the matching dependency-provenance
|
|
115
|
+
recovery, that later administrative recovery may advance the Task revision without invalidating the
|
|
116
|
+
mechanical audit. Core accepts the revision only when the exact count of post-audit recovery records
|
|
117
|
+
fully explains the difference: each record must belong to the already verified single-parent Git
|
|
118
|
+
chain, remain ordered, bind a Workflow system commit, and preserve the exact two-file dependency
|
|
119
|
+
diff. A bare greater revision, unrelated Task write, duplicate record, damaged parent, product
|
|
120
|
+
commit, or unverified recovery remains blocked.
|
|
121
|
+
|
|
114
122
|
### First-failure Plan-integrity recovery
|
|
115
123
|
|
|
116
124
|
A mechanically impossible Plan check must not consume the second ordinary remediation attempt
|
|
@@ -133,6 +141,22 @@ validation, Risk Audit, Human confirmation, journaled execution, readback, and r
|
|
|
133
141
|
authorization. Other check failures use the normal continuable remediation route; they do not
|
|
134
142
|
receive the narrow Plan-integrity shortcut, but attempt count alone never stops them.
|
|
135
143
|
|
|
144
|
+
### Downstream-proof predecessor recovery
|
|
145
|
+
|
|
146
|
+
Core prevents `task step-complete` when the active proof Step has dirty files outside its own
|
|
147
|
+
`allowedWrites`. A bounded recovery is advertised only when every such file belongs to a completed
|
|
148
|
+
transitive predecessor, the branch and registered Git history are exact, the active Step has no
|
|
149
|
+
completion evidence, and no unrelated path exists. The atomic transition preserves product files
|
|
150
|
+
and HEAD, moves invalidated predecessor commits into historical `invalidatedStepCommits`, clears stale Step
|
|
151
|
+
evidence, supersedes execution authority, yields C1, and routes the same Task to ordinary `plan-set`.
|
|
152
|
+
The route grants no authority to change Task objective, requirements, acceptance, or Milestone
|
|
153
|
+
topology.
|
|
154
|
+
|
|
155
|
+
Docker permission diagnostics are classified before consuming retry authority. Sandbox `EPERM` or
|
|
156
|
+
permission denial gets one exact escalated rerun of the health probe/Plan check. It is not an infra
|
|
157
|
+
failure and cannot authorize a Docker Desktop restart or image substitution. Only an escalated
|
|
158
|
+
invocation that reaches Docker and proves daemon unavailability establishes that failure class.
|
|
159
|
+
|
|
136
160
|
## Atomic context refresh
|
|
137
161
|
|
|
138
162
|
When `next` returns top-level `action: task context-refresh` with an exact option, a
|
package/docs/decisions.md
CHANGED
|
@@ -105,3 +105,9 @@ This document closes the requirement gaps identified during the V2 design review
|
|
|
105
105
|
`package.json` plus `package-lock.json`. Semantic Plan drift, product commits, missing
|
|
106
106
|
provenance, or broken chronology still fails closed; generic corrective-decision recovery
|
|
107
107
|
remains direct and is not widened.
|
|
108
|
+
21. **Administrative revision continuity is evidence-accounted.** A dependency-provenance
|
|
109
|
+
recovery recorded after the current mechanical Plan Risk Audit may explain exactly one later
|
|
110
|
+
Task revision without invalidating an already applied stop override. Core counts only ordered
|
|
111
|
+
recovery records from the independently verified override-to-authorization Git chain and
|
|
112
|
+
requires the resulting expected revision to equal the current Task revision. Unexplained
|
|
113
|
+
revisions and damaged provenance remain blocked; this is not a general `revision >=` rule.
|
package/docs/development-flow.md
CHANGED
|
@@ -99,6 +99,18 @@ the exact evidence-bound early `replan-required` posture; it never edits source,
|
|
|
99
99
|
Continue through the advertised corrective yield and corrective replan rather than calling
|
|
100
100
|
`task run` again.
|
|
101
101
|
|
|
102
|
+
If a later proof Step leaves changes both in its own scope and in files owned by a completed
|
|
103
|
+
transitive predecessor, fresh `next` advertises `task downstream-proof-recover` instead of
|
|
104
|
+
`task step-complete`. The command preserves the dirty worktree and HEAD, append-only records the
|
|
105
|
+
invalidated predecessor completion, yields its C1 lease, and returns the same Task to `task plan-set`.
|
|
106
|
+
The replacement Plan must cover the unfinished remainder and pass a fresh Risk Audit and execution
|
|
107
|
+
authorization. Do not stash, reset, commit, or recreate the Task around this route.
|
|
108
|
+
|
|
109
|
+
A sandboxed Docker `EPERM`, `operation not permitted`, or `permission denied` result is not a failed
|
|
110
|
+
daemon check. Re-run the exact probe/check once with sandbox escalation without consuming a retry.
|
|
111
|
+
Restart Docker Desktop only with separate authorization after the escalated call reaches Docker and
|
|
112
|
+
proves the daemon unavailable.
|
|
113
|
+
|
|
102
114
|
Execution authorization and final acceptance use the human path by default. If the user has
|
|
103
115
|
previously issued an active delegation grant for the exact transition and scope, the named
|
|
104
116
|
delegate may perform that transition with `--delegation-grant`. The event keeps the delegate
|
|
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.5
|
|
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: 29 августа 2026
|
|
7
|
+
subject: Архитектура и границы Codex Workflow V2 beta.12.5
|
|
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.5 гарантирует
|
|
22
22
|
|
|
23
23
|
- exact project-local npm package и совместимый handshake до lifecycle действий;
|
|
24
24
|
- Discovery до materialization Task или Milestone;
|
|
@@ -29,8 +29,10 @@ Codex Workflow V2 - локальный state machine поверх Codex App, Git
|
|
|
29
29
|
- external-sealed Step/Task review в отдельных Codex tasks;
|
|
30
30
|
- state-bound human gates либо ранее выданные bounded delegation contracts;
|
|
31
31
|
- journaled recovery для составных переходов и fail-closed поведение при drift/corruption.
|
|
32
|
+
- bounded recovery, когда downstream proof требует изменить уже завершённый predecessor Step:
|
|
33
|
+
worktree и HEAD сохраняются, stale completion authority снимается, та же Task возвращается в planning.
|
|
32
34
|
|
|
33
|
-
## 1.2. Что beta.12.
|
|
35
|
+
## 1.2. Что beta.12.5 не гарантирует
|
|
34
36
|
|
|
35
37
|
- правильность продуктовой идеи или автоматически выбранного provider Task;
|
|
36
38
|
- semantic sufficiency Plan, если точные факты нельзя доказать поддерживаемым analyzer;
|
|
@@ -225,7 +227,7 @@ Beta.12.1 добавила одну append-only compatibility оговорку:
|
|
|
225
227
|
Plan, HEAD, lease, transaction или повреждённая chain блокируют переход. Попытка 4 снова проходит
|
|
226
228
|
обычный `task run` и новый strict review.
|
|
227
229
|
|
|
228
|
-
Beta.12.
|
|
230
|
+
Beta.12.4 сохраняет этот override при последовательности delegated `task context-refresh`, если
|
|
229
231
|
каждая версия Plan изменилась только в canonical Knowledge Map binding. Core проверяет весь
|
|
230
232
|
contiguous rebind/audit chain, mechanical equivalence каждого Plan Risk Audit, общую delegated
|
|
231
233
|
authority и корректную chronology. Git HEAD может продвинуться только через последовательность
|
|
@@ -234,6 +236,11 @@ package-lock.json. При утрате claimed writer lease использует
|
|
|
234
236
|
`task writer-credential-replace`; semantic Plan drift, разрыв chain или любой другой commit
|
|
235
237
|
возвращают `doctor`.
|
|
236
238
|
|
|
239
|
+
Если последний dependency-provenance recovery записан уже после mechanical audit, он объясняет
|
|
240
|
+
ровно один дополнительный Task revision. Core требует, чтобы audit boundary плюс количество
|
|
241
|
+
проверенных post-audit recoveries точно равнялись current revision; произвольное увеличение
|
|
242
|
+
revision, неверный parent или повреждённая provenance остаются blocker.
|
|
243
|
+
|
|
237
244
|
Dependency-provenance recovery beta.12.1 также сохраняет ранее закоммиченные Task-local поля
|
|
238
245
|
manifest/lock, даже если base их не содержит. Candidate остаётся dependency-only: после удаления
|
|
239
246
|
только Workflow dependency parent и HEAD обязаны совпасть по всем product-owned полям.
|
|
@@ -242,13 +249,25 @@ beta.11 `task plan-integrity-recover` существует для одного
|
|
|
242
249
|
отсутствует exact root npm script и текущий Step не может изменить package.json. Recovery не меняет
|
|
243
250
|
worktree или Plan и не создаёт synthetic second failure; он записывает bound `replan-required`.
|
|
244
251
|
|
|
252
|
+
beta.12.5 различает другой случай: активный downstream proof оставил изменения в собственном scope и
|
|
253
|
+
показал необходимость исправить completed transitive predecessor. Fresh `next` вместо невозможного
|
|
254
|
+
`step-complete` рекламирует `task downstream-proof-recover`. Atomic transition сохраняет dirty files и
|
|
255
|
+
HEAD, переносит predecessor commits в historical `invalidatedStepCommits`, очищает только stale Step evidence,
|
|
256
|
+
yield C1 и возвращает ту же Task к новому Plan/risk audit/authorization. Unrelated dirty file,
|
|
257
|
+
non-predecessor ownership, повреждённый journal или unregistered commit fail closed.
|
|
258
|
+
|
|
259
|
+
Docker socket `EPERM` в sandbox не является доказательством сломанного daemon. Gateway один раз
|
|
260
|
+
повторяет exact health probe или Plan check с sandbox escalation без расходования remediation attempt.
|
|
261
|
+
Restart Docker Desktop требует отдельного разрешения и допустим только после escalated daemon failure.
|
|
262
|
+
|
|
245
263
|
> **Стоп P04-A:** `split-required` возвращает `STRUCTURAL_REPLACEMENT_REQUIRED` и `structuralReplacementAvailable=false`. Нельзя вызывать retained replacement command, потреблять replacement Discovery или вручную менять topology. Продолжение возможно только после P04-B/P05.
|
|
246
264
|
|
|
247
265
|
# 10. Operational checklist
|
|
248
266
|
|
|
249
267
|
- exact package version установлен, bundled gateway соответствует release и переустановлен;
|
|
250
|
-
- handshake подтверждает protocol 2, state schema 2 и beta.12.
|
|
268
|
+
- handshake подтверждает protocol 2, state schema 2 и beta.12.5 capabilities;
|
|
251
269
|
- каждый mutation следует свежему `status -> next` и exact option contract;
|
|
270
|
+
- Docker permission failure сначала классифицируется как sandbox boundary, а не как infra retry;
|
|
252
271
|
- semantic unknowns и human gates не маскируются delegation;
|
|
253
272
|
- Task chats создаёт coordinator, credentials остаются только в памяти;
|
|
254
273
|
- dependencies, progress и review posture берутся из Core projections;
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: Codex Workflow V2: delegated chat-only guide
|
|
3
|
-
subtitle: Актуальный beta.12.
|
|
3
|
+
subtitle: Актуальный beta.12.5 путь от нового 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: 29 августа 2026
|
|
7
|
+
subject: Практическое руководство по delegated Discovery и Milestone в Workflow V2 beta.12.5
|
|
8
8
|
---
|
|
9
9
|
|
|
10
|
-
# 1. Рабочая модель beta.12.
|
|
10
|
+
# 1. Рабочая модель beta.12.5
|
|
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.5 как точную 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.5 должен сообщать `packageVersion=2.0.0-beta.12.5`, `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.5 в delegated режиме.
|
|
120
120
|
Repository: <ABSOLUTE-REPOSITORY-ROOT>.
|
|
121
121
|
Milestone ID: AUTO.
|
|
122
122
|
Delegate actor: agent:milestone-coordinator.
|
|
@@ -293,6 +293,7 @@ Task chat записывает его только при совпадении p
|
|
|
293
293
|
| Состояние | Действие |
|
|
294
294
|
|---|---|
|
|
295
295
|
| First proven impossible npm check после legacy/late authorization | Только рекламируемый `task plan-integrity-recover` |
|
|
296
|
+
| Downstream proof требует изменить completed predecessor | Только `task downstream-proof-recover`, затем новый Plan/risk audit/authorization в той же Task |
|
|
296
297
|
| Failed guarded review | Та же Task: исправление и новый strict review без attempt hard stop |
|
|
297
298
|
| Finding `route=fix` | Продолжить тот же Step; count остаётся диагностикой |
|
|
298
299
|
| Finding `route=replan` с exact Plan conflict | `task plan-set`, меняются только implementation Steps |
|
|
@@ -305,6 +306,15 @@ Task chat записывает его только при совпадении p
|
|
|
305
306
|
Plan-integrity recovery не редактирует Plan, package.json или worktree и не синтезирует второй failure.
|
|
306
307
|
P04-A не переносит completed Steps и не rewires dependencies при split.
|
|
307
308
|
|
|
309
|
+
`task downstream-proof-recover` также не редактирует product files и не создаёт новую Task. Он сохраняет
|
|
310
|
+
dirty worktree/HEAD, append-only фиксирует invalidated predecessor evidence, освобождает C1 и возвращает
|
|
311
|
+
текущую Task к `task plan-set`. Если fresh `next` не рекламирует этот переход, вызывать его нельзя.
|
|
312
|
+
|
|
313
|
+
Ошибка Docker socket/CLI `EPERM`, `operation not permitted` или `permission denied` в sandbox не считается
|
|
314
|
+
падением daemon и не расходует retry. Повторите exact read-only probe или Plan check один раз с sandbox
|
|
315
|
+
escalation. Не перезапускайте Docker Desktop и не меняйте image без отдельного разрешения и подтверждённого
|
|
316
|
+
escalated daemon failure.
|
|
317
|
+
|
|
308
318
|
Если после применённого stop override `next` рекламирует delegated `task context-refresh` или
|
|
309
319
|
`update dependency-provenance-recover`, выполните только этот advertised atomic/recovery переход и
|
|
310
320
|
снова запросите `status -> next`. Таких механических refresh/update циклов может быть несколько.
|
|
@@ -313,6 +323,11 @@ P04-A не переносит completed Steps и не rewires dependencies пр
|
|
|
313
323
|
точного claimant-актора. `doctor`, semantic Plan change, разрыв rebind/audit chain или HEAD commit без
|
|
314
324
|
точного dependency-provenance record означают stop, а не ручной обход.
|
|
315
325
|
|
|
326
|
+
Если advertised navigation записала dependency provenance после последнего context-refresh audit,
|
|
327
|
+
продолжайте только когда fresh `next` сам вернул `task run`. Core обязан доказать, что каждый такой
|
|
328
|
+
recovery объясняет ровно один дополнительный Task revision; простое `revision >=` не является
|
|
329
|
+
authority.
|
|
330
|
+
|
|
316
331
|
# 12. Milestone final acceptance
|
|
317
332
|
|
|
318
333
|
После merge всех required Tasks Coordinator проверяет clean base HEAD и выполняет рекламируемую
|
|
@@ -330,7 +345,7 @@ Task/project DGR. `dependencyBinding` для standalone handoff равен null.
|
|
|
330
345
|
|
|
331
346
|
# 14. Итоговый checklist пользователя
|
|
332
347
|
|
|
333
|
-
- beta.12.
|
|
348
|
+
- beta.12.5 exact package и новый bundled gateway установлены;
|
|
334
349
|
- новый Coordinator chat не является fork старого Milestone;
|
|
335
350
|
- bootstrap DGR, если нужен, выдан отдельным exact human confirmation;
|
|
336
351
|
- Discovery не materialized при blocking unknowns;
|
|
@@ -340,5 +355,6 @@ Task/project DGR. `dependencyBinding` для standalone handoff равен null.
|
|
|
340
355
|
- credentials не появились в prompts, reports или files;
|
|
341
356
|
- каждый transition пришёл из fresh `next`;
|
|
342
357
|
- beta.11 stop override, если рекламировался, прошёл отдельные prepare и user-confirmed apply без journal rewrite;
|
|
358
|
+
- downstream predecessor recovery, если рекламировался, сохранил worktree и завершился новым Plan authority;
|
|
343
359
|
- split-required остановился без replacement mutations;
|
|
344
360
|
- 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.5
|
|
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: 29 августа 2026
|
|
7
|
+
subject: Технический контракт Codex Workflow V2 beta.12.5
|
|
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.5 | Значение |
|
|
17
17
|
|---|---|
|
|
18
|
-
| npm package | `codex-workflow-v2@2.0.0-beta.12.
|
|
18
|
+
| npm package | `codex-workflow-v2@2.0.0-beta.12.5` |
|
|
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.5 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, append-only stop-rebind chain, corrective yield/replan journals |
|
|
49
|
+
| Recovery | Task-local dependency provenance, plan integrity, downstream-proof predecessor invalidation, 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.5 compatibility transitions
|
|
320
320
|
|
|
321
321
|
`update dependency-provenance-recover` больше не требует полного равенства Task manifest/lock с base.
|
|
322
322
|
Base остаётся version authority, а parent/HEAD candidate сравниваются без единственных Workflow
|
|
@@ -340,6 +340,25 @@ diff. Semantic drift, иной commit или разрыв chain fail closed. Pro
|
|
|
340
340
|
`stopOverrideContextRebind.state=validated`; lost lease восстанавливает только advertised
|
|
341
341
|
`task writer-credential-replace`.
|
|
342
342
|
|
|
343
|
+
Если recovery записан после последнего rebound audit, evidence-bound revision равен
|
|
344
|
+
`audit.taskRevision + 1 + postAuditVerifiedRecoveries.length`. В зачёт входят только ordered records
|
|
345
|
+
из уже проверенной override-to-authorization Git chain. Формула должна точно равняться current Task
|
|
346
|
+
revision; unrelated write, duplicate, неверный parent или product commit блокируют continuation.
|
|
347
|
+
|
|
348
|
+
# 13.2. Downstream-proof predecessor recovery
|
|
349
|
+
|
|
350
|
+
Если active Step изменяет только собственный proof artifact, обычный `task step-complete` сохраняется.
|
|
351
|
+
Если dirty set дополнительно содержит файлы completed transitive predecessor, Core проверяет branch,
|
|
352
|
+
зарегистрированную Git history, dependency closure и ownership каждого такого файла. При точном совпадении
|
|
353
|
+
fresh `next` рекламирует lease-bound `task downstream-proof-recover` вместо заведомо невозможного commit.
|
|
354
|
+
|
|
355
|
+
Одна project transaction сохраняет worktree и HEAD, append-only записывает
|
|
356
|
+
`downstream-proof-invalidations.jsonl`, переносит invalidated completion commits в `invalidatedStepCommits`, очищает
|
|
357
|
+
их Step evidence, блокирует proof Step, supersede execution authorization, yield C1 и удаляет lease.
|
|
358
|
+
Следующий action — обычный `task plan-set` той же Task. Replacement Plan обязан заново охватить unfinished
|
|
359
|
+
remainder и пройти fresh Plan Risk Audit и execution authorization. Unrelated/non-predecessor file,
|
|
360
|
+
strict-review evidence, unregistered commit, branch mismatch или damaged sidecar возвращают `doctor`.
|
|
361
|
+
|
|
343
362
|
# 14. P04-A structural replacement boundary
|
|
344
363
|
|
|
345
364
|
Command shape `task replacement-materialize` retained только для compatibility diagnostics. Любая попытка
|
|
@@ -394,10 +413,15 @@ Graph является навигационным индексом, не Project
|
|
|
394
413
|
| `GIT_PRECONDITION_FAILED` | Branch/base/clean/history mismatch | Штатная Git recovery/sync route |
|
|
395
414
|
| `COMMAND_FAILED` | Git/check/provider process failed | Сохранить evidence и устранить concrete cause |
|
|
396
415
|
|
|
416
|
+
Docker socket/CLI `EPERM`, `operation not permitted` или `permission denied` внутри sandbox классифицируется
|
|
417
|
+
как execution-boundary access, не как `COMMAND_FAILED` daemon. Exact read-only probe или Plan check один раз
|
|
418
|
+
повторяется с escalation и не расходует remediation/infra retry. Restart Docker Desktop или image mutation
|
|
419
|
+
без отдельного разрешения запрещены; daemon failure подтверждает только escalated invocation.
|
|
420
|
+
|
|
397
421
|
После каждой successful mutation обязателен sequential `status`, затем fresh `next`. Failed status/next
|
|
398
422
|
не разрешает direct mutation. Syntax help read-only и не заменяет navigation authority.
|
|
399
423
|
|
|
400
|
-
# 18. Public command surface beta.12.
|
|
424
|
+
# 18. Public command surface beta.12.5
|
|
401
425
|
|
|
402
426
|
| Область | Actions |
|
|
403
427
|
|---|---|
|
|
@@ -412,7 +436,7 @@ Graph является навигационным индексом, не Project
|
|
|
412
436
|
| Task execution | `start`, `run`, `step-complete`, `submit`, `result-set`, `accept`, `sync-base`, `merge`, `merge-confirm` |
|
|
413
437
|
| C1 | `handoff[-prepare/-replace/-show]`, `claim`, `writer-credential-replace`, `handback[-create]` |
|
|
414
438
|
| Review | review/step-review packet, launch, sealed record и record actions |
|
|
415
|
-
| Corrective | decision/recovery, plan-integrity, remediation-mode, stop-override prepare/apply, yield и corrective-replan actions |
|
|
439
|
+
| Corrective | decision/recovery, plan-integrity, downstream-proof-recover, remediation-mode, stop-override prepare/apply, yield и corrective-replan actions |
|
|
416
440
|
| Replacement | `replacement-materialize` retained, но всегда disabled в P04-A |
|
|
417
441
|
|
|
418
442
|
Exact options берутся из fresh `next`; command help используется только когда
|
|
@@ -424,7 +448,7 @@ Exact options берутся из fresh `next`; command help используе
|
|
|
424
448
|
running Step и active/stale writer lease. External runner допустим только в документированной rescue
|
|
425
449
|
compatibility форме.
|
|
426
450
|
|
|
427
|
-
Перед beta.12.
|
|
451
|
+
Перед beta.12.5 tag release repository выполняет:
|
|
428
452
|
|
|
429
453
|
1. `npm ci`;
|
|
430
454
|
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.
|
|
30
|
+
For beta.12.5, 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;
|
|
@@ -50,6 +50,12 @@ For beta.12.3, the release gate also relies on `npm run release:check` to fail i
|
|
|
50
50
|
registry, title fallback/readback, or long-Cyrillic multi-attempt E2E evidence is absent.
|
|
51
51
|
- bounded first-failure Plan-integrity recovery, exact failed-remediation/manifest/worktree
|
|
52
52
|
bindings, or the no-synthetic-second-failure regression is absent.
|
|
53
|
+
- downstream proof cannot invalidate only completed transitive-predecessor authority while
|
|
54
|
+
preserving worktree/HEAD, yielding C1, and returning the same Task to fresh planning; or unrelated
|
|
55
|
+
dirty files and damaged invalidation evidence do not fail closed.
|
|
56
|
+
- bundled gateway guidance treats Docker socket `EPERM` as daemon failure, consumes a remediation
|
|
57
|
+
attempt before one exact escalated probe, or recommends restarting Docker Desktop without separate
|
|
58
|
+
authority.
|
|
53
59
|
- the P04-A Milestone dependency/initial-Plan transaction capabilities or the P01-A mechanical
|
|
54
60
|
feasibility capability is absent from the packaged handshake.
|
|
55
61
|
- continuable guarded remediation or evidence-bound `fix`/`replan` review routing is absent, or a
|
|
@@ -62,6 +68,8 @@ For beta.12.3, the release gate also relies on `npm run release:check` to fail i
|
|
|
62
68
|
- Git HEAD may advance between the override and current execution authorization through anything
|
|
63
69
|
except an exact chain of registered dependency-provenance commits that each change only
|
|
64
70
|
`package.json` and `package-lock.json`; or the route weakens the generic stale-decision recovery gate.
|
|
71
|
+
- a dependency-provenance recovery recorded after the final mechanical audit cannot explain its
|
|
72
|
+
exact single Task revision, or an unrelated revision/damaged provenance is accepted as authority.
|
|
65
73
|
|
|
66
74
|
The separate lifecycle transcript validator fails if the real-agent log contains a mutation that
|
|
67
75
|
bypasses failed `status`/`next`, an unadvertised or failed mutation, an unresolved syntax-only
|
|
@@ -73,7 +73,7 @@ stop decision, Plan hash, Git HEAD, все три remediation events и policy
|
|
|
73
73
|
`SOO-*` кодом. `task stop-override-apply` добавляет одну запись в
|
|
74
74
|
`stop-escalate-overrides.jsonl`, сохраняя исходный `stop-escalate`; после него выполните
|
|
75
75
|
последовательные `status` и `next`. Обычно ожидаемый route — `task run` того же Step с последующим
|
|
76
|
-
новым strict review. Beta.12.
|
|
76
|
+
новым strict review. Beta.12.4 покрывает и последовательность package self-update/context-refresh
|
|
77
77
|
циклов после override. Перед `task run` выполняйте только свежие advertised
|
|
78
78
|
`update dependency-provenance-recover` и delegated `task context-refresh`; циклов может быть
|
|
79
79
|
несколько. Workflow продолжит attempt 4 лишь когда докажет contiguous source-to-current chain:
|
|
@@ -82,6 +82,11 @@ artifacts, каждый Plan Risk Audit является mechanical rebound, а
|
|
|
82
82
|
сохраняют одну delegated authority. HEAD может продвинуться только через зарегистрированные
|
|
83
83
|
single-parent dependency-provenance commits, каждый с exact `package.json`/`package-lock.json` diff.
|
|
84
84
|
Новая stop-override recovery-запись не создаётся — используется существующая append-only evidence.
|
|
85
|
+
Если advertised navigation сначала завершила последний `task context-refresh`, а затем разрешила
|
|
86
|
+
`update dependency-provenance-recover`, административный recovery может объяснить ровно один
|
|
87
|
+
post-audit Task revision. Core принимает его только как часть уже проверенной dependency-only Git
|
|
88
|
+
chain; арифметика audit revision + refresh boundary + exact post-audit recoveries должна точно
|
|
89
|
+
равняться current Task revision. Любой необъяснённый revision остаётся blocker.
|
|
85
90
|
Если C1 остаётся claimed, но writer lease после Human boundary отсутствует, `next` вместе с
|
|
86
91
|
`task run` рекламирует `task writer-credential-replace`; сначала восстановите credential exact
|
|
87
92
|
claimant-актора, затем запускайте Step.
|