codex-workflow-v2 2.0.0-beta.12.9 → 2.0.0-beta.13

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 (116) hide show
  1. package/README.md +58 -16
  2. package/dist/reviewer-runtime-build.json +1092 -0
  3. package/dist/src/alpha6/check-support-anchor.d.ts +24 -0
  4. package/dist/src/alpha6/check-support-anchor.js +102 -0
  5. package/dist/src/alpha6/check-support-anchor.js.map +1 -0
  6. package/dist/src/alpha6/component-owner.d.ts +28 -0
  7. package/dist/src/alpha6/component-owner.js +95 -0
  8. package/dist/src/alpha6/component-owner.js.map +1 -0
  9. package/dist/src/alpha6/downstream-proof.js +4 -2
  10. package/dist/src/alpha6/downstream-proof.js.map +1 -1
  11. package/dist/src/alpha6/mechanical-feasibility.js +42 -12
  12. package/dist/src/alpha6/mechanical-feasibility.js.map +1 -1
  13. package/dist/src/alpha6/milestone.d.ts +6 -2
  14. package/dist/src/alpha6/milestone.js +164 -10
  15. package/dist/src/alpha6/milestone.js.map +1 -1
  16. package/dist/src/alpha6/npm-check-contract.d.ts +11 -0
  17. package/dist/src/alpha6/npm-check-contract.js +36 -0
  18. package/dist/src/alpha6/npm-check-contract.js.map +1 -0
  19. package/dist/src/alpha6/plan-integrity.js +157 -27
  20. package/dist/src/alpha6/plan-integrity.js.map +1 -1
  21. package/dist/src/alpha6/plan-risk.js +3 -1
  22. package/dist/src/alpha6/plan-risk.js.map +1 -1
  23. package/dist/src/alpha6/remediation-cause.d.ts +13 -0
  24. package/dist/src/alpha6/remediation-cause.js +77 -0
  25. package/dist/src/alpha6/remediation-cause.js.map +1 -0
  26. package/dist/src/alpha6/remediation.d.ts +15 -4
  27. package/dist/src/alpha6/remediation.js +430 -67
  28. package/dist/src/alpha6/remediation.js.map +1 -1
  29. package/dist/src/alpha6/review.js +34 -4
  30. package/dist/src/alpha6/review.js.map +1 -1
  31. package/dist/src/artifacts.js +6 -0
  32. package/dist/src/artifacts.js.map +1 -1
  33. package/dist/src/cli-actions.d.ts +25 -0
  34. package/dist/src/cli-actions.js +109 -0
  35. package/dist/src/cli-actions.js.map +1 -0
  36. package/dist/src/cli.js +216 -258
  37. package/dist/src/cli.js.map +1 -1
  38. package/dist/src/contracts.d.ts +166 -5
  39. package/dist/src/credential-transport.d.ts +38 -0
  40. package/dist/src/credential-transport.js +156 -0
  41. package/dist/src/credential-transport.js.map +1 -0
  42. package/dist/src/dependency-provenance.d.ts +23 -2
  43. package/dist/src/dependency-provenance.js +221 -34
  44. package/dist/src/dependency-provenance.js.map +1 -1
  45. package/dist/src/domain/completed-step-carryover.d.ts +13 -0
  46. package/dist/src/domain/completed-step-carryover.js +71 -0
  47. package/dist/src/domain/completed-step-carryover.js.map +1 -0
  48. package/dist/src/domain/validation.d.ts +9 -1
  49. package/dist/src/domain/validation.js +86 -0
  50. package/dist/src/domain/validation.js.map +1 -1
  51. package/dist/src/gateway-handshake.d.ts +11 -0
  52. package/dist/src/gateway-handshake.js +92 -0
  53. package/dist/src/gateway-handshake.js.map +1 -0
  54. package/dist/src/index.d.ts +2 -0
  55. package/dist/src/index.js +2 -0
  56. package/dist/src/index.js.map +1 -1
  57. package/dist/src/lifecycle/corrective-replan-binding-manifest.d.ts +5 -0
  58. package/dist/src/lifecycle/corrective-replan-binding-manifest.js +9 -0
  59. package/dist/src/lifecycle/corrective-replan-binding-manifest.js.map +1 -1
  60. package/dist/src/lifecycle/corrective-replan.js +1 -1
  61. package/dist/src/lifecycle/corrective-replan.js.map +1 -1
  62. package/dist/src/lifecycle/semantic-registry.js +1 -1
  63. package/dist/src/observation.js +1 -2
  64. package/dist/src/observation.js.map +1 -1
  65. package/dist/src/observed-routes.d.ts +114 -0
  66. package/dist/src/observed-routes.js +545 -0
  67. package/dist/src/observed-routes.js.map +1 -0
  68. package/dist/src/operational-contract.d.ts +26 -0
  69. package/dist/src/operational-contract.js +94 -0
  70. package/dist/src/operational-contract.js.map +1 -0
  71. package/dist/src/reviewer.d.ts +218 -8
  72. package/dist/src/reviewer.js +927 -25
  73. package/dist/src/reviewer.js.map +1 -1
  74. package/dist/src/state/corrective-replan-executor.js +18 -15
  75. package/dist/src/state/corrective-replan-executor.js.map +1 -1
  76. package/dist/src/state/corrective-replan-public.js +35 -10
  77. package/dist/src/state/corrective-replan-public.js.map +1 -1
  78. package/dist/src/state/corrective-replan-transaction.js +12 -4
  79. package/dist/src/state/corrective-replan-transaction.js.map +1 -1
  80. package/dist/src/state/corrective-yield-transaction.js +11 -2
  81. package/dist/src/state/corrective-yield-transaction.js.map +1 -1
  82. package/dist/src/state/lock.d.ts +1 -0
  83. package/dist/src/state/lock.js +24 -0
  84. package/dist/src/state/lock.js.map +1 -1
  85. package/dist/src/version.d.ts +1 -1
  86. package/dist/src/version.js +1 -1
  87. package/dist/src/version.js.map +1 -1
  88. package/dist/src/workflow.d.ts +65 -4
  89. package/dist/src/workflow.js +1704 -155
  90. package/dist/src/workflow.js.map +1 -1
  91. package/docs/autonomy-guardrails.md +41 -14
  92. package/docs/delegated-approval.md +6 -1
  93. package/docs/development-flow.md +42 -12
  94. package/docs/pdf/codex-workflow-v2-architecture-ru.pdf +0 -0
  95. package/docs/pdf/codex-workflow-v2-chat-only-guide-ru.pdf +0 -0
  96. package/docs/pdf/codex-workflow-v2-technical-reference-ru.pdf +0 -0
  97. package/docs/pdf/sources/codex-workflow-v2-architecture-ru.md +181 -22
  98. package/docs/pdf/sources/codex-workflow-v2-chat-only-guide-ru.md +148 -26
  99. package/docs/pdf/sources/codex-workflow-v2-technical-reference-ru.md +326 -52
  100. package/docs/problem-briefs/01-pre-implementation-integrity.md +11 -7
  101. package/docs/problem-briefs/04-task-dependency-and-structural-replacement-integrity.md +13 -6
  102. package/docs/problem-briefs/README.md +11 -11
  103. package/docs/release.md +83 -9
  104. package/docs/updating-existing-project.md +205 -0
  105. package/docs/validation-report.md +156 -99
  106. package/package.json +12 -3
  107. package/plugins/codex-workflow-gateway/skills/codex-workflow-gateway/SKILL.md +42 -1
  108. package/schemas/authorization-event.schema.json +10 -3
  109. package/schemas/corrective-decision-event.schema.json +164 -9
  110. package/schemas/corrective-replan-credentials.private.schema.json +4 -2
  111. package/schemas/milestone-scope-change-event.schema.json +25 -1
  112. package/schemas/remediation-event.schema.json +17 -1
  113. package/schemas/review-result.schema.json +1 -0
  114. package/schemas/step-review-event.schema.json +15 -0
  115. package/schemas/task.schema.json +61 -1
  116. package/schemas/transition-definition.schema.json +8 -0
