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

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.16
2
+ title: Codex Workflow V2: архитектура beta.12.17
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.16
7
+ subject: Архитектура и границы Codex Workflow V2 beta.12.17
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.16 гарантирует
21
+ ## 1.1. Что beta.12.17 гарантирует
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.16 не гарантирует
44
+ ## 1.2. Что beta.12.17 не гарантирует
45
45
 
46
46
  - правильность продуктовой идеи или автоматически выбранного provider Task;
47
47
  - semantic sufficiency Plan, если точные факты нельзя доказать поддерживаемым analyzer;
@@ -348,6 +348,12 @@ Plan/Step/HEAD, полный dirty set, runner/support hashes, direct import, о
348
348
  scope. Indirect import, dynamic shell, forbidden path, unrelated dirty file или отсутствие SHA anchors
349
349
  fail-closed и не расширяют authority.
350
350
 
351
+ beta.12.17 закрывает transport-разрыв перед этим recovery: внешний runner больше не ожидает один
352
+ зашитый source release. Он выводит exact beta.12 source из declared dependency, требует равенства
353
+ locked, installed, current Task branch и active Milestone base и допускает только patch от .11 до
354
+ версии ниже runner. Dirty scope, отсутствие lease/transaction и dependency-only Git transport
355
+ остаются обязательными; product bytes и Workflow state вручную не изменяются.
356
+
351
357
  Docker socket `EPERM` в sandbox не является доказательством сломанного daemon. Gateway один раз
352
358
  повторяет exact health probe или Plan check с sandbox escalation без расходования remediation attempt.
353
359
  Restart Docker Desktop требует отдельного разрешения и допустим только после escalated daemon failure.
@@ -357,7 +363,7 @@ Restart Docker Desktop требует отдельного разрешения
357
363
  # 10. Operational checklist
358
364
 
359
365
  - exact package version установлен, bundled gateway соответствует release и переустановлен;
360
- - handshake подтверждает protocol 2, state schema 2 и beta.12.16 capabilities;
366
+ - handshake подтверждает protocol 2, state schema 2 и beta.12.17 capabilities;
361
367
  - каждый mutation следует свежему `status -> next` и exact option contract;
362
368
  - Docker permission failure сначала классифицируется как sandbox boundary, а не как infra retry;
363
369
  - 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.16 путь от нового Discovery до принятого Milestone без ручного CLI
3
+ subtitle: Актуальный beta.12.17 путь от нового 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.16
7
+ subject: Практическое руководство по delegated Discovery и Milestone в Workflow V2 beta.12.17
8
8
  ---
9
9
 
