codex-workflow-v2 2.0.0-beta.12.14 → 2.0.0-beta.12.15

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.14
2
+ title: Codex Workflow V2: архитектура beta.12.15
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.14
7
+ subject: Архитектура и границы Codex Workflow V2 beta.12.15
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.14 гарантирует
21
+ ## 1.1. Что beta.12.15 гарантирует
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.14 не гарантирует
44
+ ## 1.2. Что beta.12.15 не гарантирует
45
45
 
46
46
  - правильность продуктовой идеи или автоматически выбранного provider Task;
47
47
  - semantic sufficiency Plan, если точные факты нельзя доказать поддерживаемым analyzer;
@@ -323,12 +323,15 @@ manifest/runner hashes, HEAD и dirty allowlist. Exact beta.12.11 update bridge
323
323
  Результат — один `replan-required` decision и обычный corrective replan с исполняемой check command;
324
324
  повтор старой команды, ручной commit product files и state editing не допускаются.
325
325
 
326
- beta.12.14 устраняет следующий доказанный разрыв этого пути. Corrective-replan credential раздельно
326
+ beta.12.15 устраняет следующий доказанный разрыв этого пути. Corrective-replan credential раздельно
327
327
  связывает исходную Knowledge revision/hash Task и целевую active Knowledge revision/hash replacement
328
328
  Plan. Различие разрешено только при exact Plan-integrity dependency recovery: текущий system commit,
329
329
  package version, failed Step, Plan, полная remediation history, dirty file set и их bytes должны
330
- совпасть. Следующее dependency-only обновление после corrective yield может перенести ту же compatibility
331
- на новый HEAD только при точном parent commit и неизменном worktree. Completed corrective-yield journal
330
+ совпасть. Один или несколько последовательных dependency-only updates после corrective yield могут
331
+ перенести ту же compatibility на новый HEAD: Core идёт назад до последнего зарегистрированного system
332
+ commit, проверяет каждый промежуточный commit как exact manifest/lock-only Workflow pin update и
333
+ атомарно регистрирует всю цепочку. Любой product diff, разрыв parent chain или изменённый worktree
334
+ fail-closed. Completed corrective-yield journal
332
335
  остаётся историческим prefix-доказательством и не блокирует последующие append-only handoff events.
333
336
  Completed corrective-replan journal также остаётся читаемым после эволюции binding manifest, но только
334
337
  если его завершённый manifest/runtime/catalog tuple есть в append-only historical registry. Pending и
@@ -343,7 +346,7 @@ Restart Docker Desktop требует отдельного разрешения
343
346
  # 10. Operational checklist
344
347
 
345
348
  - exact package version установлен, bundled gateway соответствует release и переустановлен;
346
- - handshake подтверждает protocol 2, state schema 2 и beta.12.14 capabilities;
349
+ - handshake подтверждает protocol 2, state schema 2 и beta.12.15 capabilities;
347
350
  - каждый mutation следует свежему `status -> next` и exact option contract;
348
351
  - Docker permission failure сначала классифицируется как sandbox boundary, а не как infra retry;
349
352
  - 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.14 путь от нового Discovery до принятого Milestone без ручного CLI
3
+ subtitle: Актуальный beta.12.15 путь от нового 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.14
7
+ subject: Практическое руководство по delegated Discovery и Milestone в Workflow V2 beta.12.15
8
8
  ---
9
9
 
