codex-workflow-v2 2.0.0-beta.12.17 → 2.0.0-beta.12.18

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.
@@ -1,10 +1,10 @@
1
1
  ---
2
- title: Codex Workflow V2: архитектура beta.12.17
2
+ title: Codex Workflow V2: архитектура beta.12.18
3
3
  subtitle: Источники истины, lifecycle, роли, delegation, зависимости Tasks и границы доверия
4
4
  part: Часть 1 из 3 | Архитектура
5
5
  document_version: 2.0
6
- date: 31 августа 2026
7
- subject: Архитектура и границы Codex Workflow V2 beta.12.17
6
+ date: 1 сентября 2026
7
+ subject: Архитектура и границы Codex Workflow V2 beta.12.18
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.17 гарантирует
21
+ ## 1.1. Что beta.12.18 гарантирует
22
22
 
23
23
  - exact project-local npm package и совместимый handshake до lifecycle действий;
24
24
  - Discovery до materialization Task или Milestone;
@@ -40,8 +40,11 @@ Codex Workflow V2 - локальный state machine поверх Codex App, Git
40
40
  - pre-execution `stop-escalate`, доказавший отсутствующую upstream capability, может materialize ровно
41
41
  один additive remediation Task без нового Human gate; Core сохраняет Milestone semantics и выводит
42
42
  authority из текущей Milestone authorization и exact audit evidence.
43
+ - исторический check-support decision проверяется против собственного Plan hash, а новый Plan может
44
+ продолжить только после явного принятия каждого support path в `allowedWrites` и `expectedOutputs`;
45
+ implicit scope carry-over и Human approval для этого exact machine-proved случая отсутствуют.
43
46
 
44
- ## 1.2. Что beta.12.17 не гарантирует
47
+ ## 1.2. Что beta.12.18 не гарантирует
45
48
 
46
49
  - правильность продуктовой идеи или автоматически выбранного provider Task;
47
50
  - semantic sufficiency Plan, если точные факты нельзя доказать поддерживаемым analyzer;
@@ -354,6 +357,13 @@ locked, installed, current Task branch и active Milestone base и допуск
354
357
  версии ниже runner. Dirty scope, отсутствие lease/transaction и dependency-only Git transport
355
358
  остаются обязательными; product bytes и Workflow state вручную не изменяются.
356
359
 
360
+ beta.12.18 закрывает следующий post-rebind разрыв. Исторический check-support event остаётся валиден
361
+ по Plan hash, при котором был создан, даже если новый Plan теперь прямо владеет derived support path.
362
+ External preflight допускает продолжение только при одном таком event, неизменных dirty bytes,
363
+ отсутствии активного Step/lease/transaction и полном explicit scope adoption в planned Step. После
364
+ dependency-only transport Core заново связывает Knowledge и authorization; старый event не создаёт
365
+ скрытой authority и не модифицируется задним числом.
366
+
357
367
  Docker socket `EPERM` в sandbox не является доказательством сломанного daemon. Gateway один раз
358
368
  повторяет exact health probe или Plan check с sandbox escalation без расходования remediation attempt.
359
369
  Restart Docker Desktop требует отдельного разрешения и допустим только после escalated daemon failure.
@@ -363,7 +373,7 @@ Restart Docker Desktop требует отдельного разрешения
363
373
  # 10. Operational checklist
364
374
 
365
375
  - exact package version установлен, bundled gateway соответствует release и переустановлен;
366
- - handshake подтверждает protocol 2, state schema 2 и beta.12.17 capabilities;
376
+ - handshake подтверждает protocol 2, state schema 2 и beta.12.18 capabilities;
367
377
  - каждый mutation следует свежему `status -> next` и exact option contract;
368
378
  - Docker permission failure сначала классифицируется как sandbox boundary, а не как infra retry;
369
379
  - 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.17 путь от нового Discovery до принятого Milestone без ручного CLI
3
+ subtitle: Актуальный beta.12.18 путь от нового Discovery до принятого Milestone без ручного CLI
4
4
  part: Часть 2 из 3 | Практика
5
5
  document_version: 2.0