10
- # 1. Рабочая модель beta.12.16
10
+ # 1. Рабочая модель beta.12.17
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.16 как точную devDependency после публикации release.
43
+ 2. Установите beta.12.17 как точную 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.16 должен сообщать `packageVersion=2.0.0-beta.12.16`, `protocolVersion=2`,
59
+ Handshake beta.12.17 должен сообщать `packageVersion=2.0.0-beta.12.17`, `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.16 в delegated режиме.
120
+ Проведи новый Milestone через Codex Workflow V2 beta.12.17 в delegated режиме.
121
121
  Repository: <ABSOLUTE-REPOSITORY-ROOT>.
122
122
  Milestone ID: AUTO.
123
123
  Delegate actor: agent:milestone-coordinator.
@@ -299,6 +299,7 @@ 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
303
  | Downstream proof требует изменить completed predecessor | Только `task downstream-proof-recover`, затем новый Plan/risk audit/authorization в той же Task |
303
304
  | Failed guarded review | Та же Task: исправление и новый strict review без attempt hard stop |
304
305
  | Finding `route=fix` | Продолжить тот же Step; count остаётся диагностикой |
@@ -408,7 +409,7 @@ Task/project DGR. `dependencyBinding` для standalone handoff равен null.
408
409
 
409
410
  # 14. Итоговый checklist пользователя
410
411
 
411
- - beta.12.16 exact package и новый bundled gateway установлены;
412
+ - beta.12.17 exact package и новый bundled gateway установлены;
412
413
  - новый Coordinator chat не является fork старого Milestone;
413
414
  - bootstrap DGR, если нужен, выдан отдельным exact human confirmation;
414
415
  - Discovery не materialized при blocking unknowns;
@@ -1,10 +1,10 @@
1
1
  ---
2
- title: Codex Workflow V2: технический справочник beta.12.16
2
+ title: Codex Workflow V2: технический справочник beta.12.17
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.16
7
+ subject: Технический контракт Codex Workflow V2 beta.12.17
8
8
  ---
9
9
 
10
10
  # 1. Runtime contract
@@ -13,9 +13,9 @@ Workflow V2 предоставляет локальные revisioned transitions
13
13
  и `value` либо структурированную ошибку с `code`, `message` и `details`. Chat, PDF и gateway не создают
14
14
  authority сами: mutating permission определяется runtime state и свежим `next`.
15
15
 
16
- | Параметр beta.12.16 | Значение |
16
+ | Параметр beta.12.17 | Значение |
17
17
  |---|---|
18
- | npm package | `codex-workflow-v2@2.0.0-beta.12.16` |
18
+ | npm package | `codex-workflow-v2@2.0.0-beta.12.17` |
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.16 capabilities:
40
+ Ключевые beta.12.17 capabilities:
41
41
 
42
42
  | Группа | Capabilities |
43
43
  |---|---|
@@ -513,6 +513,20 @@ forbiddenScope. Plan hash не меняется. Effective scope использ
513
513
  Core commit, downstream-proof assessment, corrective-replan worktree guard и strict review packet.
514
514
  Любое более широкое изменение остаётся в обычном corrective replan с Human gate.
515
515
 
516
+ # 13.8. beta.12.17 coherent Plan-integrity update source
517
+
518
+ Read-only `update plan-integrity-update-preflight` выводит `sourceVersion` из declared dependency, а
519
+ не из release-specific constant. Он принимает только exact `2.0.0-beta.12.N`, где `N >= 11` и
520
+ `N` меньше patch ordinal внешнего runner. Locked, installed, current Task branch и active Milestone
521
+ base обязаны совпадать с declared source. Любая missing/divergent surface блокирует transport.
522
+
523
+ Version consensus не заменяет остальные guards: должна существовать ровно одна eligible failed-Step
524
+ Plan-integrity assessment, observation обязана быть coherent, lease/transaction/Core operation
525
+ отсутствуют, а dirty bytes совпадают с доказанным Step scope. После dependency-only Git transport
526
+ repository-local runner регистрирует commit только через advertised
527
+ `update plan-integrity-dependency-recover`. Source consensus не усыновляет product history, не меняет
528
+ Plan/remediation evidence и не даёт generic update authority другим beta lines.
529
+
516
530
  # 14. P04-A structural replacement boundary
517
531
 
518
532
  Command shape `task replacement-materialize` retained только для compatibility diagnostics. Любая попытка
@@ -575,7 +589,7 @@ Docker socket/CLI `EPERM`, `operation not permitted` или `permission denied`
575
589
  После каждой successful mutation обязателен sequential `status`, затем fresh `next`. Failed status/next
576
590
  не разрешает direct mutation. Syntax help read-only и не заменяет navigation authority.
577
591
 
578
- # 18. Public command surface beta.12.16
592
+ # 18. Public command surface beta.12.17
579
593
 
580
594
  | Область | Actions |
581
595
  |---|---|
@@ -606,7 +620,7 @@ active-downstream-proof bridge, beta.12.7 exact stranded-replan bridge, beta.12.
606
620
  dependency bridge и beta.12.15 Plan-integrity bridge; все они fail-closed и не дают общего разрешения
607
621
  dirty update.
608
622
 
609
- Перед beta.12.16 tag обязательны `npm ci`, `npm run validate`, `npm run test:signal-t10-check-support-e2e`, `npm run test:signal-remediation-e2e`, `npm run pack:check`,
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`,
610
624
  `npm run smoke:downstream`, `npm run plugin:check`, official plugin/skill validators,
