codex-workflow-v2 2.0.0-beta.12.10 → 2.0.0-beta.12.12

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 (37) hide show
  1. package/README.md +6 -4
  2. package/dist/src/alpha6/mechanical-feasibility.js +28 -12
  3. package/dist/src/alpha6/mechanical-feasibility.js.map +1 -1
  4. package/dist/src/alpha6/npm-check-contract.d.ts +11 -0
  5. package/dist/src/alpha6/npm-check-contract.js +36 -0
  6. package/dist/src/alpha6/npm-check-contract.js.map +1 -0
  7. package/dist/src/alpha6/plan-integrity.js +82 -26
  8. package/dist/src/alpha6/plan-integrity.js.map +1 -1
  9. package/dist/src/alpha6/remediation.js +88 -40
  10. package/dist/src/alpha6/remediation.js.map +1 -1
  11. package/dist/src/cli.js +26 -0
  12. package/dist/src/cli.js.map +1 -1
  13. package/dist/src/contracts.d.ts +37 -3
  14. package/dist/src/dependency-provenance.d.ts +18 -2
  15. package/dist/src/dependency-provenance.js +152 -11
  16. package/dist/src/dependency-provenance.js.map +1 -1
  17. package/dist/src/lifecycle/corrective-replan.js +1 -1
  18. package/dist/src/lifecycle/corrective-replan.js.map +1 -1
  19. package/dist/src/version.d.ts +1 -1
  20. package/dist/src/version.js +1 -1
  21. package/dist/src/workflow.d.ts +3 -0
  22. package/dist/src/workflow.js +315 -15
  23. package/dist/src/workflow.js.map +1 -1
  24. package/docs/delegated-approval.md +1 -1
  25. package/docs/pdf/codex-workflow-v2-architecture-ru.pdf +0 -0
  26. package/docs/pdf/codex-workflow-v2-chat-only-guide-ru.pdf +0 -0
  27. package/docs/pdf/codex-workflow-v2-technical-reference-ru.pdf +0 -0
  28. package/docs/pdf/sources/codex-workflow-v2-architecture-ru.md +22 -6
  29. package/docs/pdf/sources/codex-workflow-v2-chat-only-guide-ru.md +25 -8
  30. package/docs/pdf/sources/codex-workflow-v2-technical-reference-ru.md +45 -11
  31. package/docs/release.md +3 -2
  32. package/docs/updating-existing-project.md +35 -2
  33. package/docs/validation-report.md +119 -90
  34. package/package.json +1 -1
  35. package/plugins/codex-workflow-gateway/skills/codex-workflow-gateway/SKILL.md +10 -0
  36. package/schemas/corrective-decision-event.schema.json +57 -10
  37. package/schemas/task.schema.json +23 -0
@@ -90,7 +90,7 @@ uses the grant and passes `--delegation-grant` to the Core transition.
90
90
 
91
91
  Ordinary semantic Milestone scope changes remain journaled, human-only lifecycle actions. A
92
92
  contract delegate may evolve only the membership graph inside the cryptographically bound
93
- semantic scope. The separate beta.12.10 `milestone remediation-materialize` route is not delegation
93
+ semantic scope. The separate beta.12.11 `milestone remediation-materialize` route is not delegation
94
94
  and does not widen this allow-list: Core derives it only from a current blocking Plan Risk Audit and
95
95
  a previously authorized active Milestone. Its topology effect is fixed to one new required upstream
96
96
  Task plus one dependency edge, with all Milestone semantics preserved. The resulting
@@ -1,10 +1,10 @@
1
1
  ---
2
- title: Codex Workflow V2: архитектура beta.12.10
2
+ title: Codex Workflow V2: архитектура beta.12.12
3
3
  subtitle: Источники истины, lifecycle, роли, delegation, зависимости Tasks и границы доверия
4
4
  part: Часть 1 из 3 | Архитектура
5
5
  document_version: 2.0
6
6
  date: 31 августа 2026