@@ -1,13 +1,13 @@
1
1
  ---
2
2
  title: Codex Workflow V2: delegated chat-only guide
3
- subtitle: Актуальный beta.12.9 путь от нового Discovery до принятого Milestone без ручного CLI
3
+ subtitle: Актуальный beta.13 путь от нового Discovery до принятого Milestone без ручного CLI
4
4
  part: Часть 2 из 3 | Практика
5
5
  document_version: 2.0
6
- date: 30 августа 2026
7
- subject: Практическое руководство по delegated Discovery и Milestone в Workflow V2 beta.12.9
6
+ date: 2 сентября 2026
7
+ subject: Практическое руководство по delegated Discovery и Milestone в Workflow V2 beta.13
8
8
  ---
9
9
 
10
- # 1. Рабочая модель beta.12.9
10
+ # 1. Рабочая модель beta.13
11
11
 
12
12
  Пользователь работает в одном Codex Project и формулирует продуктовый outcome. Coordinator выполняет
13
13
  CLI, создаёт отдельные Task/Reviewer chats и ведёт supervision loop. Workflow Core остаётся authority
@@ -33,14 +33,14 @@ Blocking unknown, scope change, grant issuance или unrecoverable integrity co
33
33
  - проводит Discovery без materialization при blocking unknowns;
