codex-workflow-v2 2.0.0-beta.12.6 → 2.0.0-beta.12.8

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.
Files changed (35) hide show
  1. package/README.md +21 -3
  2. package/dist/src/alpha6/downstream-proof.d.ts +35 -1
  3. package/dist/src/alpha6/downstream-proof.js +310 -2
  4. package/dist/src/alpha6/downstream-proof.js.map +1 -1
  5. package/dist/src/alpha6/plan-risk.js +2 -2
  6. package/dist/src/alpha6/plan-risk.js.map +1 -1
  7. package/dist/src/cli.js +38 -3
  8. package/dist/src/cli.js.map +1 -1
  9. package/dist/src/contracts.d.ts +30 -1
  10. package/dist/src/dependency-provenance.d.ts +2 -2
  11. package/dist/src/dependency-provenance.js +26 -13
  12. package/dist/src/dependency-provenance.js.map +1 -1
  13. package/dist/src/version.d.ts +1 -1
  14. package/dist/src/version.js +1 -1
  15. package/dist/src/workflow.d.ts +9 -2
  16. package/dist/src/workflow.js +380 -33
  17. package/dist/src/workflow.js.map +1 -1
  18. package/docs/autonomy-guardrails.md +7 -0
  19. package/docs/development-flow.md +9 -0
  20. package/docs/pdf/codex-workflow-v2-architecture-ru.pdf +0 -0
  21. package/docs/pdf/codex-workflow-v2-chat-only-guide-ru.pdf +0 -0
  22. package/docs/pdf/codex-workflow-v2-technical-reference-ru.pdf +0 -0
  23. package/docs/pdf/sources/codex-workflow-v2-architecture-ru.md +25 -5
  24. package/docs/pdf/sources/codex-workflow-v2-chat-only-guide-ru.md +22 -7
  25. package/docs/pdf/sources/codex-workflow-v2-technical-reference-ru.md +33 -25
  26. package/docs/release.md +9 -1
  27. package/docs/updating-existing-project.md +24 -0
  28. package/docs/validation-report.md +88 -96
  29. package/package.json +2 -1
  30. package/plugins/codex-workflow-gateway/.codex-plugin/plugin.json +1 -1
  31. package/plugins/codex-workflow-gateway/references/protocol.md +6 -0
  32. package/plugins/codex-workflow-gateway/skills/codex-workflow-gateway/SKILL.md +25 -0
  33. package/schemas/downstream-proof-invalidation-event.schema.json +1 -0
  34. package/schemas/downstream-proof-replan-recovery-event.schema.json +61 -0
  35. package/schemas/task.schema.json +34 -0
@@ -152,6 +152,13 @@ evidence, supersedes execution authority, yields C1, and routes the same Task to
152
152
  The route grants no authority to change Task objective, requirements, acceptance, or Milestone
153
153
  topology.
154
154
 
155
+ The beta.12.7 compatibility repair for an accidental post-invalidation Knowledge rebind is similarly
156
+ non-semantic. It may restore `needs_fix` and preserve an exact dirty-worktree binding, but it cannot
157
+ approve a replacement Plan, infer new requirements, or treat preserved bytes as completed evidence.
158
+ After any required Knowledge refresh, the full unfinished remainder is planned again. Carryover into
159
+ execution is valid only when one newly authorized Step owns every bound path and the current
160
+ HEAD/path/content hashes still match; checks and strict review retain their ordinary authority.
161
+
155
162
  Docker permission diagnostics are classified before consuming retry authority. Sandbox `EPERM` or
156
163
  permission denial gets one exact escalated rerun of the health probe/Plan check. It is not an infra
157
164
  failure and cannot authorize a Docker Desktop restart or image substitution. Only an escalated
@@ -113,6 +113,15 @@ candidate parent, binds the active proof dirty set by content hash, and register
113
113
  dependency commit. Product bytes and Step state remain unchanged; fresh `next` must then advertise