7
- subject: Архитектура и границы Codex Workflow V2 beta.12.10
7
+ subject: Архитектура и границы Codex Workflow V2 beta.12.12
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.10 гарантирует
21
+ ## 1.1. Что beta.12.12 гарантирует
22
22
 
23
23
  - exact project-local npm package и совместимый handshake до lifecycle действий;
24
24
  - Discovery до materialization Task или Milestone;
@@ -41,7 +41,7 @@ Codex Workflow V2 - локальный state machine поверх Codex App, Git
41
41
  один additive remediation Task без нового Human gate; Core сохраняет Milestone semantics и выводит
42
42
  authority из текущей Milestone authorization и exact audit evidence.
43
43
 
44
- ## 1.2. Что beta.12.10 не гарантирует
44
+ ## 1.2. Что beta.12.12 не гарантирует
45
45
 
46
46
  - правильность продуктовой идеи или автоматически выбранного provider Task;
47
47
  - semantic sufficiency Plan, если точные факты нельзя доказать поддерживаемым analyzer;
@@ -296,7 +296,7 @@ beta.12.9 закрывает исторический provenance gap corrective
296
296
  регистрирует dependency и historical authority одной revision. Оба пути сохраняют dirty bytes текущего
297
297
  Step, не переписывают Git и завершаются fresh обычным `step-complete` flow.
298
298
 
299
- beta.12.10 закрывает иной класс тупика до начала выполнения. Если current Plan Risk Audit required Task
299
+ beta.12.11 закрывает иной класс тупика до начала выполнения. Если current Plan Risk Audit required Task
300
300
  записал `stop-escalate`, потому что нужной upstream capability нет в scope этой Task, Core рекламирует
301
301
  audited remediation. Coordinator сначала формализует capability обычным Discovery. Затем одна Project
302
302
  transaction append-only создаёт required remediation Task на exact merged predecessor frontier исходной
@@ -307,6 +307,22 @@ memberships. Scope-change event связан с Task revision, Brief/Plan и aud
307
307
  обычный Plan, audit, C1, commits и reviews. После её merge исходная Task обязана заменить отвергнутый Plan,
308
308
  пройти fresh audit и продолжить Step. Final Milestone acceptance не выводится автоматически.
309
309
 
310
+ Dependency-only update не должен создавать промежуточный Human gate. Если stale Knowledge отличается
311
+ только content hash `package.json`, все package surfaces уже равны runtime version, checkout clean, а
312
+ каждый Git commit, менявший `package.json` после approved hash, затрагивает ровно manifest/lock и только
313
+ Workflow pin, Core переносит reconcile и `corrective-derived` approval внутрь той же atomic remediation
314
+ transaction. Изменение любого другого Knowledge source, classification, gap или conflict fail-closed
315
+ остаётся в обычном явном approval flow.
316
+
317
+ beta.12.12 закрывает доказанный runtime Plan-integrity gap. Mechanical feasibility теперь статически
318
+ распознаёт repository-local `node <runner> affected`, когда исходник runner явно требует selector,
319
+ и блокирует authorization для `npm run <script>` без `--base`, `--head` или `--files`. Для уже начатой
320
+ Task recovery связывает не только первую, а всю последовательную checks-failed history, точный Plan,
321
+ manifest/runner hashes, HEAD и dirty allowlist. Exact beta.12.11 update bridge сохраняет product bytes,
322
+ регистрирует только dependency commit и атомарно обновляет Knowledge, если изменился только Workflow pin.
323
+ Результат — один `replan-required` decision и обычный corrective replan с исполняемой check command;
324
+ повтор старой команды, ручной commit product files и state editing не допускаются.
325
+
310
326
  Docker socket `EPERM` в sandbox не является доказательством сломанного daemon. Gateway один раз
311
327
  повторяет exact health probe или Plan check с sandbox escalation без расходования remediation attempt.
312
328
  Restart Docker Desktop требует отдельного разрешения и допустим только после escalated daemon failure.
@@ -316,7 +332,7 @@ Restart Docker Desktop требует отдельного разрешения
316
332
  # 10. Operational checklist