34
34
  - собирает complete Milestone Plan с explicit dependencies;
35
35
  - создаёт Task chats just-in-time через project registry;
36
- - хранит bearer credentials только в памяти;
36
+ - передаёт только host-local credential references; bearer secrets не читает и не помещает в CLI/chat;
37
37
  - supervises routed Task до terminal Workflow state;
38
38
  - выполняет Milestone validation и exact final gate.
39
39
 
40
40
  # 2. Подготовка проекта перед новым Discovery
41
41
 
42
42
  1. Убедитесь, что checkout чистый и выбран правильный repository root.
43
- 2. Установите beta.12.9 как точную devDependency после публикации release.
43
+ 2. Установите beta.13 как точную 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.
@@ -51,14 +51,17 @@ Blocking unknown, scope change, grant issuance или unrecoverable integrity co
51
51
  AGENTS.md
52
52
  -> project-local gateway resolution
53
53
  -> gateway handshake
54
- -> status
54
+ -> status # compact projection по умолчанию
55
+ -> status --full # только для обоснованного historical investigation
55
56
  -> next
56
57
  -> doctor только как дополнительная диагностика
57
58
  ```
58
59
 
59
- Handshake beta.12.9 должен сообщать `packageVersion=2.0.0-beta.12.9`, `protocolVersion=2`,
60
+ Handshake beta.13 должен сообщать `packageVersion=2.0.0-beta.13`, `protocolVersion=2`,
60
61
  `stateSchemaVersion=2`, dependency DAG, initial Plan transaction, mechanical feasibility,
61
- Milestone autonomy и structural replacement disabled capabilities.
62
+ Milestone autonomy, host-safe credential reference, failed-Step continuation transaction,
63
+ cause-bound rolling refinement, structural production edge, compact status, reviewer runtime preflight,
64
+ explicit review mode, observed-route matrix и structural replacement disabled capabilities.
62
65
 
63
66
  # 3. Два уровня delegation
64
67
 
@@ -72,6 +75,7 @@ Milestone autonomy и structural replacement disabled capabilities.
72
75
  | Complete initial Milestone Plan | Human `MAC-*` confirmation | Выдать bounded Milestone autonomy grant |
73
76
  | Task execution | C1 handoff/claim и Core routing | Не использует approval grant как writer credential |
74
77
  | Semantic change | Human scope-change gate | Outcome, success signal, checks, acceptance, discovery, base |
78
+ | Audited pre-execution remediation | Core-derived, без нового Human gate | Только один upstream Task и одна dependency edge; semantic fields неизменны |
75
79
 
76
80
  ## 3.1. Опциональный bootstrap DGR для AUTO
77
81
 
@@ -116,7 +120,7 @@ delegate, scope, transitions и expiry. DGR передаётся только е
116
120
  ```text
117
121
  НОВЫЙ COORDINATOR CHAT
118
122
 
119
- Проведи новый Milestone через Codex Workflow V2 beta.12.9 в delegated режиме.
123
+ Проведи новый Milestone через Codex Workflow V2 beta.13 в delegated режиме.
120
124
  Repository: <ABSOLUTE-REPOSITORY-ROOT>.