611
625
  `npm run docs:pdf:check`, `npm run release:check` с exact tag binding и validation
612
626
  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.12, the release gate also relies on `npm run release:check` to fail if:
32
+ For beta.12.17, 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;
@@ -61,6 +61,9 @@ For beta.12.12, the release gate also relies on `npm run release:check` to fail
61
61
  - bounded first- or repeated-failure Plan-integrity recovery, selector-required npm-check
62
62
  feasibility, exact failed-remediation/manifest/worktree
63
63
  bindings, or the no-synthetic-second-failure regression is absent.
64
+ - Plan-integrity update preflight again hard-codes one historical source release instead of deriving
65
+ a coherent exact beta.12 source from declared/locked/installed/current/base surfaces, or it accepts
66
+ a source before beta.12.11, a source not older than the runner, or any divergent version surface.
64
67
  - a direct migration check can import an external checksum/catalog authority without the producing
65
68
  Step owning it; or in-flight recovery can widen beyond the exact imported support path, bypass
66
69
  `forbiddenScope`, change the Plan hash, skip checks/Core commit/review disclosure, or require a
@@ -22,6 +22,22 @@ state schema. Совпадение `stateSchemaVersion` до и после об
22
22
  нужна. Для alpha.6 при `stateSchemaVersion: 2` применяется не migration, а sidecar-only
23
23
  adoption posture.
24
24
 
25
+ ### beta.12.17: coherent beta.12 Plan-integrity update transport
26
+
27
+ `update plan-integrity-update-preflight` больше не связывает совместимый transport с одним
28
+ историческим source release. Внешний exact beta.12.17 runner выводит source version из declared
29
+ dependency и требует, чтобы locked, installed, current Task branch и active Milestone base
30
+ совпадали с ним. Source должен быть exact `2.0.0-beta.12.N`, где `N >= 11` и `N` меньше patch
31
+ ordinal текущего runner. Расхождение хотя бы одной поверхности блокирует transport.
32
+
33
+ Остальные границы не изменены: ровно одна eligible Plan-integrity conflict, coherent observation,
34
+ нет lease/transaction/Core operation, а dirty set полностью совпадает с уже доказанным failed Step
35
+ scope. После `eligible=true` один dependency-only commit обновляет только `package.json` и
36
+ `package-lock.json` на Milestone base и в Task history; fresh repository-local package затем
37
+ регистрирует commit через advertised `update plan-integrity-dependency-recover`. Product bytes,
38
+ Plan hash и remediation evidence не переписываются. Этот контракт разрешает текущий `.15 -> .17`
39
+ transport и не требует нового literal для следующего совместимого beta.12 patch.
40
+
25
41
  ### beta.12.16: direct migration check-support authority
26
42
 
27
43
  Новый mechanical analyzer до execution authorization проверяет root `npm run` migration checks,
@@ -1,127 +1,105 @@
1
- # V2 beta.12.16 Validation Report
1
+ # V2 beta.12.17 Validation Report
2
2
 
3
- Release candidate `2.0.0-beta.12.16` was validated on 2026-08-31 (Europe/Moscow) with
3
+ Release candidate `2.0.0-beta.12.17` 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 `352/352` sequential tests with no failures, skips,
10
- cancellations or todos in 2,166,261.797 ms.
11
- - The release-specific `npm run test:signal-t10-check-support-e2e` gate passed `6/6`. Its
12
- Signal-shaped case reproduces the STEP-002 migration/check-support conflict, records one bounded
13
- machine-derived scope extension, retries the same Step, passes checks and produces the Core-owned
14
- Step commit without a Human replan.
15
- - Existing Signal compatibility gates remained green: `npm run test:signal-t04-recovery` passed
16
- `11/11`, `npm run test:signal-t03-replan-e2e` passed `1/1`, and `npm run
17
- test:signal-remediation-e2e` passed `2/2`.
18
- - Package dry-run passed with 284 files (approximately 1.1 MB packed and 4.4 MB unpacked). The
19
- tarball contains the compiled `check-support-anchor` analyzer and its declaration/source map.
20
- - Disposable downstream installation returned `ok=true` for the exact beta.12.16 tarball. The first
21
- sandboxed run failed only because registry DNS was unavailable; the exact network-enabled retry
22
- passed.
23
- - `npm run plugin:check` passed. `npm run docs:pdf:check` reported `stale=[]` and the exact
24
- beta.12.16 package binding.
25
-
26
- ## Live Signal reproduction before installation
27
-
28
- The live repository was observed read-only at:
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:
29
24
 