317
333
 
318
334
  - exact package version установлен, bundled gateway соответствует release и переустановлен;
319
- - handshake подтверждает protocol 2, state schema 2 и beta.12.10 capabilities;
335
+ - handshake подтверждает protocol 2, state schema 2 и beta.12.12 capabilities;
320
336
  - каждый mutation следует свежему `status -> next` и exact option contract;
321
337
  - Docker permission failure сначала классифицируется как sandbox boundary, а не как infra retry;
322
338
  - 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.10 путь от нового Discovery до принятого Milestone без ручного CLI
3
+ subtitle: Актуальный beta.12.12 путь от нового Discovery до принятого Milestone без ручного CLI
4
4
  part: Часть 2 из 3 | Практика
5
5
  document_version: 2.0
6
6
  date: 31 августа 2026
7
- subject: Практическое руководство по delegated Discovery и Milestone в Workflow V2 beta.12.10
7
+ subject: Практическое руководство по delegated Discovery и Milestone в Workflow V2 beta.12.12
8
8
  ---
9
9
 
10
- # 1. Рабочая модель beta.12.10
10
+ # 1. Рабочая модель beta.12.12
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.10 как точную devDependency после публикации release.
43
+ 2. Установите beta.12.12 как точную 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.10 должен сообщать `packageVersion=2.0.0-beta.12.10`, `protocolVersion=2`,
59
+ Handshake beta.12.12 должен сообщать `packageVersion=2.0.0-beta.12.12`, `protocolVersion=2`,
60
60
  `stateSchemaVersion=2`, dependency DAG, initial Plan transaction, mechanical feasibility,
61
61
  Milestone autonomy и structural replacement disabled capabilities.
62
62
 