6
- date: 31 августа 2026
7
- subject: Практическое руководство по delegated Discovery и Milestone в Workflow V2 beta.12.17
6
+ date: 1 сентября 2026
7
+ subject: Практическое руководство по delegated Discovery и Milestone в Workflow V2 beta.12.18
8
8
  ---
9
9
 
10
- # 1. Рабочая модель beta.12.17
10
+ # 1. Рабочая модель beta.12.18
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.17 как точную devDependency после публикации release.
43
+ 2. Установите beta.12.18 как точную 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.17 должен сообщать `packageVersion=2.0.0-beta.12.17`, `protocolVersion=2`,
59
+ Handshake beta.12.18 должен сообщать `packageVersion=2.0.0-beta.12.18`, `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.17 в delegated режиме.
120
+ Проведи новый Milestone через Codex Workflow V2 beta.12.18 в delegated режиме.
121
121
  Repository: <ABSOLUTE-REPOSITORY-ROOT>.
122
122
  Milestone ID: AUTO.
123
123
  Delegate actor: agent:milestone-coordinator.
@@ -299,7 +299,8 @@ Task chat записывает его только при совпадении p
299
299
  |---|---|
300
300
  | First proven impossible npm check после legacy/late authorization | Только рекламируемый `task plan-integrity-recover` |
301
301
  | Direct imported migration checksum/catalog authority вне Step scope | beta.12.16: advertised `task plan-integrity-recover`, затем тот же Step с exact derived support path; Human replan не нужен |
302
- | In-flight Plan-integrity Task требует package update | beta.12.17 external preflight выводит coherent exact beta.12 source из пяти version surfaces; затем только dependency-only transport и advertised recovery |
302
+ | In-flight Plan-integrity Task требует package update | beta.12.18 external preflight выводит coherent exact beta.12 source из пяти version surfaces; затем только dependency-only transport и advertised recovery |
303
+ | Новый Plan явно принял ранее derived check-support path, но старый event выглядит corrupt | beta.12.18 external preflight требует exact post-rebind scope adoption и неизменные dirty bytes; затем dependency-only transport, Knowledge rebind, PRA и fresh authorization без Human gate |
303
304
  | Downstream proof требует изменить completed predecessor | Только `task downstream-proof-recover`, затем новый Plan/risk audit/authorization в той же Task |
304
305
  | Failed guarded review | Та же Task: исправление и новый strict review без attempt hard stop |
305
306
  | Finding `route=fix` | Продолжить тот же Step; count остаётся диагностикой |
@@ -409,7 +410,7 @@ Task/project DGR. `dependencyBinding` для standalone handoff равен null.
409
410
 
410
411
  # 14. Итоговый checklist пользователя
411
412
 
412
- - beta.12.17 exact package и новый bundled gateway установлены;
413
+ - beta.12.18 exact package и новый bundled gateway установлены;
413
414
  - новый Coordinator chat не является fork старого Milestone;
414
415
  - bootstrap DGR, если нужен, выдан отдельным exact human confirmation;
415
416
  - Discovery не materialized при blocking unknowns;
@@ -1,10 +1,10 @@
1
1
  ---
2
- title: Codex Workflow V2: технический справочник beta.12.17
2
+ title: Codex Workflow V2: технический справочник beta.12.18
3
3
  subtitle: Protocol 2, state schema 2, transactions, credentials, dependency authority, review и recovery
4
4
  part: Часть 3 из 3 | Technical reference
5
5
  document_version: 2.0
6
- date: 31 августа 2026
7
- subject: Технический контракт Codex Workflow V2 beta.12.17
6
+ date: 1 сентября 2026
7
+ subject: Технический контракт Codex Workflow V2 beta.12.18
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.17 | Значение |
16
+ | Параметр beta.12.18 | Значение |
17
17
  |---|---|
18
- | npm package | `codex-workflow-v2@2.0.0-beta.12.17` |
18
+ | npm package | `codex-workflow-v2@2.0.0-beta.12.18` |
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.17 capabilities:
40
+ Ключевые beta.12.18 capabilities:
41
41
 
42
42
  | Группа | Capabilities |
43
43
  |---|---|
@@ -46,7 +46,7 @@ Gateway выполняет:
46
46
  | Task planning | Plan Risk Audit, proof obligations, mechanical feasibility |
47
47
  | C1 | handoff sidecar/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
- | Recovery | Task-local dependency provenance, historical Step provenance, plan integrity, downstream-proof predecessor invalidation, remediation mode, legacy stop override, append-only stop-rebind chain, corrective yield/replan journals |
49
+ | Recovery | Task-local dependency provenance, historical Step provenance, plan integrity, `historical-check-support-scope-adoption-v1`, downstream-proof predecessor invalidation, remediation mode, legacy stop override, append-only stop-rebind chain, corrective yield/replan journals |
50
50
  | Replacement | `structural-task-replacement-disabled-v1` |
51
51
 
52
52
  Handshake incompatibility прекращает работу. Запуск global package, `latest`, mutable range или соседней
@@ -527,6 +527,21 @@ repository-local runner регистрирует commit только через
527
527
  `update plan-integrity-dependency-recover`. Source consensus не усыновляет product history, не меняет
528
528
  Plan/remediation evidence и не даёт generic update authority другим beta lines.
529
529
 
530
+ # 13.9. beta.12.18 historical check-support scope adoption
531
+
532
+ Validation v3 связывает check-support event с `event.planHash`. Если поздний Knowledge rebind и новый
533
+ Plan явно добавили derived support path, исторический event проверяется по собственным immutable
534
+ fields, hashes и conflict evidence, а не против scope нового Plan. Только event текущего Plan может
535
+ расширять effective Step scope; поэтому старое evidence не переносит authority неявно.
536
+
537
+ Read-only `update plan-integrity-update-preflight` может вернуть
538
+ `compatibilityMode=post-rebind-scope-adoption`, только если Task ожидает execution authorization, ни
539
+ одна Step не выполняется, существует ровно один исторический v3 `continue-fix`, его dirty paths и
540
+ content hash не изменились, а current planned Step напрямую владеет всеми `scopeExtensions` и
541
+ объявляет их outputs. Обычные coherent-version, lease, transaction, Core-operation и dependency-only
542
+ Git guards сохраняются. После регистрации update Knowledge rebind, PRA и authorization выполняются
543
+ только по fresh routes; Human approval для exact machine-proved scope не нужен.
544
+
530
545
  # 14. P04-A structural replacement boundary
531
546
 
532
547
  Command shape `task replacement-materialize` retained только для compatibility diagnostics. Любая попытка
@@ -589,7 +604,7 @@ Docker socket/CLI `EPERM`, `operation not permitted` или `permission denied`
589
604
  После каждой successful mutation обязателен sequential `status`, затем fresh `next`. Failed status/next
590
605
  не разрешает direct mutation. Syntax help read-only и не заменяет navigation authority.
591
606
 
592
- # 18. Public command surface beta.12.17
607
+ # 18. Public command surface beta.12.18
593
608
 
594
609
  | Область | Actions |
595
610
  |---|---|
@@ -620,7 +635,7 @@ active-downstream-proof bridge, beta.12.7 exact stranded-replan bridge, beta.12.
620
635
  dependency bridge и beta.12.15 Plan-integrity bridge; все они fail-closed и не дают общего разрешения
621
636
  dirty update.
622
637
 
623
- Перед beta.12.17 tag обязательны `npm ci`, `npm run validate`, `npm run test:signal-t10-check-support-e2e`, `npm run test:signal-remediation-e2e`, `npm run pack:check`,
638
+ Перед beta.12.18 tag обязательны `npm ci`, `npm run validate`, `npm run test:signal-t10-check-support-e2e`, `npm run test:signal-remediation-e2e`, `npm run pack:check`,
624
639
  `npm run smoke:downstream`, `npm run plugin:check`, official plugin/skill validators,
625
640
  `npm run docs:pdf:check`, `npm run release:check` с exact tag binding и validation
626
641
  append-only real-agent lifecycle log.
package/docs/release.md CHANGED
@@ -29,7 +29,7 @@ The PDF check deterministically regenerates all three Russian documents from
29
29
  `docs/pdf/sources`, binds the visible package version to the root manifest, and fails when any
30
30
  tracked PDF is stale. Source and binary PDFs are one release unit.
31
31
 
32
- For beta.12.17, the release gate also relies on `npm run release:check` to fail if:
32
+ For beta.12.18, the release gate also relies on `npm run release:check` to fail if:
33
33
 
34
34
  - canonical entity schema 2 shapes drift;
35
35
  - protocol 2 is not the active public contract, or intact protocol-1 adoption evidence stops being readable through the bounded compatibility window;
@@ -68,6 +68,10 @@ For beta.12.17, the release gate also relies on `npm run release:check` to fail
68
68
  Step owning it; or in-flight recovery can widen beyond the exact imported support path, bypass
69
69
  `forbiddenScope`, change the Plan hash, skip checks/Core commit/review disclosure, or require a
70
70
  Human approval for the machine-proved scope-only correction.
71
+ - historical check-support evidence is reinterpreted against a later Plan instead of the Plan hash
72
+ recorded by the event; or a post-rebind update is accepted without one planned Step explicitly
73
+ owning every previously derived support path in both `allowedWrites` and `expectedOutputs`, exact
74
+ dirty-byte continuity, coherent versions, and an otherwise idle recovery boundary.
71
75
  - downstream proof cannot invalidate only completed transitive-predecessor authority while
72
76
  preserving worktree/HEAD, yielding C1, and returning the same Task to fresh planning; or unrelated
73
77
  dirty files and damaged invalidation evidence do not fail closed.
@@ -22,6 +22,29 @@ state schema. Совпадение `stateSchemaVersion` до и после об
22
22
  нужна. Для alpha.6 при `stateSchemaVersion: 2` применяется не migration, а sidecar-only
23
23
  adoption posture.
24
24
 
25
+ ### beta.12.18: historical check-support scope adoption after Knowledge rebind
26
+
27
+ beta.12.18 closes a bounded post-rebind deadlock. A Task may already contain a valid beta.12.16
28
+ `continue-fix` decision that derived one exact check-support path, then refresh Knowledge and adopt
29
+ that path explicitly in a new Plan. The historical event must still be validated against its own
30
+ Plan hash; comparing it with the new Plan incorrectly reports `STATE_CORRUPT` precisely because the
31
+ new Plan now owns the path.
32
+
33
+ An external exact beta.12.18 runner recognizes only this exact shape: the Task awaits execution
34
+ authorization, no Step is running, one historical check-support decision binds the unchanged dirty
35
+ worktree, and one planned Step directly lists every derived support path in both `allowedWrites` and
36
+ `expectedOutputs`. Read-only `update plan-integrity-update-preflight` reports
37
+ `compatibilityMode=post-rebind-scope-adoption` only when all ordinary version, lease, transaction,
38
+ Core-operation, Git-head and dirty-byte guards also pass.
39
+
40
+ After `eligible=true`, use the same dependency-only base/Task transport described below. Fresh
41
+ repository-local Core registers it only through advertised
42
+ `update plan-integrity-dependency-recover`; Knowledge rebind and Risk Audit then follow fresh
43
+ `status -> next`. The adopted support path comes from the current Plan, not from implicit reuse of
44
+ the historical event. No Human approval is required for this exact machine-proved recovery. Any
45
+ additional path, dirty-byte drift, missing explicit Plan ownership, multiple matching events, active
46
+ lease or incoherent version surface remains blocked.
47
+
25
48
  ### beta.12.17: coherent beta.12 Plan-integrity update transport
26
49
 
27
50
  `update plan-integrity-update-preflight` больше не связывает совместимый transport с одним
@@ -1,105 +1,103 @@
1
- # V2 beta.12.17 Validation Report
1
+ # V2 beta.12.18 Validation Report
2
2
 
3
- Release candidate `2.0.0-beta.12.17` was validated on 2026-09-01 (Europe/Moscow) with
3
+ Release candidate `2.0.0-beta.12.18` was validated on 2026-09-01 (Europe/Moscow) with
4
4
  Node.js 24.17.0.
5
5
 
6
6
  ## Automated release evidence
7
7
 
8
8
  - A clean `npm ci` completed from the exact lockfile and reported zero vulnerabilities.
9
- - `npm run validate` passed typecheck and `353/353` sequential tests with no failures, skips,
10
- cancellations or todos in 2,273,062.454 ms.
11
- - `npm run test:signal-t10-check-support-e2e` passed `7/7`. It includes the Signal-shaped
12
- check-support recovery and two complete update/recovery chains whose coherent source is
13
- `2.0.0-beta.12.11` and `2.0.0-beta.12.15`, respectively.
14
- - The `.15` case proves read-only update preflight, exact dependency-only transport, dependency
15
- provenance registration, Plan-integrity recovery, retry and continuation without product-byte
16
- loss or a Human replan for the machine-proved support scope.
17
- - Existing Signal compatibility remained green inside the full suite, including T04 retained
18
- review/history recovery, T03 corrective replan, audited remediation topology, downstream proof
19
- and dependency-only update recovery.
20
-
21
- ## Live Signal evidence before installation
22
-
23
- The live repository was observed at:
9
+ - `npm run validate` passed typecheck and `354/354` sequential tests with no failures, skips,
10
+ cancellations or todos in 2,103,253.819 ms.
11
+ - `npm run test:signal-t10-check-support-e2e` passed `8/8` in 148,470.477 ms. The added case
12
+ reproduces a historical v3 check-support decision, Knowledge rebind, explicit support-path adoption
13
+ by the new Plan and successful fresh navigation without `STATE_CORRUPT`.
14
+ - `npm run test:signal-remediation-e2e` passed `2/2`.
15
+ - `npm run pack:check` produced the exact `2.0.0-beta.12.18` tarball. The first sandboxed attempt
16
+ could not write npm cache; the identical escalated invocation passed. This was an environment
17
+ boundary, not a package failure.
18
+ - `npm run smoke:downstream` installed the packed tarball into an empty project and returned
19
+ `ok=true`. The first sandboxed attempt could not resolve the npm registry; the identical network-
20
+ enabled invocation passed.
21
+ - `npm run plugin:check`, `npm run docs:pdf:check` and `npm run release:check` all passed. The three
22
+ Russian PDFs were regenerated for beta.12.18, reported no stale outputs and were visually inspected
23
+ on their title and changed contract pages.
24
+
25
+ ## Live Signal evidence before publication
26
+
27
+ The live repository was observed read-only at:
24
28
 
25
29
  - Task branch `codex/task-01m1b79c66-current-formalization-commit-and-provide`;
26
- - HEAD `f290d0875387283c368bedd03964fb423619db7b`;
27
- - repository-local package `codex-workflow-v2@2.0.0-beta.12.15`, protocol/schema `2/2`;
28
- - Task `TASK-01M1B79C660YMNSRRZ236NTR1T`, revision 21, failed Step
29
- `STEP-002-CURRENT-COMMIT`;
30
- - exactly eight preserved STEP-002 product paths and no pending/corrupt Core transaction.
31
-
32
- The stale writer lease was repaired only through the exact repository-level `locks repair` route.
33
- Fresh beta.12.15 `status -> next` then reproduced the original defect: `next` advertised only
34
- `task run`, although the Worker could not write the imported migration support authority.
35
-
36
- Published beta.12.16 correctly identified the check-support conflict, but its external
37
- `update plan-integrity-update-preflight` returned `eligible=false`: the implementation still required
38
- all five version surfaces to equal the hard-coded stranded source `2.0.0-beta.12.11`. Signal already
39
- had coherent `.15` declared, locked, installed, current-branch and Milestone-base versions. No update
40
- commit, package installation, Workflow-state edit or product-file mutation was performed after that
41
- failed preflight.
42
-
43
- The beta.12.17 runner was then built locally and invoked read-only against the same Signal state. It
44
- returned:
30
+ - HEAD `a34314d2613865767ef9adb37e7c12b4a12cd5c2`;
31
+ - repository-local package `codex-workflow-v2@2.0.0-beta.12.17`, protocol/schema `2/2`;
32
+ - Task `TASK-01M1B79C660YMNSRRZ236NTR1T`, revision 24, status
33
+ `awaiting_execution_authorization`;
34
+ - current Plan hash `94fba18b423b795fc3b276166f9dec03a34fe3d0d2db73acf3c74dbf0e35f34b`;
35
+ - planned `STEP-002-CURRENT-COMMIT`, which directly owns the derived check-support path;
36
+ - exactly eight preserved STEP-002 product paths, with no support-module edit yet.
37
+
38
+ beta.12.17 rejected fresh navigation with `STATE_CORRUPT`. Its v3 validator compared the historical
39
+ check-support event against the current Plan. That event was valid under its recorded earlier Plan,
40
+ but the current Plan now explicitly owned the same support path, so the old validation predicate
41
+ became self-contradictory after the intended recovery sequence.
42
+
43
+ The locally built external beta.12.18 runner then executed read-only
44
+ `update plan-integrity-update-preflight` against the same state and returned:
45
45
 
46
46
  - `eligible=true` and `action=update plan-integrity-transport`;
47
- - source `2.0.0-beta.12.15`, target `2.0.0-beta.12.17`;
48
- - Task revision 21 and `STEP-002-CURRENT-COMMIT`;
47
+ - `compatibilityMode=post-rebind-scope-adoption`;
48
+ - source `2.0.0-beta.12.17`, target `2.0.0-beta.12.18`;
49
+ - Task revision 24 and `STEP-002-CURRENT-COMMIT`;
49
50
  - the same eight dirty paths;
50
- - conflict hash `44ee553355bc696861bd2e4f49c1675e39c7cf4e5be28785e2f86cd95de45383`;
51
+ - conflict hash `1bb6b0f7d1817024ff9c61a55ce3eda97169780265c3eea74f21643fcd9f487e`;
51
52
  - zero blockers.
52
53
 
53
- ## Root causes corrected
54
-
55
- beta.12.16 corrected the product-flow root cause: the Plan and retry boundary did not model the
56
- directly imported checksum/catalog module as authority required by the approved migration check.
57
- The bounded analyzer and append-only scope augmentation remain unchanged in beta.12.17.
58
-
59
- The installation blocker had a separate root cause. Plan-integrity update preflight encoded one
60
- historical release literal instead of deriving the source version from the repository surfaces it
61
- already inspected. Every compatible patch after `.11` therefore became impossible to transport
62
- while failed-Step product work remained dirty.
63
-
64
- ## Implemented beta.12.17 contract
65
-
66
- - `planIntegrityUpdatePreflight` derives `sourceVersion` from the declared exact dependency.
67
- - Source must match `2.0.0-beta.12.N`, with `N >= 11` and `N` strictly less than the external
68
- runner's beta.12 patch ordinal.
69
- - Locked, installed, current Task branch and active Milestone base must equal the declared source.
70
- Missing or divergent surfaces block transport with an exact diagnostic.
71
- - Existing guards remain mandatory: one eligible Plan-integrity conflict, coherent observation,
72
- no active/stale lease, no pending/corrupt transaction or Core operation, and an exact dirty set
73
- inside the failed Step boundary.
74
- - The only allowed transport remains one dependency-only commit changing `package.json` and
75
- `package-lock.json` on the Milestone base and in Task history. Fresh repository-local Core must
76
- register it through advertised `update plan-integrity-dependency-recover`.
77
- - The contract is advertised as `coherent-plan-integrity-update-source-v1`. It is deliberately
78
- limited to the compatible beta.12 line and does not create generic update or product-history
79
- adoption authority.
80
-
81
- ## Retained check-support contract
82
-
83
- - `wf2.check-support-anchor@1` blocks a future Plan whose producing migration Step does not own the
84
- directly imported SHA/catalog support authority.
85
- - For the already-running exact first-failure shape, `task plan-integrity-recover` appends one
86
- `continue-fix` decision with the derived support path; Plan hash and product bytes remain stable.
87
- - Worker envelope, retry boundary, Core commit, downstream proof, corrective-replan guard and sealed
88
- review packet use and disclose the same effective scope.
89
- - Indirect/dynamic imports, unsupported syntax, forbidden paths, unrelated dirty files or absent
90
- anchors remain fail-closed. Missing scripts and selector-required checks retain their ordinary
91
- `replan-required` path.
54
+ No Signal product byte, Git reference or Workflow-state artifact was changed by this live preflight.
55
+
56
+ ## Root cause corrected
57
+
58
+ The defect was not the original migration check-support analyzer. beta.12.16 had already proved the
59
+ missing imported support authority, and the new Plan correctly adopted that path. The remaining root
60
+ cause was temporal validation: immutable evidence from Plan A was reinterpreted using Plan B's scope.
61
+ Because Plan B intentionally fixed the scope omission, the validator classified the valid historical
62
+ event as corrupt.
63
+
64
+ beta.12.18 separates two authorities:
65
+
66
+ - historical event integrity is checked against the Plan hash recorded by that event and its own
67
+ immutable hashes, conflicts, dirty set and remediation chain;
68
+ - executable current scope comes only from the current Plan or a current-Plan event. Historical
69
+ evidence does not implicitly widen the new Step.
70
+
71
+ ## Implemented beta.12.18 contract
72
+
73
+ - v3 check-support validation applies current Step scope predicates only when
74
+ `event.planHash === task.planHash`.
75
+ - A bounded post-rebind compatibility candidate exists only while the Task awaits execution
76
+ authorization, no Step is running and C1 posture is empty.
77
+ - Exactly one historical `continue-fix` check-support event must match the current unchanged dirty
78
+ worktree and a registered system commit.
79
+ - The current planned Step must explicitly list every historical `scopeExtension` in both
80
+ `allowedWrites` and `expectedOutputs`.
81
+ - Ordinary coherent-version, dependency-only commit, lease, transaction, Core-operation and dirty-
82
+ byte guards remain mandatory.
83
+ - The route is advertised as `historical-check-support-scope-adoption-v1` and reports
84
+ `compatibilityMode=post-rebind-scope-adoption`.
85
+ - Registration, Knowledge rebind, Plan Risk Audit and execution authorization remain separate fresh
86
+ Core-advertised transitions. The exact machine-proved recovery requires no Human approval.
92
87
 
93
88
  ## Boundaries and non-claims
94
89
 
95
- - The patch does not bypass dependency-only Git transport or permit installation while version
96
- surfaces diverge.
97
- - It does not edit Plan, product work, Workflow state or Git history during preflight.
98
- - This report does not claim beta.12.17 commit/tag/push, npm publication, live installation,
99
- dependency registration, STEP-002 commit/review, Task merge or Milestone completion until each
100
- operation receives its own readback.
101
-
102
- Confidence is high for source-version consensus and retained check-support recovery because the
103
- 353-test gate, both source-version E2E chains and the read-only live Signal preflight agree. Final
104
- end-to-end confidence remains conditional on exact publication, dependency-only transport into
105
- Signal, repository-local recovery, the real approved checks and a new sealed reviewer packet.
90
+ - The patch does not accept an arbitrary new Plan, extra support path, changed dirty byte, multiple
91
+ matching event, active lease or divergent version surface.
92
+ - It does not mutate or rewrite the historical event and does not carry its scope into an unrelated
93
+ current Plan.
94
+ - It does not bypass dependency-only Git transport, repository-local installation, Knowledge rebind,
95
+ Plan Risk Audit, checks, Core commit or external sealed review.
96
+ - This report does not claim beta.12.18 commit/tag/push, npm publication, live installation into
97
+ Signal, STEP-002 commit/review, Task merge or Milestone completion until each operation receives its
98
+ own readback.
99
+
100
+ Confidence is high for the defect classification and compatibility preflight: the full `354/354`
101
+ gate, focused `8/8` Signal suite and read-only live Signal state agree. End-to-end confidence remains
102
+ conditional on publication, exact dependency-only transport into Signal, fresh Core routing, the real
103
+ approved checks and the user-authorized new sealed reviewer chat.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codex-workflow-v2",
3
- "version": "2.0.0-beta.12.17",
3
+ "version": "2.0.0-beta.12.18",
4
4
  "description": "Requirements-first Codex development workflow with local state and explicit Git ownership.",
5
5
  "repository": {
6
6
  "type": "git",