114
114
  the ordinary `task downstream-proof-recover`. This is not a general dirty-update permission.
115
115
 
116
+ If beta.12.6 already performed that recovery but a subsequent Knowledge approval mechanically
117
+ rebound its rejected Plan, use only the beta.12.7 stranded-replan bridge advertised by fresh `next`.
118
+ The source preflight runs before dependency transport and binds the exact beta.12.6 Task revision,
119
+ HEAD, dirty paths, and content hash. After dependency-only base/Task commits and provenance recovery,
120
+ `task downstream-proof-replan-recover` restores `needs_fix`. Reconcile/approve stale Project Knowledge,
121
+ then replace the full unfinished Plan. The preserved dirty set may enter execution only through one
122
+ new Step whose `allowedWrites` owns every path and whose fresh `next` reports validated carryover.
123
+ Completing that Step still requires its checks, Core-owned commit, and any guarded strict review.
124
+
116
125
  A sandboxed Docker `EPERM`, `operation not permitted`, or `permission denied` result is not a failed
117
126
  daemon check. Re-run the exact probe/check once with sandbox escalation without consuming a retry.
118
127
  Restart Docker Desktop only with separate authorization after the escalated call reaches Docker and
@@ -1,10 +1,10 @@
1
1
  ---
2
- title: Codex Workflow V2: архитектура beta.12.6
2
+ title: Codex Workflow V2: архитектура beta.12.8
3
3
  subtitle: Источники истины, lifecycle, роли, delegation, зависимости Tasks и границы доверия
4
4
  part: Часть 1 из 3 | Архитектура
5
5
  document_version: 2.0
6
6
  date: 29 августа 2026
7
- subject: Архитектура и границы Codex Workflow V2 beta.12.6
7
+ subject: Архитектура и границы Codex Workflow V2 beta.12.8
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.6 гарантирует
21
+ ## 1.1. Что beta.12.8 гарантирует
22
22
 
23
23
  - exact project-local npm package и совместимый handshake до lifecycle действий;
24
24
  - Discovery до materialization Task или Milestone;
@@ -26,13 +26,17 @@ Codex Workflow V2 - локальный state machine поверх Codex App, Git
26
26
  - mechanical-feasibility проверку поддерживаемых форм Plan до новой Task authorization;
27
27
  - явный Milestone dependency DAG и один общий runnable predicate для routing, handoff, claim и start;
28
28
  - один C1 writer lease, секретные one-time credentials и Core-owned Step commits;
29
+ - lease-free Human final-acceptance gate: `task result-set` проверяет и освобождает active writer
30
+ lease, а после acceptance merge получает новый credential только через fresh recovery route;
29
31
  - external-sealed Step/Task review в отдельных Codex tasks;
30
32
  - state-bound human gates либо ранее выданные bounded delegation contracts;
31
33
  - journaled recovery для составных переходов и fail-closed поведение при drift/corruption.
32
34
  - bounded recovery, когда downstream proof требует изменить уже завершённый predecessor Step:
33
35
  worktree и HEAD сохраняются, stale completion authority снимается, та же Task возвращается в planning.
36
+ - bounded compatibility recovery, если beta.12.6 после этого recovery ошибочно rebind-нула отвергнутый
37
+ Plan: exact dirty bytes сохраняются до нового consolidated Step, а Knowledge refresh не отменяет `plan-set`.
34
38
 
35
- ## 1.2. Что beta.12.6 не гарантирует
39
+ ## 1.2. Что beta.12.8 не гарантирует
36
40
 
37
41
  - правильность продуктовой идеи или автоматически выбранного provider Task;
38
42
  - semantic sufficiency Plan, если точные факты нельзя доказать поддерживаемым analyzer;
@@ -108,6 +112,11 @@ Discovery -> materialize -> Plan -> Plan Risk Audit
108
112
  -> final acceptance -> merge