@@ -117,7 +117,7 @@ delegate, scope, transitions и expiry. DGR передаётся только е
117
117
  ```text
118
118
  НОВЫЙ COORDINATOR CHAT
119
119
 
120
- Проведи новый Milestone через Codex Workflow V2 beta.12.10 в delegated режиме.
120
+ Проведи новый Milestone через Codex Workflow V2 beta.12.12 в delegated режиме.
121
121
  Repository: <ABSOLUTE-REPOSITORY-ROOT>.
122
122
  Milestone ID: AUTO.
123
123
  Delegate actor: agent:milestone-coordinator.
@@ -315,7 +315,7 @@ Task chat записывает его только при совпадении p
315
315
  Plan-integrity recovery не редактирует Plan, package.json или worktree и не синтезирует второй failure.
316
316
  P04-A не переносит completed Steps и не rewires dependencies при split.
317
317
 
318
- Audited remediation beta.12.10 не является generic scope-change. Coordinator использует только exact
318
+ Audited remediation beta.12.11 не является generic scope-change. Coordinator использует только exact
319
319
  route из fresh `next`: создаёт Discovery для доказанной отсутствующей upstream capability, доводит его
320
320
  до ready и вызывает `milestone remediation-materialize` с текущими revisions и exact
321
321
  `requiredPredecessorTaskIds`. Core не принимает новый Milestone Plan: сохраняет outcome/success signal,
@@ -326,6 +326,13 @@ acceptance/checks и старые memberships, append-only добавляет о
326
326
  Audit и как минимум следующему Step. Dirty checkout, lease/transaction, stale audit, started Task,
327
327
  неполный predecessor frontier или повторное использование audit означают hard stop.
328
328
 
329
+ После обновления package fresh `next` может добавить
330
+ `auditedRemediation.dependencyKnowledgeRefresh`. Продолжайте без Human approval только при
331
+ `eligible=true`: Core доказал clean checkout, exact aligned version surfaces, единственный изменённый
332
+ Knowledge path `package.json` и dependency-only Git chain. Refresh будет применён атомарно во время
333
+ `milestone remediation-materialize`. Если объект отсутствует или содержит blockers, не маскируйте
334
+ документационный/product drift под update — используйте обычный Project Knowledge flow.
335
+
329
336
  `task downstream-proof-recover` также не редактирует product files и не создаёт новую Task. Он сохраняет
330
337
  dirty worktree/HEAD, append-only фиксирует invalidated predecessor evidence, освобождает C1 и возвращает
331
338
  текущую Task к `task plan-set`. Если fresh `next` не рекламирует этот переход, вызывать его нельзя.
@@ -343,6 +350,16 @@ binding dirty set. Recover регистрирует только dependency HEAD
343
350
  Recover сохраняет product bytes; затем обязательны `status -> next -> task step-complete`. Если package
344
351
  уже зарегистрирован, используйте advertised `task historical-step-provenance-preflight/recover`.
345
352
 
353
+ Для beta.12.11 Task, застрявшей на selector-required `npm run validate:affected` без selector, сначала
354
+ остановите Worker и дождитесь отсутствия active/stale lease. Внешний exact beta.12.12 runner допускается
355
+ только для read-only `update plan-integrity-update-preflight`; требуйте `eligible=true`, exact failed Step,
356
+ полную remediation history и неизменённый dirty allowlist. После единственного dependency-only commit
357
+ на base и Task branch fresh repository-local `next` должен рекламировать
358
+ `update plan-integrity-dependency-recover`. Recovery атомарно регистрирует commit и dependency-only
359
+ Knowledge refresh. Затем выполните advertised credential recovery, `task plan-integrity-recover` и
360
+ `task corrective-yield`. Replacement Plan меняет только неисполняемую check на
361
+ `npm run validate:affected -- --files=<Step allowedWrites>` и проходит fresh Plan Risk Audit до нового run.
362
+
346
363
  Для exact beta.12.6 stranded-replan shape сначала нужен eligible read-only source preflight с exact
347
364
  revision/HEAD/dirty hash. Затем два beta.12.7 dependency-only commits и advertised dependency/replan
348
365
  recoveries. После Knowledge refresh `next` обязан остаться на `task plan-set`; новый единый Step должен
@@ -375,7 +392,7 @@ Task/project DGR. `dependencyBinding` для standalone handoff равен null.
375
392
 
376
393
  # 14. Итоговый checklist пользователя
377
394
 
378
- - beta.12.10 exact package и новый bundled gateway установлены;
395
+ - beta.12.12 exact package и новый bundled gateway установлены;
379
396
  - новый Coordinator chat не является fork старого Milestone;
380
397
  - bootstrap DGR, если нужен, выдан отдельным exact human confirmation;
381
398
  - Discovery не materialized при blocking unknowns;
@@ -1,10 +1,10 @@
1
1
  ---
2
- title: Codex Workflow V2: технический справочник beta.12.10
2
+ title: Codex Workflow V2: технический справочник beta.12.12
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: 31 августа 2026
7
- subject: Технический контракт Codex Workflow V2 beta.12.10
7
+ subject: Технический контракт Codex Workflow V2 beta.12.12
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.10 | Значение |
16
+ | Параметр beta.12.12 | Значение |
17
17
  |---|---|
18
- | npm package | `codex-workflow-v2@2.0.0-beta.12.10` |
18
+ | npm package | `codex-workflow-v2@2.0.0-beta.12.12` |
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.10 capabilities:
40
+ Ключевые beta.12.12 capabilities:
41
41
 
42
42
  | Группа | Capabilities |
43
43
  |---|---|
@@ -402,7 +402,7 @@ exact `HEAD^`/`HEAD`, package/version surfaces и SHA-256 dirty worktree. Recove
402
402
  update-route, dependency provenance в одной Task revision. Fresh `status -> next` после transition
403
403
  должен вернуть обычный credential/`task step-complete` flow текущего Step.
404
404
 
405
- # 13.4. beta.12.10 audited remediation topology
405
+ # 13.4. beta.12.11 audited remediation topology
406
406
 
407
407
  `milestone remediation-materialize` применим только к required Task в
408
408
  `awaiting_execution_authorization`, если ни один Step не начат и последний audit текущей
@@ -435,6 +435,39 @@ Current Milestone execution authorization superseded и заменён `correcti
435
435
  mechanical feasibility, C1, Step checks/commits/reviews и final Milestone acceptance не меняются.