121
125
  Milestone ID: AUTO.
122
126
  Delegate actor: agent:milestone-coordinator.
@@ -153,8 +157,10 @@ tasks через project chat registry, никогда fork/handoff текуще
153
157
  credentials. Supervise routed Task до terminal Workflow result, затем
154
158
  проверяй status, next и milestone progress перед следующей Task.
155
159
 
156
- Используй C1 handoff/claim, external-sealed reviewers и exact recovery
157
- routes. Не печатай claim/writer tokens. При split-required остановись на
160
+ Используй C1 handoff/claim только через claim/writer credential references,
161
+ external-sealed reviewers с explicit ordinary/security mode и exact recovery
162
+ routes. Не запрашивай и не печатай claim/writer tokens. Для обычного review
163
+ используй ordinary mode и не запускай implicit security scan. При split-required остановись на
158
164
  STRUCTURAL_REPLACEMENT_REQUIRED: P04-A replacement не реализует.
159
165
 
160
166
  После merge всех required Tasks выполни Milestone validation на чистом
@@ -236,19 +242,24 @@ navigation разрешает действия. На blocker/terminal boundary
236
242
 
237
243
  Credential и approval grant решают разные задачи.
238
244
 
239
- 1. `task handoff-prepare` возвращает first-field `credentialHandoff`.
240
- 2. Coordinator сохраняет one-time token только в working memory.
241
- 3. Target Task actor выполняет exact `task claim` с этим token.
242
- 4. Claim проверяет dependency binding и возвращает `writerLeaseReceipt`.
243
- 5. `task run` принимает active writer credential согласно `next.writerTokenContract` и обновляет lease.
245
+ 1. `task handoff-prepare` возвращает публичную `claimCredentialReference`, связанную с project, Task,
246
+ target actor, action и expiry.
247
+ 2. Coordinator передаёт reference целевому Task chat; underlying secret остаётся в host-local vault.
248
+ 3. Target Task actor выполняет exact `task claim --claim-credential-ref <CREF-...>`; successful claim
249
+ consumes одноразовый reference.
250
+ 4. Claim проверяет dependency binding и возвращает `writerCredentialReference`, а не plaintext token.
251
+ 5. `task run` и другие lease-bound действия принимают только `--writer-credential-ref` согласно fresh
252
+ `next.writerTokenContract` и обновляют lease без вывода secret.
244
253
  6. `task step-complete`, review record и другие guarded mutations используют только рекламируемый option.
245
- 7. После passed final review `task result-set` использует active writer token и освобождает lease до
254
+ 7. После passed final review `task result-set` использует active writer reference и освобождает lease до
246
255
  `awaiting_final_acceptance`; Human gate не должен удерживать credential.
247
- 8. После acceptance старый token не используется: fresh `next` рекламирует
256
+ 8. После acceptance старый reference не используется: fresh `next` рекламирует
248
257
  `task writer-credential-replace`, затем разрешает merge или merge confirmation.
249
258
 
250
- Нельзя искать token в later payload fields, писать его в prompt/report/evidence или заменять redacted
251
- fingerprint. Потеря token не разрешает новый handoff либо lease acquisition вне fresh recovery route.
259
+ Vault file обязан быть regular и mode `0600`. CLI проверяет reference binding и не выводит secret в
260
+ argv, stdout, stderr, error, packet или evidence. Legacy `--claim-token`/`--writer-token` запрещены.
261
+ Нельзя искать token в payload fields или заменять reference redacted fingerprint. Потеря reference не
262
+ разрешает новый handoff либо lease acquisition вне fresh recovery route.
252
263
 
253
264
  # 8. Plan, Knowledge Map и mechanical feasibility
254
265
 
@@ -263,6 +274,14 @@ manifest writer, возвращает Plan на `task plan-set` без authoriza
263
274
  `unverified` analyzer result не доказывает Plan и не блокирует unsupported semantics. Planner и human/delegate
264
275
  approval остаются ответственными за смысловую достаточность.
265
276
 