109
113
  ```
110
114
 
115
+ `task result-set` является последним execution lease-bound переходом. Он требует рекламируемый
116
+ writer token, освобождает lease до `awaiting_final_acceptance` и тем самым допускает неограниченную
117
+ по времени Human pause без stale-lock блокировки repository. После acceptance прежний token не
118
+ переиспользуется: fresh `next` выдаёт bounded `task writer-credential-replace` для merge.
119
+
111
120
  Fresh Task authorization записывает versioned mechanical-feasibility evidence. Analyzer может
112
121
  выдать `blocked`, `pass` или `unverified`. `unverified` не означает semantic approval; он означает,
113
122
  что поддерживаемая точная грамматика не доказала противоречие.
@@ -263,6 +272,17 @@ leases/transactions, predecessor ownership и content hash dirty set. Перех
263
272
  dependency commit, не меняет product bytes/Step и делает обычный `task downstream-proof-recover`
264
273
  достижимым до manifest-induced Knowledge refresh. Это не общее разрешение dirty update.
265
274
 
275
+ beta.12.7 закрывает следующий доказанный Signal case: beta.12.6 уже выполнила downstream-proof
276
+ invalidation, но последующее Project Knowledge approval механически вернуло старый двух-Step Plan в
277
+ `awaiting_execution_authorization`. Read-only `update downstream-proof-replan-update-preflight`
278
+ сначала связывает exact beta.12.6 revision, HEAD, шесть dirty paths и content hash. После двух
279
+ dependency-only commits `update downstream-proof-replan-dependency-preflight/recover` регистрирует
280
+ только новый Workflow HEAD. `task downstream-proof-replan-recover` затем атомарно возвращает ту же
281
+ Task в `needs_fix`; stale Knowledge можно reconciliate/approve, но fresh `next` всё равно требует
282
+ новый `task plan-set`. Новый Plan может передать сохранённые bytes только одному Step, который владеет
283
+ всем dirty set. `task run` принимает carryover лишь при exact HEAD/path/hash match, после чего Step
284
+ проходит обычные checks, Core-owned commit и strict review.
285
+
266
286
  Docker socket `EPERM` в sandbox не является доказательством сломанного daemon. Gateway один раз
267
287
  повторяет exact health probe или Plan check с sandbox escalation без расходования remediation attempt.
268
288
  Restart Docker Desktop требует отдельного разрешения и допустим только после escalated daemon failure.
@@ -272,7 +292,7 @@ Restart Docker Desktop требует отдельного разрешения
272
292
  # 10. Operational checklist
273
293
 
274
294
  - exact package version установлен, bundled gateway соответствует release и переустановлен;
275
- - handshake подтверждает protocol 2, state schema 2 и beta.12.6 capabilities;
295
+ - handshake подтверждает protocol 2, state schema 2 и beta.12.8 capabilities;
276
296
  - каждый mutation следует свежему `status -> next` и exact option contract;
277
297
  - Docker permission failure сначала классифицируется как sandbox boundary, а не как infra retry;
278
298
  - semantic unknowns и human gates не маскируются delegation;
@@ -1,13 +1,13 @@
1
1
  ---
2
2
  title: Codex Workflow V2: delegated chat-only guide
3
- subtitle: Актуальный beta.12.6 путь от нового Discovery до принятого Milestone без ручного CLI
3
+ subtitle: Актуальный beta.12.8 путь от нового Discovery до принятого Milestone без ручного CLI
4
4
  part: Часть 2 из 3 | Практика
5
5
  document_version: 2.0
6
6
  date: 29 августа 2026
7
- subject: Практическое руководство по delegated Discovery и Milestone в Workflow V2 beta.12.6
7
+ subject: Практическое руководство по delegated Discovery и Milestone в Workflow V2 beta.12.8
8
8
  ---
9
9
 
10
- # 1. Рабочая модель beta.12.6
10
+ # 1. Рабочая модель beta.12.8
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.6 как точную devDependency после публикации release.
43
+ 2. Установите beta.12.8 как точную 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.6 должен сообщать `packageVersion=2.0.0-beta.12.6`, `protocolVersion=2`,
59
+ Handshake beta.12.8 должен сообщать `packageVersion=2.0.0-beta.12.8`, `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.6 в delegated режиме.
119
+ Проведи новый Milestone через Codex Workflow V2 beta.12.8 в delegated режиме.
120
120
  Repository: <ABSOLUTE-REPOSITORY-ROOT>.