436
436
  После merge remediation Task исходная Task получает `task plan-set` и проходит fresh audit/authority.
437
437
 
438
+ Если перед этим exact package update сделал Knowledge Map stale, navigation может вернуть
439
+ `auditedRemediation.dependencyKnowledgeRefresh`. Eligibility требует: ранее active approved map;
440
+ inspected status `stale`; единственный изменённый Knowledge path `package.json`; clean checkout;
441
+ runtime/declared/locked/installed/HEAD/Milestone-base version равны; approved package content найден в
442
+ Git ancestry; каждый последующий commit, трогавший manifest, меняет ровно `package.json` и
443
+ `package-lock.json`, причём после удаления `codex-workflow-v2` обе JSON-структуры совпадают с parent.
444
+ Materialization тогда дополнительно пишет active Knowledge Map с revision +2 и approval mode
445
+ `corrective-derived` в той же Project transaction. Это не разрешает автоматически принимать README,
446
+ docs, commands, classification, authority, gaps или conflicts.
447
+
448
+ # 13.5. beta.12.12 selector-contract Plan-integrity recovery
449
+
450
+ Analyzer `wf2.root-npm-script-arguments@1` читает root `package.json` и только repository-local runner
451
+ из evaluated Git HEAD. Узкий доказуемый contract — script `node <safe-relative-path> affected`, исходник
452
+ которого использует `process.argv.slice(3)`, содержит selector literals `--base`, `--head`, `--files` и
453
+ явный `Affected mode requires` guard. Для такого script check без forwarded selector получает
454
+ `ROOT_NPM_SCRIPT_REQUIRED_SELECTOR_MISSING` и блокирует execution authorization. Произвольный shell или
455
+ нераспознанный runner остаётся `unverified`, а не объявляется ошибочным по догадке.
456
+
457
+ Legacy recovery принимает последовательную append-only history из одного или нескольких
458
+ `checks-failed` events при отсутствии corrective decision. Evidence v2 связывает каждый event ID/hash/
459
+ ordinal, Task revision, Plan/Step definition, manifest и runner hashes, Git HEAD, conflicts и SHA-256
460
+ dirty worktree. `task plan-integrity-recover` записывает один `replan-required` decision с
461
+ `triggeringAttemptCount = failures + 1` и полным `coveredEventIds`.
462
+
463
+ Если exact beta.12.12 package ещё не установлен, `update plan-integrity-update-preflight` проверяет
464
+ source beta.12.11, отсутствие leases/transactions и exact dirty allowlist. После dependency-only
465
+ transport `update plan-integrity-dependency-preflight/recover` регистрирует единственный HEAD как system
466
+ commit. Когда Knowledge drift объясняется только Workflow pin, та же Project transaction выполняет
467
+ corrective-derived reconcile/approval; прочий drift fail-closed. Product bytes не коммитятся и не
468
+ переносятся. Fresh route продолжается через credential replacement, `plan-integrity-recover`, yield и
469
+ corrective replan с selector-bearing check.
470
+
438
471
  # 14. P04-A structural replacement boundary
439
472
 
440
473
  Command shape `task replacement-materialize` retained только для compatibility diagnostics. Любая попытка
@@ -497,12 +530,12 @@ Docker socket/CLI `EPERM`, `operation not permitted` или `permission denied`
497
530
  После каждой successful mutation обязателен sequential `status`, затем fresh `next`. Failed status/next
498
531
  не разрешает direct mutation. Syntax help read-only и не заменяет navigation authority.
499
532
 
500
- # 18. Public command surface beta.12.10
533
+ # 18. Public command surface beta.12.12
501
534
 
502
535
  | Область | Actions |
503
536
  |---|---|
504
537
  | System | `doctor`, `status`, `next`, `gateway handshake`, `locks` |