277
+ Если независимая PRA классифицирует consumer multi-Step Task как `runtime-composition`, Plan обязан
278
+ включить `requiresProductionEdges=true` и назвать transitive owner Step, consumer Step и exact executable
279
+ check consumer. Пропуск flag или edge planner'ом не отключает gate; простой one-Step runtime исключён.
280
+ При failed check beta.13 может добавить доказанный transitive component-owner path в
281
+ effective scope той же Task только внутри затронутой component boundary и без изменения objective,
282
+ requirements, acceptance или security boundary. Это structural admission: оно не доказывает product
283
+ truth, не заменяет фактический check/review и не заявляет реализацию P02 Step-validity authority.
284
+
266
285
  # 9. Atomic context refresh
267
286
 
268
287
  Когда top-level `next.action` равен `task context-refresh`, нельзя сначала выполнять standalone
@@ -281,24 +300,60 @@ Knowledge Map approval path. Milestone grant не разрешает standalone
281
300
  # 10. External-sealed review
282
301
 
283
302
  В Codex App нельзя запускать nested local reviewer как substitute для независимого процесса.
303
+ Это правило действует и для release E2E: реальный Task agent должен использовать отдельный App reviewer
304
+ через external-sealed packet/record, а не проверять nested native launch как production-путь.
284
305
 
285
306
  | Gate | Правильный путь |
286
307
  |---|---|
287
- | Guarded Step review | `step-review-packet` -> новый Reviewer chat -> `step-review-record` |
288
- | Submitted Task review | `review-packet` -> новый Final Reviewer chat -> `review-sealed-record` |
308
+ | Guarded Step review | `step-review-packet --review-mode ordinary|security` -> новый Reviewer chat -> `step-review-record` |
309
+ | Submitted Task review | `review-packet --review-mode ordinary|security` -> новый Final Reviewer chat -> `review-sealed-record` |
289
310
  | Explicit corrective disposition (если выбран) | Отдельный read-only Corrective/Plan Auditor chat; не attempt-count gate |
290
311
 
291
312
  Reviewer получает неизменённый packet, проверяет exact commit/diff/evidence и возвращает closed JSON.
292
313
  Task chat записывает его только при совпадении packet и repository seal hashes. Reviewer не исправляет код,
293
314
  не применяет grant и не принимает Result.
294
315
 
316
+ Для native reviewer closed JSON задаётся API-compatible strict Structured Output schema: все properties
317
+ обязательны, а необязательные значения finding явно nullable. Неполный или семантически противоречивый
318
+ ответ считается unverified и не создаёт remediation authority.
319
+
320
+ Перед packet Core выдаёт reviewer-runtime preflight: exact Node/Workflow provenance, совпадение declared,
321
+ locked и repository-local installed versions, hash-verified runtime build manifest и writable temporary
322
+ cache вне sealed checkout. Перед каждым packet preflight заново с диска разрешает recursive runtime
323
+ dependency graph по parent-aware, nested-first правилам Node и сверяет exact package manifests и SHA-256
324
+ attested runtime-файлов. Уже прогретый module cache не скрывает удалённую, подменённую, конфликтующую или
325
+ symlink-redirected dependency. После disk attestation preflight синхронно загружает exact installed
326
+ gateway, reviewer и workflow graph; общий с CLI gateway descriptor подтверждает exact
327
+ package/protocol/schema. Отдельный child process, timeout/retry и cached trust decision не используются;
328
+ raw process output и argv в packet не попадают. Preflight ничего не устанавливает и не изменяет checkout.
329
+ Missing/stale build либо dependency closure, module-load failure или contract mismatch дают
330
+ `prepared=false`: это инфраструктурный blocker, а не основание ослабить review. Для
331
+ обычной проверки выбирайте `ordinary`: implicit security scan запрещён. `security` выбирается только
332
+ когда security-focused review запрошен явно; mode связан с packet hash.
333
+
334
+ Каждый finding по возможности получает stable `causeId`, описывающий первопричину без номера попытки.
335
+ Distinct cause продолжает ту же Task без лимита циклов. Повтор одной authoritative причины требует
336
+ root-cause replan только для mechanically normalized check failure либо того же reviewer `causeId` с
337
+ `planConflict=true`. Сходство текста, число итераций и reviewer `causeId` без Plan conflict не создают
338
+ replan authority.
339
+
295
340
  # 11. Recovery без micro-patching
296
341
 