121
121
  Milestone ID: AUTO.
122
122
  Delegate actor: agent:milestone-coordinator.
@@ -242,6 +242,10 @@ Credential и approval grant решают разные задачи.
242
242
  4. Claim проверяет dependency binding и возвращает `writerLeaseReceipt`.
243
243
  5. `task run` принимает active writer credential согласно `next.writerTokenContract` и обновляет lease.
244
244
  6. `task step-complete`, review record и другие guarded mutations используют только рекламируемый option.
245
+ 7. После passed final review `task result-set` использует active writer token и освобождает lease до
246
+ `awaiting_final_acceptance`; Human gate не должен удерживать credential.
247
+ 8. После acceptance старый token не используется: fresh `next` рекламирует
248
+ `task writer-credential-replace`, затем разрешает merge или merge confirmation.
245
249
 
246
250
  Нельзя искать token в later payload fields, писать его в prompt/report/evidence или заменять redacted
247
251
  fingerprint. Потеря token не разрешает новый handoff либо lease acquisition вне fresh recovery route.
@@ -299,6 +303,7 @@ Task chat записывает его только при совпадении p
299
303
  | Finding `route=replan` с exact Plan conflict | `task plan-set`, меняются только implementation Steps |
300
304
  | `split-required` | Stop: `STRUCTURAL_REPLACEMENT_REQUIRED`, никаких replacement writes |
301
305
  | Старая версия + active downstream proof блокируют update | Только beta.12.6 exact dependency commits и advertised `update downstream-proof-dependency-recover` |
306
+ | После downstream recovery beta.12.6 вернула отвергнутый Plan через Knowledge rebind | Только beta.12.7 replan update bridge, затем recovery и новый consolidated Plan той же Task |
302
307
  | Exact beta.11 attempt-four `stop-escalate` | Только advertised prepare, затем отдельный Human-confirmed apply; исходный stop сохраняется |
303
308
  | Любой другой explicit `stop-escalate` | Terminal user attention |
304
309
  | Stale dependency binding | Новый handoff/claim только по fresh `next` |