30
25
  - Task branch `codex/task-01m1b79c66-current-formalization-commit-and-provide`;
31
26
  - HEAD `f290d0875387283c368bedd03964fb423619db7b`;
32
27
  - repository-local package `codex-workflow-v2@2.0.0-beta.12.15`, protocol/schema `2/2`;
33
- - Task `TASK-01M1B79C660YMNSRRZ236NTR1T`, with the last recorded STEP-002 failure at Task revision
34
- 21.
35
-
36
- HEAD is the Core-owned STEP-001 commit. Its strict external review passed with sealed packet hash
37
- `c48658ce617bca58eddba4e11f43501eb87967d076e43bd4656f512ba256358f` and seal
38
- `31cfd03a8bd9f9ba21f067703db90da97102643901725718f3e88199e486d806`.
39
-
40
- The checkout still contains exactly the eight STEP-002 product paths present at the recorded
41
- `checks-failed` boundary:
42
-
43
- - `libs/processing-decision/ports/src/processing-persistence.ts`;
44
- - `libs/processing-decision/ports/src/index.ts`;
45
- - `libs/processing-decision/adapters/postgres/src/processing-evidence-transaction.ts`;
46
- - `libs/processing-decision/adapters/postgres/src/processing-evidence-transaction.spec.ts`;
47
- - `libs/processing-decision/adapters/postgres/src/processing-evidence-transaction.integration.spec.ts`;
48
- - `libs/processing-decision/adapters/postgres/migrations/0003_current_formalization_commits.sql`;
49
- - `libs/processing-decision/adapters/postgres/migrations/manifest.json`;
50
- - `libs/processing-decision/adapters/postgres/bootstrap/0000_roles_and_schema.sql`.
51
-
52
- Focused evidence and full affected validation passed for those product changes. The exact migration
53
- check failed because `tools/postgres/check-processing-migrations.ts` directly imports
54
- `tools/postgres/processing-migration-files.ts`, while the latter did not catalog the new migration
55
- and was outside STEP-002 `allowedWrites`. Repeating the approved check could not change that result.
56
-
57
- The beta.12.16 analyzer was then run read-only against this exact repository state. It derived one
58
- candidate and no broader scope:
59
-
60
- - runner: `tools/postgres/check-processing-migrations.ts`;
61
- - support authority: `tools/postgres/processing-migration-files.ts`;
62
- - expected output:
63
- `libs/processing-decision/adapters/postgres/migrations/0003_current_formalization_commits.sql`;
64
- - reason: `CHECK_SUPPORT_ANCHOR_OUTSIDE_ALLOWED_WRITES`.
65
-
66
- Fresh beta.12.15 `status -> next` currently stops earlier at an expired writer lease and advertises
67
- only `locks repair`. No Signal lease, Workflow state, Git history, product file or chat was changed
68
- by this release-candidate reproduction. Live beta.12.16 recovery is intentionally not claimed until
69
- publication, installation, stale-lease repair and fresh repository-local readback.
70
-
71
- ## Root cause corrected
72
-
73
- Mechanical feasibility treated the migration, manifest and bootstrap files as the Step's complete
74
- output boundary, but did not model the repository-local module imported by the approved migration
75
- check as execution authority. That support module owns the exact migration list and SHA-256 catalog;
76
- therefore the new migration cannot pass its check until the support module changes as well.
77
-
78
- This is not a semantic Plan error and not evidence that the product implementation must be
79
- discarded. The missing path is mechanically derivable from executable code and exact file anchors.
80
- The old runtime nevertheless routed the first confirmed failure back to ordinary `task run`, where
81
- the Worker remained forbidden from editing the only file that could make the approved check pass.
82
-
83
- ## Implemented contract
84
-
85
- - New analyzer `wf2.check-support-anchor@1` recognizes only a root `npm run` check, its
86
- repository-local Node/tsx runner, one direct relative static import, and a support module whose
87
- migration filename family plus SHA/catalog anchors bind an exact Plan-declared migration output.
88
- - For a future Plan, execution authorization fails closed when the producing Step does not own that
89
- exact support path. This prevents the invalid scope from reaching execution.
90
- - For an already running guarded Step, the first exact `checks-failed` event may advertise `task
91
- plan-integrity-recover`. Recovery revalidates Plan, Step, HEAD, complete dirty set, runner/support
92
- hashes, direct import, missing declared output and existing evidence under the Workflow lock.
93
- - Recovery appends one `continue-fix` decision with the exact `scopeExtensions` path. It does not
94
- change the Plan hash, product bytes, Git history or review result and does not synthesize a second
95
- failed attempt.
96
- - Worker envelope, retry boundary, Core commit, downstream proof, corrective-replan worktree guard
97
- and strict review packet all use the same effective Step scope. The original allowedWrites remain
98
- canonical and the append-only decision is visible as derived authority.
99
- - The existing missing-script and selector-required cases retain `replan-required` and their
100
- Human-confirmed corrective-replan route. Indirect imports, dynamic shell, unsupported syntax,
101
- forbidden paths, unrelated dirty files, missing SHA/catalog anchors and multiple ambiguous
102
- candidates remain fail-closed.
103
-
104
- ## PDF release documentation evidence
105
-
106
- - All three tracked Russian PDFs were regenerated from beta.12.16 sources.
107
- - Architecture is 9 pages, delegated chat-only guide is 10 pages, and technical reference is 15
108
- pages. All 34 rendered pages were visually inspected; no clipping, overlap or unreadable content
109
- was observed.
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:
45
+
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`;
49
+ - the same eight dirty paths;
50
+ - conflict hash `44ee553355bc696861bd2e4f49c1675e39c7cf4e5be28785e2f86cd95de45383`;
51
+ - zero blockers.
52
+
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.
110
92
 
111
93
  ## Boundaries and non-claims
112
94
 
113
- - The patch is not autonomous semantic replanning and does not permit a Worker to add an arbitrary
114
- file after a failed check.
115
- - Scope augmentation is limited to one exact mechanically proved support authority for the current
116
- migration-file family. A broader or ambiguous dependency remains an ordinary Plan conflict.
117
- - The patch does not weaken dirty-worktree, forbidden-scope, Plan identity, C1 authority, checks,
118
- Core-owned commit or sealed strict-review gates.
119
- - This report does not claim commit/tag/push, npm publication, live beta.12.16 installation, live
120
- STEP-002 recovery, STEP-002 commit/review, Task merge or Milestone completion before those
121
- operations receive their own readback.
122
-
123
- Confidence is high for the bounded analyzer, preventive authorization and runtime recovery because
124
- the full 352-test gate, release-specific Signal E2E, legacy Signal gates and read-only live candidate
125
- agree. End-to-end confidence for the active Signal Task remains conditional on publication, exact
126
- repository-local installation, advertised stale-lease repair, fresh `status -> next`, Core recovery,
127
- the real approved checks and a new sealed external review packet.
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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codex-workflow-v2",
3
- "version": "2.0.0-beta.12.16",
3
+ "version": "2.0.0-beta.12.17",
4
4
  "description": "Requirements-first Codex development workflow with local state and explicit Git ownership.",
5
5
  "repository": {
6
6
  "type": "git",