297
342
  | Состояние | Действие |
298
343
  |---|---|
344
+ | Step check failed с allowlisted dirty bytes | Beta.13 одной transaction сохраняет hashes и Task `needs_fix`, освобождает lease и не меняет product bytes; затем fresh credential replacement и continuation той же Task |
345
+ | Новый distinct cause после fix/review | Продолжить ту же Task без numeric hard stop и выполнить новый strict review |
346
+ | Повтор mechanically normalized cause | Fresh route требует root-cause replan той же Task |
347
+ | Повтор reviewer cause | Replan только при том же stable `causeId` и `planConflict=true`; prose similarity недостаточно |
348
+ | Failed check указал transitive owner той же component | Только advertised evidence-bound same-Task augmentation; semantic boundary неизменна |
349
+ | Plan требует production edge | До authorization явно указать owner, consumer и consumer-executed `checkRef`; это не product acceptance |
299
350
  | First proven impossible npm check после legacy/late authorization | Только рекламируемый `task plan-integrity-recover` |
351
+ | Direct imported migration checksum/catalog authority вне Step scope | beta.12.16: advertised `task plan-integrity-recover`, затем тот же Step с exact derived support path; Human replan не нужен |
352
+ | In-flight Plan-integrity Task требует package update | beta.12.19 external preflight выводит coherent exact beta.12 source из пяти version surfaces; затем только dependency-only transport и advertised recovery |
353
+ | Новый Plan явно принял ранее derived check-support path, но старый event выглядит corrupt | beta.12.19 external preflight требует exact post-rebind scope adoption и неизменные dirty bytes; затем dependency-only transport, Knowledge rebind, PRA и fresh authorization без Human gate |
354
+ | После rebind и authorization `next` показывает `task run`, но checkout содержит сохранённые Step bytes | Продолжать только если beta.12.19 `next` показывает `planIntegrityDirtyCarryover.state=validated`; HEAD, Plan chain, paths и content hash уже проверены Core. При `doctor` запуск запрещён |
300
355
  | Downstream proof требует изменить completed predecessor | Только `task downstream-proof-recover`, затем новый Plan/risk audit/authorization в той же Task |
301
- | Failed guarded review | Та же Task: исправление и новый strict review без attempt hard stop |
356
+ | Failed guarded review | Core атомарно освобождает exact lease; distinct cause продолжает ту же Task, а repeated authoritative cause также завершает C1 и открывает root-cause replan без Human gate |
302
357
  | Finding `route=fix` | Продолжить тот же Step; count остаётся диагностикой |
303
358
  | Finding `route=replan` с exact Plan conflict | `task plan-set`, меняются только implementation Steps |
304
359
  | `split-required` | Stop: `STRUCTURAL_REPLACEMENT_REQUIRED`, никаких replacement writes |
@@ -306,13 +361,35 @@ Task chat записывает его только при совпадении p
306
361
  | После downstream recovery beta.12.6 вернула отвергнутый Plan через Knowledge rebind | Только beta.12.7 replan update bridge, затем recovery и новый consolidated Plan той же Task |
307
362
  | Corrective Plan потерял authority ранее принятого Step commit | Только advertised beta.12.9 historical-Step preflight/recovery; без rebase/reset и без новой Task |
308
363
  | Exact beta.11 attempt-four `stop-escalate` | Только advertised prepare, затем отдельный Human-confirmed apply; исходный stop сохраняется |
364
+ | Pre-execution `stop-escalate` + `auditedRemediation` | Discovery -> `milestone remediation-materialize` -> новый upstream Task -> merge -> replan исходной Task |
309
365
  | Любой другой explicit `stop-escalate` | Terminal user attention |
310
366
  | Stale dependency binding | Новый handoff/claim только по fresh `next` |
311
367
  | Review seal drift | Discard review и создать fresh packet |
312
368
 
313
369
  Plan-integrity recovery не редактирует Plan, package.json или worktree и не синтезирует второй failure.
370
+ Для beta.12.16 check-support evidence fresh `task run` обязан показать `boundedEffect=record-machine-derived-check-support-scope`
371
+ и добавить ровно рекламируемый support path в Worker `allowedWrites`. Для иных Plan-integrity видов
372
+ сохраняется `replan-required` route.
314
373
  P04-A не переносит completed Steps и не rewires dependencies при split.