@@ -318,6 +323,15 @@ beta.12.6 и требуйте от fresh `next` `update downstream-proof-depende
318
323
  binding dirty set. Recover регистрирует только dependency HEAD; следующий fresh `next` должен вернуть
319
324
  обычный `task downstream-proof-recover`. Любой иной diff/history/dirty path/lease означает stop.
320
325
 
326
+ Для exact stranded shape после уже выполненного beta.12.6 recovery сначала запустите новой версией
327
+ read-only `update downstream-proof-replan-update-preflight`. Продолжайте только при `eligible=true`,
328
+ source `2.0.0-beta.12.6`, exact revision/HEAD, ожидаемых dirty paths/hash и пустых blockers. Затем
329
+ перенесите beta.12.7 двумя dependency-only commits на base и Task branch, установите пакет и следуйте
330
+ fresh `next` через `update downstream-proof-replan-dependency-recover` и
331
+ `task downstream-proof-replan-recover`. После обязательного Knowledge reconcile/approve fresh `next`
332
+ должен остаться на `task plan-set`, а не resurrect старый Plan. Новый Step обязан один владеть всем
333
+ сохранённым dirty set; `task run` допустим только при `downstreamProofCarryover.state=validated`.
334
+
321
335
  Ошибка Docker socket/CLI `EPERM`, `operation not permitted` или `permission denied` в sandbox не считается
322
336
  падением daemon и не расходует retry. Повторите exact read-only probe или Plan check один раз с sandbox
323
337
  escalation. Не перезапускайте Docker Desktop и не меняйте image без отдельного разрешения и подтверждённого
@@ -353,7 +367,7 @@ Task/project DGR. `dependencyBinding` для standalone handoff равен null.
353
367
 
354
368
  # 14. Итоговый checklist пользователя
355
369
 
356
- - beta.12.6 exact package и новый bundled gateway установлены;
370
+ - beta.12.8 exact package и новый bundled gateway установлены;
357
371
  - новый Coordinator chat не является fork старого Milestone;
358
372
  - bootstrap DGR, если нужен, выдан отдельным exact human confirmation;
359
373
  - Discovery не materialized при blocking unknowns;
@@ -365,5 +379,6 @@ Task/project DGR. `dependencyBinding` для standalone handoff равен null.
365
379
  - beta.11 stop override, если рекламировался, прошёл отдельные prepare и user-confirmed apply без journal rewrite;
366
380
  - downstream predecessor recovery, если рекламировался, сохранил worktree и завершился новым Plan authority;
367
381
  - active-proof package bridge, если понадобился, зарегистрировал только exact dependency HEAD перед recovery;
382
+ - stranded-replan bridge, если понадобился, завершился новым Plan и полным Step checks/review, а не только сменой navigation;
368
383
  - split-required остановился без replacement mutations;
369
384
  - Milestone validation и final acceptance связаны с текущим clean base HEAD.
@@ -1,10 +1,10 @@
1
1
  ---
2
- title: Codex Workflow V2: технический справочник beta.12.6
2
+ title: Codex Workflow V2: технический справочник beta.12.8
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: 29 августа 2026
7
- subject: Технический контракт Codex Workflow V2 beta.12.6
7
+ subject: Технический контракт Codex Workflow V2 beta.12.8
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.6 | Значение |
16
+ | Параметр beta.12.8 | Значение |
17
17
  |---|---|
18
- | npm package | `codex-workflow-v2@2.0.0-beta.12.6` |
18
+ | npm package | `codex-workflow-v2@2.0.0-beta.12.8` |
19
19
  | protocolVersion | 2 |
20
20
  | stateSchemaVersion | 2 |
21
21
  | lifecycle epoch | 2 |
@@ -37,14 +37,14 @@ Gateway выполняет:
37
37
  5. вызов только package-local `dist/src/cli.js --repo <root>`;
38
38
  6. `gateway handshake` до lifecycle действий.
39
39
 
40
- Ключевые beta.12.6 capabilities:
40
+ Ключевые beta.12.8 capabilities:
41
41
 
42
42
  | Группа | Capabilities |
43
43
  |---|---|
44
44
  | Knowledge и graph | `project-memory-v1`, `graph-binding-v1`, `task-context-refresh-v1` |
45
45
  | Milestone | lifecycle, initial assembly navigation, autonomy, progress, dependency DAG, initial Plan transaction |
46
46
  | Task planning | Plan Risk Audit, proof obligations, mechanical feasibility |
47
- | C1 | handoff sidecar, handoff bundle, derived Worker actor, credential replacement |
47
+ | C1 | handoff sidecar/bundle, derived Worker actor, credential replacement, Human-gate lease release |
48
48
  | Reviews | strict reviewer, Step strict review, continuable remediation, evidence-bound fix/replan routing |
49
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` |
@@ -235,7 +235,8 @@ Claim сверяет stored binding с current Milestone authority до lock acq
235
235
  3. Exact target actor вызывает `task claim` с one-time token.
236
236
  4. Claim выдаёт first-field `writerLeaseReceipt`.
237
237
  5. `task run` принимает token по `next.writerTokenContract`, heartbeats lease и возвращает refreshed receipt.