505
- | Update | `preflight`, `rescue-preflight`, dependency provenance, historical-Step dependency bridge, downstream-proof dependency bridge, downstream-proof replan update/dependency bridge |
538
+ | Update | `preflight`, `rescue-preflight`, dependency provenance, historical-Step dependency bridge, downstream-proof bridges, Plan-integrity update/dependency bridge |
506
539
  | Project memory | `scan`, `show`, `status`, `approve`, `reconcile` |
507
540
  | Delegation | `prepare`, `grant`, `list`, `show`, `revoke` |
508
541
  | Graph | `prepare`, `status`, `refresh-request`, `bind`, `fallback` |
@@ -522,10 +555,11 @@ Exact options берутся из fresh `next`; command help используе
522
555
 
523
556
  Перед package update project-local `update preflight` должен вернуть `safe=true`: clean checkout, нет
524
557
  running Step и active/stale writer lease. Исключения — документированный alpha.7 rescue, beta.12.6
525
- active-downstream-proof bridge, beta.12.7 exact stranded-replan bridge и beta.12.9 historical-Step
526
- dependency bridge; все они fail-closed и не дают общего разрешения dirty update.
558
+ active-downstream-proof bridge, beta.12.7 exact stranded-replan bridge, beta.12.9 historical-Step
559
+ dependency bridge и beta.12.12 Plan-integrity bridge; все они fail-closed и не дают общего разрешения
560
+ dirty update.
527
561
 
528
- Перед beta.12.10 tag обязательны `npm ci`, `npm run validate`, `npm run test:signal-remediation-e2e`, `npm run pack:check`,
562
+ Перед beta.12.12 tag обязательны `npm ci`, `npm run validate`, `npm run test:signal-remediation-e2e`, `npm run pack:check`,
529
563
  `npm run smoke:downstream`, `npm run plugin:check`, official plugin/skill validators,
530
564
  `npm run docs:pdf:check`, `npm run release:check` с exact tag binding и validation
531
565
  append-only real-agent lifecycle log.
package/docs/release.md CHANGED
@@ -28,7 +28,7 @@ The PDF check deterministically regenerates all three Russian documents from
28
28
  `docs/pdf/sources`, binds the visible package version to the root manifest, and fails when any
29
29
  tracked PDF is stale. Source and binary PDFs are one release unit.
30
30
 
31
- For beta.12.10, the release gate also relies on `npm run release:check` to fail if:
31
+ For beta.12.12, the release gate also relies on `npm run release:check` to fail if:
32
32
 
33
33
  - canonical entity schema 2 shapes drift;
34
34
  - protocol 2 is not the active public contract, or intact protocol-1 adoption evidence stops being readable through the bounded compatibility window;
@@ -57,7 +57,8 @@ For beta.12.10, the release gate also relies on `npm run release:check` to fail
57
57
  commit, current Plan/Step, dirty paths/content hash, and absence of leases/transactions.
58
58
  - the read-only Milestone progress projection, replacement regression, project-monotonic chat
59
59
  registry, title fallback/readback, or long-Cyrillic multi-attempt E2E evidence is absent.
60
- - bounded first-failure Plan-integrity recovery, exact failed-remediation/manifest/worktree
60
+ - bounded first- or repeated-failure Plan-integrity recovery, selector-required npm-check
61
+ feasibility, exact failed-remediation/manifest/worktree
61
62
  bindings, or the no-synthetic-second-failure regression is absent.
62
63
  - downstream proof cannot invalidate only completed transitive-predecessor authority while
63
64
  preserving worktree/HEAD, yielding C1, and returning the same Task to fresh planning; or unrelated
@@ -22,12 +22,37 @@ state schema. Совпадение `stateSchemaVersion` до и после об
22
22
  нужна. Для alpha.6 при `stateSchemaVersion: 2` применяется не migration, а sidecar-only
23
23
  adoption posture.
24
24
 