315
374
 
375
+ Audited remediation beta.12.11 не является generic scope-change. Coordinator использует только exact
376
+ route из fresh `next`: создаёт Discovery для доказанной отсутствующей upstream capability, доводит его
377
+ до ready и вызывает `milestone remediation-materialize` с текущими revisions и exact
378
+ `requiredPredecessorTaskIds`. Core не принимает новый Milestone Plan: сохраняет outcome/success signal,
379
+ acceptance/checks и старые memberships, append-only добавляет один required Task и делает исходную Task
380
+ зависимой от него. Новый Task получает приоритет. Его `task authorize` и `task accept` используют только
381
+ `correctiveDerivedApproval.actor` с `humanApprovalRequired=false`; Worker, checks, commits и reviews
382
+ остаются обычными. После merge fresh `next` возвращает исходную Task к `task plan-set`, свежему Risk
383
+ Audit и как минимум следующему Step. Dirty checkout, lease/transaction, stale audit, started Task,
384
+ неполный predecessor frontier или повторное использование audit означают hard stop.
385
+
386
+ После обновления package fresh `next` может добавить
387
+ `auditedRemediation.dependencyKnowledgeRefresh`. Продолжайте без Human approval только при
388
+ `eligible=true`: Core доказал clean checkout, exact aligned version surfaces, единственный изменённый
389
+ Knowledge path `package.json` и dependency-only Git chain. Refresh будет применён атомарно во время
390
+ `milestone remediation-materialize`. Если объект отсутствует или содержит blockers, не маскируйте
391
+ документационный/product drift под update — используйте обычный Project Knowledge flow.
392
+
316
393
  `task downstream-proof-recover` также не редактирует product files и не создаёт новую Task. Он сохраняет
317
394
  dirty worktree/HEAD, append-only фиксирует invalidated predecessor evidence, освобождает C1 и возвращает
318
395
  текущую Task к `task plan-set`. Если fresh `next` не рекламирует этот переход, вызывать его нельзя.
@@ -330,6 +407,28 @@ binding dirty set. Recover регистрирует только dependency HEAD
330
407
  Recover сохраняет product bytes; затем обязательны `status -> next -> task step-complete`. Если package
331
408
  уже зарегистрирован, используйте advertised `task historical-step-provenance-preflight/recover`.
332
409
 
410
+ Для beta.12.11 Task, застрявшей на selector-required `npm run validate:affected` без selector, сначала
411
+ остановите Worker и дождитесь отсутствия active/stale lease. Внешний exact beta.12.12 runner допускается
412
+ только для read-only `update plan-integrity-update-preflight`; требуйте `eligible=true`, exact failed Step,
413
+ полную remediation history и неизменённый dirty allowlist. После единственного dependency-only commit
414
+ на base и Task branch fresh repository-local `next` должен рекламировать
415
+ `update plan-integrity-dependency-recover`. Recovery атомарно регистрирует commit и dependency-only
416
+ Knowledge refresh. Затем выполните advertised credential recovery, `task plan-integrity-recover` и
417
+ `task corrective-yield`. Replacement Plan меняет только неисполняемую check на
418
+ `npm run validate:affected -- --files=<Step allowedWrites>` и проходит fresh Plan Risk Audit до нового run.
419
+
420
+ Если update произошёл уже после `task corrective-yield`, beta.12.15 допускает только advertised
421
+ `update plan-integrity-dependency-recover`. Между последним зарегистрированным recovery commit и HEAD
422
+ может быть один или несколько пропущенных package updates, но каждый обязан менять ровно
423
+ `package.json`/`package-lock.json`, только exact Workflow pin и образовывать непрерывную parent chain.
424
+ Core атомарно регистрирует всю доказанную цепочку; failed Step, Plan, remediation IDs, dirty paths и
425
+ dirty SHA-256 должны полностью совпадать. После recovery снова запросите `status -> next`; ожидаемый
426
+ route остаётся `task corrective-replan-prepare`.
427
+ Если новый package сначала сообщает `TASK_TRANSACTION_INTEGRITY_FAILED` только для terminal
428
+ corrective-replan journals предыдущего release, не repair/delete/edit state. beta.12.15 читает лишь
429
+ точно зарегистрированные completed manifest/runtime/catalog tuples; pending либо неизвестный tuple
430
+ остаётся блокером. После установки обязательно повторите handshake и последовательные `status -> next`.
431
+
333
432
  Для exact beta.12.6 stranded-replan shape сначала нужен eligible read-only source preflight с exact