238
- 6. Terminal handback/release уничтожает active bearer material.
238
+ 6. `task result-set` consumes active token и освобождает lease до Human final-acceptance gate.
239
+ 7. После acceptance `writer-credential-replace` создаёт merge lease; terminal transitions освобождают его.
239
240
 
240
241
  Credential нельзя логировать, сохранять в chat packet или включать в evidence. `handoff-show` возвращает
241
242
  только safe persisted binding. Recovery использует отдельные advertised replacement actions.
@@ -249,7 +250,7 @@ Credential нельзя логировать, сохранять в chat packet
249
250
  | Worker return | Изменения uncommitted и только в allowedWrites |
250
251
  | Step complete | History, scope, checks, review gate, exact writer token |
251
252
  | Commit | Один Core-owned commit с Task/Step metadata |
252
- | Submit | Clean tree, Steps completed/skipped, recorded commits and evidence |
253
+ | Submit/Result | Exact evidence/review; Result освобождает lease до Human gate |
253
254
  | Merge | Fresh review/acceptance, base conditions, accepted HEAD |
254
255
 
255
256
  Local start повторно сравнивает authorized base внутри Git branch creation, закрывая TOCTOU между
@@ -316,7 +317,7 @@ fresh `next` через corrective yield и обычный Human-confirmed repla
316
317
  P01-A предотвращает поддерживаемые contradictions до fresh authorization. beta.11 path остаётся для
317
318
  pre-P01 authorizations и late/unsupported exact recovery cases.
318
319
 
319
- # 13.1. beta.12.6 compatibility transitions
320
+ # 13.1. beta.12.7 compatibility transitions
320
321
 
321
322
  `update dependency-provenance-recover` больше не требует полного равенства Task manifest/lock с base.
322
323
  Base остаётся version authority, а parent/HEAD candidate сравниваются без единственных Workflow
@@ -332,6 +333,18 @@ aligned runtime/declared/locked/installed/current/base versions, отсутст
332
333
  `dependencyProvenanceRecoveries.activeDownstreamProof`; product work и Step state не меняются.
333
334
  Fresh `next` затем приоритетно рекламирует `task downstream-proof-recover` до Knowledge refresh.
334
335
 
336
+ `update downstream-proof-replan-update-preflight` — read-only source gate для одного exact
337
+ beta.12.6 stranded shape после predecessor invalidation и ошибочного Knowledge rebind старого Plan.
338
+ Он требует точные source version surfaces, Task revision/status/rebind, preserved HEAD, dirty paths/hash
339
+ и отсутствие lease/transactions. После dependency-only transport
340
+ `update downstream-proof-replan-dependency-preflight/recover` валидирует parent на `HEAD^`, candidate
341
+ на `HEAD` и записывает `dependencyProvenanceRecoveries.downstreamProofReplan` без изменения product
342
+ bytes. `task downstream-proof-replan-recover` атомарно добавляет
343
+ `downstream-proof-replan-recoveries.jsonl`, supersede-ит execution authorization и возвращает Task в
344
+ `needs_fix`. Stale Knowledge refresh разрешён после repair, но не может заменить обязательный
345
+ `task plan-set`. Dirty carryover принимается `task run` только если один replacement Step владеет всем
346
+ set, а HEAD, paths и SHA-256 совпадают с recovery event.
347
+
335
348
  `task stop-override-prepare/apply` обслуживает только exact beta.11 attempt-four policy stop. Prepare
336
349
  не пишет state и создаёт binding по Task revision, Step, attempt-3 continue, attempt-4 stop, трём
337
350
  remediation events, Plan, HEAD, package, human actor и reason. Apply в отдельном user turn добавляет
@@ -430,12 +443,12 @@ Docker socket/CLI `EPERM`, `operation not permitted` или `permission denied`
430
443
  После каждой successful mutation обязателен sequential `status`, затем fresh `next`. Failed status/next
431
444
  не разрешает direct mutation. Syntax help read-only и не заменяет navigation authority.
432
445
 
433
- # 18. Public command surface beta.12.6
446
+ # 18. Public command surface beta.12.8
434
447
 