25
- ### beta.12.10: audited remediation вместо ручной смены Milestone scope
25
+ ### beta.12.12: неисполняемая Step check и сохранение текущей реализации
26
+
27
+ Новые Plans больше не могут получить execution authorization, если root npm script запускает
28
+ repository-local `affected` validator, сам validator явно требует `--base`, `--head` или `--files`,
29
+ а Step check не передаёт ни одного selector. Исправьте check в Plan, например
30
+ `npm run validate:affected -- --files=<allowedWrites>`; Worker и remediation attempt до этого не
31
+ запускаются.
32
+
33
+ Для Task, уже застрявшей на beta.12.11 после одного или нескольких одинаковых `checks-failed`,
34
+ используется только bounded bridge. Внешний exact beta.12.12 runner выполняет read-only
35
+ `update plan-integrity-update-preflight`; продолжение допустимо лишь при `eligible=true`, отсутствии
36
+ lease/transaction и точном dirty set внутри failed Step `allowedWrites`. Затем один dependency-only
37
+ commit (`package.json` и `package-lock.json`) должен оказаться и на Milestone base, и в Task history
38
+ без изменения product bytes. Fresh repository-local `next` рекламирует
39
+ `update plan-integrity-dependency-recover`; этот переход регистрирует dependency commit и, если
40
+ Knowledge drift вызван только Workflow pin в `package.json`, атомарно выполняет corrective-derived
41
+ Knowledge refresh без Human approval.
42
+
43
+ После регистрации Core связывает всю append-only цепочку failed attempts, текущий Plan, HEAD,
44
+ manifest, validator и SHA-256 dirty worktree. `task plan-integrity-recover` записывает один
45
+ `replan-required` decision для следующего ordinal. Затем следуйте fresh
46
+ `task corrective-yield -> task corrective-replan-*`; replacement Plan обязан сохранить Step и dirty
47
+ allowlist, но заменить check на исполняемую selector-bearing команду. Не коммитьте product files,
48
+ не редактируйте state и не повторяйте старую неисполняемую проверку.
49
+
50
+ ### beta.12.11: audited remediation и dependency-only Knowledge refresh
26
51
 
27
52
  После безопасного обновления существующий active Milestone может продолжить работу без пересоздания,
28
53
  если current `next` показывает pre-execution `stop-escalate` и объект `auditedRemediation`. Это не
29
54
  update compatibility bridge и не разрешение вручную менять state. Сначала выполните обычный
30
- `update preflight`; установите exact beta.12.10 только при `safe=true`, clean checkout, отсутствии
55
+ `update preflight`; установите exact beta.12.11 только при `safe=true`, clean checkout, отсутствии
31
56
  running Step и leases, затем снова выполните repository-local handshake, `status` и `next`.
32
57
 
33
58
  Далее следуйте только свежему route: remediation Discovery -> ready ->
@@ -40,6 +65,14 @@ repository priority и пройти обычную реализацию/review/m
40
65
  вернуться к `task plan-set`, fresh Risk Audit и следующему Step. Если fresh `next` не рекламирует этот
41
66
  контракт, не вызывайте команды напрямую и не редактируйте Milestone state.
42
67
 
68
+ Если exact dependency-only update сделал approved Knowledge Map stale только по `package.json`,
69
+ `auditedRemediation.dependencyKnowledgeRefresh` должен подтвердить clean checkout, aligned
70
+ declared/locked/installed/HEAD/base versions и полную Git-цепочку commits, меняющих только Workflow pin
71
+ в `package.json`/lock. Такой content refresh не требует Human approval: он применяется в той же Project
72
+ transaction, что и `milestone remediation-materialize`, с `corrective-derived` evidence. Любой другой
73
+ Knowledge diff (включая README, документацию, classification, gap или conflict) не допускается в этот
74
+ маршрут и остаётся в обычном reconcile/approval flow.
75
+
43
76
  ### Исключение для lifecycle-дедлока alpha.6
44
77
 
45
78
  Обычный `update preflight` намеренно блокирует обновление при `in_progress` Step. Если alpha.6