334
433
  revision/HEAD/dirty hash. Затем два beta.12.7 dependency-only commits и advertised dependency/replan
335
434
  recoveries. После Knowledge refresh `next` обязан остаться на `task plan-set`; новый единый Step должен
@@ -345,6 +444,20 @@ escalated daemon failure.
345
444
  восстанавливает только advertised exact claimant route. Semantic drift, broken chain, необъяснённый HEAD
346
445
  или revision означают stop; продолжение разрешено только когда fresh `next` сам вернул `task run`.
347
446
 
447
+ ## 11.1. Наблюдение и route boundary beta.13
448
+
449
+ Для routine supervision используйте compact `status`: он показывает active Task/Step, action,
450
+ blockedAction, observation reasons и stable route fingerprint без всей historical state. `status --full`
451
+ запрашивайте только для конкретного расследования, которому нужны полные entity arrays.
452
+
453
+ Каждый fresh `next` связывает action с versioned matrix v2 для 13 классов, наблюдавшихся в Signal.
454
+ У каждого класса есть unique priority и один exact production-transition witness либо real terminal
455
+ observation. Это не обещание, что E2E прошла каждая action: action-level metadata явно сообщает
456
+ `executable-witnessed`, `unwitnessed` или `unsupported`. Unsupported action — manual/terminal boundary,
457
+ а не приглашение составить команду по догадке. Boundary
458
+ `signal-observed-route-class-witnesses` намеренно не утверждает полноту всей state machine; неизвестный
459
+ будущий route остаётся blocker.
460
+
348
461
  # 12. Milestone final acceptance
349
462
 
350
463
  После merge всех required Tasks Coordinator проверяет clean base HEAD и выполняет рекламируемую
@@ -362,14 +475,23 @@ Task/project DGR. `dependencyBinding` для standalone handoff равен null.
362
475
 
363
476
  # 14. Итоговый checklist пользователя
364
477
 
365
- - beta.12.9 exact package и новый bundled gateway установлены;
478
+ - beta.13 exact package и новый bundled gateway установлены; handshake показывает
479
+ `packageVersion=2.0.0-beta.13`, protocol/state schema `2/2` и beta.13 capabilities;
366
480
  - новый Coordinator chat не является fork старого Milestone;
367
481
  - bootstrap DGR, если нужен, выдан отдельным exact human confirmation;
368
482
  - Discovery не materialized при blocking unknowns;
369
483
  - complete initial Plan содержит dependencies для каждой membership;
370
484
  - Milestone Autonomy Contract подтверждён отдельным MAC turn;
371
485
  - Coordinator сам создаёт и supervises Task/Reviewer chats;
372
- - credentials не появились в prompts, reports или files;
486
+ - только credential references появились в CLI/chat; bearer secret отсутствует в argv/output/errors,
487
+ prompts, reports и evidence, а vault file имеет mode `0600`;
488
+ - routine observation использует compact `status`; full projection запрашивается только через `--full`;
489
+ - reviewer runtime preflight подготовлен, а каждый packet имеет explicit `ordinary` или `security` mode;
490
+ - distinct findings продолжают ту же Task без numeric cap, repeated authoritative cause ведёт к
491
+ root-cause replan, а attempt number/prose similarity не используются как authority;
492
+ - transitive component owner и production edge остаются structural admission, а product truth
493
+ подтверждается фактическими checks/reviews/acceptance;
494
+ - route metadata находится в Signal-observed matrix; unsupported action не превращается в invented CLI;
373
495
  - каждый transition пришёл из fresh `next`;
374
496
  - beta.11 stop override, если рекламировался, прошёл отдельные prepare и user-confirmed apply без journal rewrite;
375
497
  - downstream predecessor recovery, если рекламировался, сохранил worktree и завершился новым Plan authority;