435
448
  | Область | Actions |
436
449
  |---|---|
437
450
  | System | `doctor`, `status`, `next`, `gateway handshake`, `locks` |
438
- | Update | `preflight`, `rescue-preflight`, `dependency-provenance-preflight/recover`, `downstream-proof-dependency-preflight/recover` |
451
+ | Update | `preflight`, `rescue-preflight`, dependency provenance, downstream-proof dependency bridge, downstream-proof replan update/dependency bridge |
439
452
  | Project memory | `scan`, `show`, `status`, `approve`, `reconcile` |
440
453
  | Delegation | `prepare`, `grant`, `list`, `show`, `revoke` |
441
454
  | Graph | `prepare`, `status`, `refresh-request`, `bind`, `fallback` |
@@ -445,7 +458,7 @@ Docker socket/CLI `EPERM`, `operation not permitted` или `permission denied`
445
458
  | Task execution | `start`, `run`, `step-complete`, `submit`, `result-set`, `accept`, `sync-base`, `merge`, `merge-confirm` |
446
459
  | C1 | `handoff[-prepare/-replace/-show]`, `claim`, `writer-credential-replace`, `handback[-create]` |
447
460
  | Review | review/step-review packet, launch, sealed record и record actions |
448
- | Corrective | decision/recovery, plan-integrity, downstream-proof-recover, remediation-mode, stop-override prepare/apply, yield и corrective-replan actions |
461
+ | Corrective | decision/recovery, plan-integrity, downstream-proof-recover/replan-recover, remediation-mode, stop-override prepare/apply, yield и corrective-replan actions |
449
462
  | Replacement | `replacement-materialize` retained, но всегда disabled в P04-A |
450
463
 
451
464
  Exact options берутся из fresh `next`; command help используется только когда
@@ -454,16 +467,11 @@ Exact options берутся из fresh `next`; command help используе
454
467
  # 19. Release и package update gates
455
468
 
456
469
  Перед package update project-local `update preflight` должен вернуть `safe=true`: clean checkout, нет
457
- running Step и active/stale writer lease. Исключения — документированный alpha.7 rescue и beta.12.6
458
- active-downstream-proof dependency bridge; оба fail-closed и не дают общего разрешения dirty update.
459
-
460
- Перед beta.12.6 tag release repository выполняет:
461
-
462
- 1. `npm ci`;
463
- 2. `npm run validate`;
464
- 3. `npm run pack:check`;
465
- 4. `npm run smoke:downstream`;
466
- 5. `npm run plugin:check` и official plugin/skill validators;
467
- 6. `npm run docs:pdf:check`;
468
- 7. `npm run release:check` с exact release tag binding;
469
- 8. validation append-only real-agent lifecycle log.
470
+ running Step и active/stale writer lease. Исключения — документированный alpha.7 rescue, beta.12.6
471
+ active-downstream-proof bridge и beta.12.7 exact stranded-replan bridge; все они fail-closed и не дают
472
+ общего разрешения dirty update.
473
+
474
+ Перед beta.12.8 tag обязательны `npm ci`, `npm run validate`, `npm run pack:check`,
475
+ `npm run smoke:downstream`, `npm run plugin:check`, official plugin/skill validators,
476
+ `npm run docs:pdf:check`, `npm run release:check` с exact tag binding и validation
477
+ append-only real-agent lifecycle log.
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.6, the release gate also relies on `npm run release:check` to fail if:
30
+ For beta.12.8, 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;
@@ -42,6 +42,8 @@ For beta.12.6, the release gate also relies on `npm run release:check` to fail i
42
42
  explicit recovery, or dual-readback capabilities are absent from the packaged surface.
43
43
  - scoped Task navigation, credential replacement recovery, or sealed external Task/Step review
44
44
  commands are absent from the packaged surface.