10
- # 1. Рабочая модель beta.12.14
10
+ # 1. Рабочая модель beta.12.15
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.14 как точную devDependency после публикации release.
43
+ 2. Установите beta.12.15 как точную 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.14 должен сообщать `packageVersion=2.0.0-beta.12.14`, `protocolVersion=2`,
59
+ Handshake beta.12.15 должен сообщать `packageVersion=2.0.0-beta.12.15`, `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.14 в delegated режиме.
120
+ Проведи новый Milestone через Codex Workflow V2 beta.12.15 в delegated режиме.
121
121
  Repository: <ABSOLUTE-REPOSITORY-ROOT>.
122
122
  Milestone ID: AUTO.
123
123
  Delegate actor: agent:milestone-coordinator.
@@ -360,12 +360,15 @@ Knowledge refresh. Затем выполните advertised credential recovery,
360
360
  `task corrective-yield`. Replacement Plan меняет только неисполняемую check на
361
361
  `npm run validate:affected -- --files=<Step allowedWrites>` и проходит fresh Plan Risk Audit до нового run.
362
362
 
363
- Если update произошёл уже после `task corrective-yield`, beta.12.14 допускает только advertised
364
- `update plan-integrity-dependency-recover`: parent должен быть предыдущим зарегистрированным recovery
365
- commit, а failed Step, Plan, remediation IDs, dirty paths и dirty SHA-256 — полностью совпадать. После
366
- recovery снова запросите `status -> next`; ожидаемый route остаётся `task corrective-replan-prepare`.
363
+ Если update произошёл уже после `task corrective-yield`, beta.12.15 допускает только advertised
364
+ `update plan-integrity-dependency-recover`. Между последним зарегистрированным recovery commit и HEAD
365
+ может быть один или несколько пропущенных package updates, но каждый обязан менять ровно
366
+ `package.json`/`package-lock.json`, только exact Workflow pin и образовывать непрерывную parent chain.
367
+ Core атомарно регистрирует всю доказанную цепочку; failed Step, Plan, remediation IDs, dirty paths и
368
+ dirty SHA-256 должны полностью совпадать. После recovery снова запросите `status -> next`; ожидаемый
369
+ route остаётся `task corrective-replan-prepare`.
367
370
  Если новый package сначала сообщает `TASK_TRANSACTION_INTEGRITY_FAILED` только для terminal
368
- corrective-replan journals предыдущего release, не repair/delete/edit state. beta.12.14 читает лишь
371
+ corrective-replan journals предыдущего release, не repair/delete/edit state. beta.12.15 читает лишь
369
372
  точно зарегистрированные completed manifest/runtime/catalog tuples; pending либо неизвестный tuple
370
373
  остаётся блокером. После установки обязательно повторите handshake и последовательные `status -> next`.
371
374
 
@@ -401,7 +404,7 @@ Task/project DGR. `dependencyBinding` для standalone handoff равен null.
401
404
 
402
405
  # 14. Итоговый checklist пользователя
403
406
 
404
- - beta.12.14 exact package и новый bundled gateway установлены;
407
+ - beta.12.15 exact package и новый bundled gateway установлены;
405
408
  - новый Coordinator chat не является fork старого Milestone;
406
409
  - bootstrap DGR, если нужен, выдан отдельным exact human confirmation;
407
410
  - Discovery не materialized при blocking unknowns;
@@ -1,10 +1,10 @@
1
1
  ---
2
- title: Codex Workflow V2: технический справочник beta.12.14
2
+ title: Codex Workflow V2: технический справочник beta.12.15
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.14
7
+ subject: Технический контракт Codex Workflow V2 beta.12.15
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.14 | Значение |
16
+ | Параметр beta.12.15 | Значение |
17
17
  |---|---|
18
- | npm package | `codex-workflow-v2@2.0.0-beta.12.14` |
18
+ | npm package | `codex-workflow-v2@2.0.0-beta.12.15` |
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.14 capabilities:
40
+ Ключевые beta.12.15 capabilities:
41
41
 
42
42
  | Группа | Capabilities |
43
43
  |---|---|
@@ -468,7 +468,7 @@ corrective-derived reconcile/approval; прочий drift fail-closed. Product b
468
468
  переносятся. Fresh route продолжается через credential replacement, `plan-integrity-recover`, yield и
469
469
  corrective replan с selector-bearing check.
470
470
 
471
- # 13.6. beta.12.14 source/target Knowledge binding
471
+ # 13.6. beta.12.15 source/target Knowledge binding
472
472
 
473
473
  Corrective-replan receipt теперь включает две разные пары. `knowledgeRevision/knowledgeHash` связывает
474
474
  исходное состояние Task; `targetKnowledgeRevision/targetKnowledgeHash` связывает active Project
@@ -477,9 +477,12 @@ Knowledge Map и replacement Plan. Executor проверяет source под Tas
477
477
 
478
478
  Source и target могут различаться только при exact `dependencyProvenanceRecoveries.planIntegrity` для
479
479
  текущего HEAD и package version. Record обязан совпасть по Plan, failed Step, всей remediation event ID
480
- последовательности, dirty paths и повторно вычисленному dirty SHA-256. Для последовательного package
481
- update после corrective yield Core переносит compatibility лишь с зарегистрированного `HEAD^`; любое
482
- изменение product bytes, Step status, Plan, decision или C1 posture отключает route.
480
+ последовательности, dirty paths и повторно вычисленному dirty SHA-256. После corrective yield Core может
481
+ восстановить один или несколько ещё не зарегистрированных package updates: он просматривает trailing
482
+ Git suffix от HEAD до последнего зарегистрированного system commit, проверяет каждый элемент как
483
+ непрерывный manifest/lock-only exact Workflow pin update и одной Core mutation добавляет каждый commit
484
+ и его фактическую package version в provenance history. Любое изменение product bytes, разрыв ancestry,
485
+ Step status, Plan, decision или C1 posture отключает route.
483
486
 
484
487
  Completed corrective-yield transaction проверяет неизменный canonical yield event как prefix текущей
485
488
  append-only handoff history. Это сохраняет tamper detection, но разрешает новый handoff после успешного
@@ -555,7 +558,7 @@ Docker socket/CLI `EPERM`, `operation not permitted` или `permission denied`
555
558
  После каждой successful mutation обязателен sequential `status`, затем fresh `next`. Failed status/next
556
559
  не разрешает direct mutation. Syntax help read-only и не заменяет navigation authority.
557
560
 
558
- # 18. Public command surface beta.12.14
561
+ # 18. Public command surface beta.12.15
559
562
 
560
563
  | Область | Actions |
561
564
  |---|---|
@@ -583,10 +586,10 @@ Exact options берутся из fresh `next`; command help используе
583
586
  Перед package update project-local `update preflight` должен вернуть `safe=true`: clean checkout, нет
584
587
  running Step и active/stale writer lease. Исключения — документированный alpha.7 rescue, beta.12.6
585
588
  active-downstream-proof bridge, beta.12.7 exact stranded-replan bridge, beta.12.9 historical-Step
586
- dependency bridge и beta.12.14 Plan-integrity bridge; все они fail-closed и не дают общего разрешения
589
+ dependency bridge и beta.12.15 Plan-integrity bridge; все они fail-closed и не дают общего разрешения
587
590
  dirty update.
588
591
 
589
- Перед beta.12.14 tag обязательны `npm ci`, `npm run validate`, `npm run test:signal-remediation-e2e`, `npm run pack:check`,
592
+ Перед beta.12.15 tag обязательны `npm ci`, `npm run validate`, `npm run test:signal-remediation-e2e`, `npm run pack:check`,
590
593
  `npm run smoke:downstream`, `npm run plugin:check`, official plugin/skill validators,
591
594
  `npm run docs:pdf:check`, `npm run release:check` с exact tag binding и validation
592
595
  append-only real-agent lifecycle log.
@@ -1,112 +1,107 @@
1
- # V2 beta.12.14 Validation Report
1
+ # V2 beta.12.15 Validation Report
2
2
 
3
- Release candidate `2.0.0-beta.12.14` was validated on 2026-08-31 (Europe/Moscow) with
3
+ Release candidate `2.0.0-beta.12.15` was validated on 2026-08-31 (Europe/Moscow) with
4
4
  Node.js 24.17.0.
5
5
 
6
6
  ## Automated release evidence
7
7
 
8
- - A clean `npm ci` completed from the exact lockfile and reported zero vulnerabilities. The first
9
- sandboxed attempt failed only on registry DNS (`ENOTFOUND`); the exact network-enabled retry passed.
10
- - `npm run validate` passed typecheck and `349/349` sequential tests with no failures, skips,
11
- cancellations or todos in 2,224,925.03 ms.
12
- - The new regression case completes a corrective-replan transaction, rewrites its self-bound
13
- identity and phase chain to the exact beta.12.12 historical tuple, and proves observation remains
14
- clean. An unknown tuple and the same historical tuple on a pending transaction both remain
15
- `journal-invalid`.
16
- - The full suite still includes the beta.12.13 Signal-shaped E2E: repeated selector-contract
17
- failures, consecutive dependency-only updates, exact carried compatibility, source/target
18
- Knowledge separation, corrective replan, fresh authorization/C1, selector-bearing validation,
19
- Core Step commit and strict Step review.
20
- - `npm run test:signal-remediation-e2e` passed `2/2`; `npm run
21
- test:signal-t03-replan-e2e` passed `1/1`; and `npm run test:signal-t04-recovery` passed `11/11`.
22
- - Package dry-run passed with 281 files (approximately 1.1 MB packed and 4.3 MB unpacked), and the
23
- disposable downstream installation returned `ok=true` for the exact beta.12.14 tarball.
24
- - `npm run plugin:check`, `npm run docs:pdf:check`,
25
- `RELEASE_TAG=v2.0.0-beta.12.14 npm run release:check`, and `git diff --check` all passed. PDF
26
- freshness reported an empty stale set and exact beta.12.14 package binding.
8
+ - A clean `npm ci` completed from the exact lockfile and reported zero vulnerabilities.
9
+ - The first full `npm run validate` run passed every behavioral assertion except two diagnostics
10
+ whose text still described the superseded one-commit boundary. The messages were corrected without
11
+ changing transition behavior. The second full run passed typecheck and `349/349` sequential tests
12
+ with no failures, skips, cancellations or todos in 2,169,018.255 ms.
13
+ - The focused dependency-provenance suite passed `11/11`. It covers a two-commit unregistered
14
+ dependency suffix, exact oldest-to-newest recovery, per-commit package-version provenance and
15
+ fail-closed product/payload/ancestry drift.
16
+ - `npm run test:signal-t04-recovery` passed `11/11`; `npm run
17
+ test:signal-t03-replan-e2e` passed `1/1`; and `npm run test:signal-remediation-e2e` passed `2/2`.
18
+ - Package dry-run passed with 281 files (approximately 1.1 MB packed and 4.3 MB unpacked).
19
+ - Disposable downstream installation returned `ok=true` for the exact beta.12.15 tarball. The first
20
+ sandboxed run failed only because registry DNS was unavailable; the exact network-enabled retry
21
+ passed.
22
+ - `npm run plugin:check` and `npm run docs:pdf:check` passed. PDF freshness reported an empty stale
23
+ set and exact beta.12.15 package binding.
27
24
 
28
25
  ## Live Signal reproduction
29
26
 
30
- The beta.12.13 package was published and installed into Signal through one dependency-only commit
31
- `51e5e61b39ff9a234dcc9ccb80d81da710570f55`. Declared, locked, installed, Task-branch and `main`
32
- versions all became exact `2.0.0-beta.12.13`; the three uncommitted STEP-001 product files retained
33
- their original SHA-256 values.
27
+ Signal Task `TASK-01M1B79C660YMNSRRZ236NTR1T` is blocked after a completed corrective yield. Its
28
+ three allowlisted STEP-001 product files remain uncommitted and unchanged. The repository contains
29
+ two consecutive Workflow dependency-only commits that Core could not register:
34
30
 
35
- Fresh beta.12.13 handshake succeeded with protocol/state schema `2/2`, but read-only `status` failed
36
- closed with `TASK_TRANSACTION_INTEGRITY_FAILED`. It identified exactly three `journal-invalid`
37
- completed Task transactions:
31
+ - beta.12.13: `51e5e61b39ff9a234dcc9ccb80d81da710570f55`;
32
+ - beta.12.14: `96c3bd22e818873c1de59cd42b466efde0947d23`.
38
33
 
39
- - `TASK-01M0HVJ4S7GF6JNCNDHPMAVG8Y` / `c66a4bf6b4e67c2b406cccd8229e827a96b7c99e5609d9e025b835817c45e523`;
40
- - `TASK-01M0HVNAWGQGSSXCDJ4DDGEZXV` / `52838ab5e81da7e471a377ff29828f0ad5326bcb20581c9ee65387e617e1446d`;
41
- - `TASK-01M0WXJ2GHGYRH86HR7FMKWSTS` / `d5024dc6ab5b2d85da57b6c7d44b8927e0c1558e890ee434f3911712f6faa56a`.
34
+ Fresh beta.12.14 observation is otherwise coherent: no pending or corrupt transactions and no active
35
+ leases. Nevertheless, `next` advertised dependency recovery while its preflight rejected the route
36
+ because it expected the current update commit's parent to be an already registered system commit.
37
+ The beta.12.13 parent could not be registered earlier because the beta.12.13 transaction-observation
38
+ defect prevented all workflow commands before beta.12.14 was installed.
42
39
 
43
- All three were terminal corrective-replan transactions created by the prior 28-field binding model.
44
- Their exact common identity was manifest SHA-256
45
- `edab7ee7ac4018e759f5fc702a11a0fd113ef4f2cf8ed8fa823a59fde3012a1a`, runtime fingerprint
46
- `bd4e7a0ddfcb6abc0c5eb107775e6aea7e08c4606dda4d945d77af8a4520710d`, and catalog hash
47
- `fa1d11860d4f07978c3b8e85d1f91cd3d15b17284b05f41e05d462d3bb092aed`.
48
-
49
- The beta.12.14 implementation was built locally and its transaction observer was run read-only
50
- against the real Signal external state. It returned `pending=0`, `corrupt=0`. No state, journal,
51
- sidecar, Git history or product file was modified by this reproduction.
40
+ The beta.12.15 implementation was built locally and run read-only against this exact Signal state.
41
+ Preflight returned `eligible=true`, action `update plan-integrity-dependency-recover`, and the exact
42
+ two-commit chain above in oldest-to-newest order. No Signal state, journal, sidecar, Git history or
43
+ product file was modified by this reproduction.
52
44
 
53
45
  ## Root cause corrected
54
46
 
55
- beta.12.13 expanded the live corrective-replan binding manifest from 28 to 30 fields so source Task
56
- Knowledge and target replacement-Plan Knowledge could differ under exact Plan-integrity compatibility.
57
- The transaction journal validator compared every stored journal with only the current manifest hash.
58
- Consequently, already completed and otherwise intact beta.12.12 transactions became unreadable after
59
- the legitimate manifest evolution.
47
+ The beta.12.14 carried-compatibility and dependency-recovery logic assumed a single unregistered
48
+ Workflow update at `HEAD`, with an already registered parent at `HEAD^`. That assumption is false
49
+ when an earlier release was installable but its recovery route was unreachable because observation
50
+ itself failed. Installing the observer fix then creates a bounded consecutive suffix of two
51
+ unregistered dependency-only commits.
60
52
 
61
- The problem was not corrupted Signal state and not a missing repair operation. It was missing
62
- versioned read compatibility for consumed, terminal Core transaction authority. Repairing, deleting or
63
- rewriting those journals would have destroyed evidence and hidden the product defect.
53
+ The resulting blocker was not invalid Signal product work, a stale lease or corrupt Core state. It
54
+ was an incomplete dependency-provenance boundary: navigation advertised a route that the route's own
55
+ single-hop preflight could never accept.
64
56
 
65
57
  ## Implemented compatibility contract
66
58
 
67
- - The current binding manifest remains mandatory for every new, pending or in-flight
68
- corrective-replan transaction.
69
- - An append-only registry records exact historical completed identities as a three-value tuple:
70
- manifest SHA-256, runtime semantic fingerprint and runtime catalog hash.
71
- - A non-current identity is accepted only when the journal phase is `completed` and the full tuple is
72
- present in that registry.
73
- - Existing schema validation, path identity, intent hash, phase hash chain, target inventory, owned
74
- preimage/postimage digests, sidecar anchors, completion result and canonical-target readback remain
75
- mandatory. Historical registration bypasses none of them.
76
- - Unknown tuples and historical tuples on nonterminal transactions remain fail closed. A historical
77
- completed journal is read evidence only; it cannot mint a new receipt, resume execution or become
78
- current transition authority.
79
- - Protocol and state schema remain `2/2`; no state migration or repair command is required.
80
-
81
- ## Existing beta.12.13 contract retained
82
-
83
- - Corrective-replan credentials still separate source `knowledgeRevision`/`knowledgeHash` from target
84
- `targetKnowledgeRevision`/`targetKnowledgeHash`.
85
- - Source/target difference still requires an exact current Plan-integrity recovery matching HEAD,
86
- package version, system commit, Plan, failed Step, full remediation history, dirty paths and dirty
87
- worktree hash.
88
- - Consecutive package-only updates can still carry compatibility only from one exact registered
89
- recovery at `HEAD^`, with unchanged product bytes and no C1 posture.
90
- - Completed corrective-yield journals still require their owned event bytes to be an exact prefix of
91
- a valid current append-only handoff history.
59
+ - Preflight discovers the complete trailing unregistered suffix after the exact recorded Task
60
+ history instead of assuming one commit.
61
+ - Every suffix element must form an uninterrupted parent chain and change exactly `package.json` and
62
+ `package-lock.json`, only as an exact `codex-workflow-v2` pin update. Product bytes, additional
63
+ dependency changes, merge ancestry and unexplained commits remain blockers.
64
+ - The terminal suffix commit must match the declared, locked and installed package version.
65
+ - Carried Plan-integrity compatibility is derived by walking through the bounded suffix to the last
66
+ registered system commit. The original recovery, failed Step, Plan, remediation history, dirty
67
+ allowlist, dirty SHA-256, C1 posture and completed corrective-yield history must still match.
68
+ - Recovery atomically registers the entire chain in `systemCommits` and appends one provenance record
69
+ per commit using that commit's actual package version. Partial registration is not permitted.
70
+ - A failed atomic recovery leaves all Core state unchanged. No product file, Plan, Step, lease,
71
+ review or Git history is edited by this route.
72
+ - Protocol and state schema remain `2/2`; no migration or manual state repair is required.
73
+
74
+ ## Existing beta.12.14 contract retained
75
+
76
+ - Current binding manifests remain mandatory for pending and in-flight corrective-replan
77
+ transactions.
78
+ - Historical manifest/runtime/catalog identities are accepted only for exact registered completed
79
+ journals and cannot create new authority.
80
+ - Corrective-replan credentials still separate source Task Knowledge from target replacement-Plan
81
+ Knowledge.
82
+ - Completed corrective-yield journals still require their canonical event bytes to be an exact prefix
83
+ of the append-only handoff history.
84
+ - After dependency recovery, the blocked Task must still pass normal corrective-replan preparation,
85
+ confirmation, execution, fresh authorization/C1, selector-bearing checks, Core-owned Step commit and
86
+ strict external review.
92
87
 
93
88
  ## PDF release documentation evidence
94
89
 
95
- - All three tracked Russian PDFs were regenerated from beta.12.14 sources.
90
+ - All three tracked Russian PDFs were regenerated from beta.12.15 sources.
96
91
  - Architecture is 9 pages, delegated chat-only guide is 10 pages, and technical reference is 14
97
- pages. All 33 pages were rendered and visually inspected; the release-gate appendix has an explicit
98
- page boundary, and no clipping, overlap or unreadable content was observed.
92
+ pages. All 33 rendered pages were visually inspected; no clipping, overlap or unreadable content
93
+ was observed.
99
94
 
100
95
  ## Boundaries and non-claims
101
96
 
102
- - The historical registry is not a wildcard, schema migration, state repair or permission to accept
103
- arbitrary old bytes. Each prior identity must be added explicitly and tested.
104
- - The patch does not weaken pending transaction recovery, current Core authority, dirty-worktree
105
- boundaries, review gates or product checks.
106
- - This report does not claim commit/tag/push, npm publication, live beta.12.14 installation, dependency
107
- recovery or STEP-001 completion before each operation receives its own readback.
108
-
109
- Confidence is high for historical completed-journal compatibility because the focused test, full
110
- 349-test gate and read-only real Signal state inspection agree. End-to-end confidence remains
111
- conditional on publication, exact Signal installation, fresh repository-local `status -> next`, and
112
- completion of the blocked STEP-001 through Core-advertised routes.
97
+ - The suffix scan is not generic history adoption. Only the contiguous, exact Workflow-pin-only
98
+ prefix between registered Task history and current HEAD is eligible.
99
+ - The patch does not weaken dirty-worktree boundaries, Plan identity, remediation evidence, C1
100
+ authority, checks or review gates.
101
+ - This report does not claim commit/tag/push, npm publication, live beta.12.15 installation,
102
+ dependency recovery or STEP-001 completion before each operation receives its own readback.
103
+
104
+ Confidence is high for consecutive dependency-provenance recovery because the focused tests, full
105
+ 349-test gate and read-only real Signal reproduction agree. End-to-end confidence remains conditional
106
+ on publication, exact Signal installation, fresh repository-local `status -> next`, and completion of
107
+ the blocked STEP-001 through Core-advertised routes.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codex-workflow-v2",
3
- "version": "2.0.0-beta.12.14",
3
+ "version": "2.0.0-beta.12.15",
4
4
  "description": "Requirements-first Codex development workflow with local state and explicit Git ownership.",
5
5
  "repository": {
6
6
  "type": "git",