45
+ - `task result-set` can enter the unbounded Human final-acceptance gate without consuming a live
46
+ writer credential and releasing its lease, or claimed Task E2E cannot reacquire a fresh merge credential.
45
47
  - bounded dependency-provenance recovery, retained passed-review provenance, the exact Signal T04
46
48
  revision-26 fixture, or pending/corrupt-review rejection regressions are absent.
47
49
  - dependency recovery again requires Task-local manifest/lock fields to equal the Milestone base,
@@ -57,6 +59,12 @@ For beta.12.6, the release gate also relies on `npm run release:check` to fail i
57
59
  aligned base/Task commits while preserving product bytes; or unknown history, unrelated dirty
58
60
  scope, content drift within an observation, leases, transactions, and wider candidates do not
59
61
  fail closed before provenance registration and ordinary downstream recovery.
62
+ - the exact beta.12.6 post-invalidation Knowledge-rebind shape cannot pass a read-only source gate,
63
+ transport beta.12.7 through dependency-only commits, register provenance, restore `needs_fix`,
64
+ survive required Knowledge refresh, and reach a fresh replacement Plan;
65
+ - preserved dirty bytes can execute without one Step owning the complete bound set, or HEAD/path/hash
66
+ drift is accepted; or the Signal-shaped E2E stops before checks, Core commit, strict Step review,
67
+ and fresh navigation to Task submission.
60
68
  - bundled gateway guidance treats Docker socket `EPERM` as daemon failure, consumes a remediation
61
69
  attempt before one exact escalated probe, or recommends restarting Docker Desktop without separate
62
70
  authority.
@@ -93,6 +93,30 @@ ownership и history, а новый Plan и review оценивают текущ
93
93
  version divergence, branch/Plan/Step mismatch, lease или transaction. В этом случае не правьте
94
94
  `systemCommits` или внешний state вручную.
95
95
 
96
+ ### Исключение beta.12.7 для stranded downstream replan
97
+
98
+ Это исключение применимо только если beta.12.6 уже записала downstream-proof invalidation, а затем
99
+ Project Knowledge approval ошибочно rebound-нул отвергнутый Plan и вернул Task в
100
+ `awaiting_execution_authorization`. До изменения dependency запустите beta.12.7 source/runtime
101
+ read-only `update downstream-proof-replan-update-preflight --id <TASK-ID>`. Требуются
102
+ `eligible=true`, source version `2.0.0-beta.12.6`, exact Task revision/branch/base/HEAD, неизменные
103
+ dirty paths/content hash и пустые blockers.
104
+
105
+ Затем тем же двухкоммитным способом обновите active base и Task branch только в `package.json` и
106
+ `package-lock.json`, установите exact beta.12.7 и следуйте fresh `next`. Допустимая цепочка:
107
+ `update downstream-proof-replan-dependency-preflight` ->
108
+ `update downstream-proof-replan-dependency-recover` ->
109
+ `task downstream-proof-replan-recover`. После repair manifest change обычно делает Project Knowledge
110
+ stale: выполните рекламируемые reconcile/approve, но не `task knowledge-rebind` старого Plan. Fresh
111
+ `next` обязан вернуть `task plan-set`.
112
+
113
+ Новый Plan должен заново классифицировать весь unfinished remainder. Сохранённые dirty bytes не
114
+ становятся completed evidence и не коммитятся административным recovery. Они могут быть приняты
115
+ только одним planned Step, `allowedWrites` которого точно покрывает весь dirty set. Перед `task run`
116
+ fresh `next` обязан показать `downstreamProofCarryover.state=validated`; после run обязательны checks,
117
+ Core-owned Step commit и strict review, если Step guarded. Изменение content/path/HEAD, дополнительная
118
+ Task revision, audit/authorization старого Plan, lease или transaction блокируют исключение.
119
+
96
120
  ### Исключение beta.12.1 для beta.11 attempt-four stop
97
121
 
98
122
  Если beta.11 записал `stop-escalate` перед четвёртой попыткой только после последовательности