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

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.
@@ -307,6 +307,14 @@ Task независимая PRA-классификация consumer как `runt
307
307
  one-Step runtime не требует искусственного predecessor. Это структурная admission-проверка, а не
308
308
  доказательство product truth и не реализация Step-validity authority P02.
309
309
 
310
+ Beta.13.1 делает эту authority prospective и Plan-bound. Markerless PRA, созданная до появления
311
+ production-edge contract, читается без ретроактивной проверки отсутствующих полей, но только пока и PRA,
312
+ и Task не заявляют новую authority. Обычная новая PRA и atomic corrective replan записывают hash-chained
313
+ marker `required-v1`; content-only knowledge rebind сохраняет production edges у native Task, а у
314
+ действительно legacy Task сохраняет markerless posture. Миграция или ручное переписывание state не нужны.
315
+ Граница доверия остаётся repository-local state: это не криптографическая защита от полного
316
+ привилегированного переписывания всей hash chain.
317
+
310
318
  Versioned observed-route matrix v2 связывает все 13 Signal-observed route classes с unique priority и
311
319
  одним exact production-transition witness либо real terminal observation на класс. Это class-level
312
320
  доказательство: action-level metadata отдельно различает `executable-witnessed`, `unwitnessed` и
@@ -455,7 +463,7 @@ Restart Docker Desktop требует отдельного разрешения
455
463
  # 10. Operational checklist
456
464
 
457
465
  - exact package version установлен, bundled gateway соответствует release и переустановлен;
458
- - handshake подтверждает `packageVersion=2.0.0-beta.13`, protocol 2, state schema 2 и beta.13
466
+ - handshake подтверждает `packageVersion=2.0.0-beta.13.1`, protocol 2, state schema 2 и beta.13
459
467
  capabilities;
460
468
  - routine observation начинается с компактного `status`; `status --full` запрашивается только для
461
469
  расследования, которому действительно нужна полная historical projection;
@@ -57,7 +57,7 @@ AGENTS.md
57
57
  -> doctor только как дополнительная диагностика
58
58
  ```
59
59
 
60
- Handshake beta.13 должен сообщать `packageVersion=2.0.0-beta.13`, `protocolVersion=2`,
60
+ Handshake beta.13.1 должен сообщать `packageVersion=2.0.0-beta.13.1`, `protocolVersion=2`,
61
61
  `stateSchemaVersion=2`, dependency DAG, initial Plan transaction, mechanical feasibility,
62
62
  Milestone autonomy, host-safe credential reference, failed-Step continuation transaction,
63
63
  cause-bound rolling refinement, structural production edge, compact status, reviewer runtime preflight,
@@ -282,6 +282,12 @@ effective scope той же Task только внутри затронутой
282
282
  requirements, acceptance или security boundary. Это structural admission: оно не доказывает product
283
283
  truth, не заменяет фактический check/review и не заявляет реализацию P02 Step-validity authority.
284
284
 
285
+ В beta.13.1 production-edge authority применяется prospective. Новые ordinary/corrective PRA получают
286
+ hash-chained marker `required-v1`. Markerless PRA и Task без production-edge fields считаются legacy и не
287
+ переписываются; content-only refresh сохраняет эту posture. Для native Task refresh обязан сохранить exact
288
+ `requiresProductionEdges`, `productionEdges[]` и строку edge в новом Plan artifact. Не редактируй state
289
+ вручную: после update следуй только fresh advertised reconcile/context-refresh route.
290
+
285
291
  # 9. Atomic context refresh
286
292
 
287
293
  Когда top-level `next.action` равен `task context-refresh`, нельзя сначала выполнять standalone
@@ -475,8 +481,8 @@ Task/project DGR. `dependencyBinding` для standalone handoff равен null.
475
481
 
476
482
  # 14. Итоговый checklist пользователя
477
483
 
478
- - beta.13 exact package и новый bundled gateway установлены; handshake показывает
479
- `packageVersion=2.0.0-beta.13`, protocol/state schema `2/2` и beta.13 capabilities;
484
+ - beta.13.1 exact package и новый bundled gateway установлены; handshake показывает
485
+ `packageVersion=2.0.0-beta.13.1`, protocol/state schema `2/2` и beta.13 capabilities;
480
486
  - новый Coordinator chat не является fork старого Milestone;
481
487
  - bootstrap DGR, если нужен, выдан отдельным exact human confirmation;
482
488
  - Discovery не materialized при blocking unknowns;
@@ -15,7 +15,7 @@ authority сами: mutating permission определяется runtime state
15
15
 
16
16
  | Параметр beta.13 | Значение |
17
17
  |---|---|
18
- | npm package | `codex-workflow-v2@2.0.0-beta.13` |
18
+ | npm package | `codex-workflow-v2@2.0.0-beta.13.1` |
19
19
  | protocolVersion | 2 |
20
20
  | stateSchemaVersion | 2 |
21
21
  | lifecycle epoch | 2 |
@@ -228,6 +228,13 @@ requirements, acceptance и security boundary. Отдельно независи
228
228
  Эти механизмы проверяют структурную форму и не утверждают product truth. Они не заменяют Plan Risk Audit,
229
229
  Milestone authorization, фактический check result или не реализованную Step-validity authority P02.
230
230
 
231
+ Beta.13.1 вводит prospective, Plan-bound compatibility boundary. Новые ordinary PRA и atomic corrective
232
+ replan связывают `structuralProductionEdgeAuthority=required-v1` с hash chain. Историческая markerless PRA
233
+ не получает новую семантику задним числом, если текущая Task также не содержит production-edge fields.
234
+ Content-only knowledge rebind сохраняет exact native fields и rendered edge, а для такой legacy Task
235
+ сохраняет markerless posture. Это устраняет необходимость state migration; repository-local state остаётся
236
+ доверенной границей и не защищает от полного привилегированного переписывания всей chain.
237
+
231
238
  # 9. C1 handoff и writer lease
232
239
 
233
240
  ## 9.1. Dependency binding
@@ -760,7 +767,7 @@ dirty update.
760
767
  observed-route matrix/compact-status/reviewer-runtime tests, legacy compatibility regressions,
761
768
  `npm run test:signal-t10-check-support-e2e`, `npm run test:signal-remediation-e2e`,
762
769
  `npm run pack:check`, `npm run smoke:downstream`, `npm run plugin:check`, official plugin/skill validators,
763
- `npm run docs:pdf:check` и `npm run release:check` с exact `v2.0.0-beta.13` tag binding и append-only
770
+ `npm run docs:pdf:check` и `npm run release:check` с exact `v2.0.0-beta.13.1` tag binding и append-only
764
771
  real-agent lifecycle log. Candidate проверяется из clean source checkout; missing built module не должен
765
772
  превращаться в stack trace, а обязан быть детерминированно собран или диагностирован release gate.
766
773
 
package/docs/release.md CHANGED
@@ -83,6 +83,15 @@ surface and fails unless all of these release contracts remain present:
83
83
  coordinator-replacement facts without claiming Codex App scheduling, chat mutation, consent, or
84
84
  atomic App effects.
85
85
 
86
+ For beta.13.1 the same gate additionally verifies the post-publish compatibility boundary. A
87
+ markerless pre-authority PRA whose Task has no production-edge fields remains readable and does not
88
+ turn an intact beta.12 state into `STATE_CORRUPT`. Both ordinary and atomic corrective-replan PRA
89
+ writers persist `structuralProductionEdgeAuthority=required-v1`; that hash-chained marker keeps the
90
+ current-Plan structural gate fail-closed even if Task fields are removed. An audit belonging to an
91
+ older Plan is never revalidated against a later Plan's Step/edge graph. This is not signed
92
+ provenance: a privileged rewrite of the complete local Task and self-hashed chain remains outside
93
+ the local-state trust model.
94
+
86
95
  For beta.12.19, the release gate also relies on `npm run release:check` to fail if:
87
96
 
88
97
  - canonical entity schema 2 shapes drift;
@@ -22,23 +22,45 @@ state schema. Совпадение `stateSchemaVersion` до и после об
22
22
  нужна. Для alpha.6 при `stateSchemaVersion: 2` применяется не migration, а sidecar-only
23
23
  adoption posture.
24
24
 
25
+ ### beta.13.1: legacy PRA compatibility after beta.13
26
+
27
+ `2.0.0-beta.13.1` preserves the beta.13 protocol/schema `2/2` and adds no state migration. The
28
+ structural production-edge rule is prospective: every newly written ordinary or atomic
29
+ corrective-replan PRA receives the hash-chained `structuralProductionEdgeAuthority=required-v1`
30
+ marker, and its current Plan must satisfy the edge contract. A markerless PRA and Task written
31
+ before that authority existed remain readable; Workflow must not reinterpret their historical
32
+ `runtime-composition` classification as proof that their old Plan contained beta.13 fields.
33
+ Historical PRA events from an earlier Plan are hash/shape validated but are not compared with the
34
+ current Plan's edges. This compatibility rule never edits, migrates or silently approves external
35
+ state. A later Plan/PRA recorded by beta.13.1 must satisfy the full structural boundary.
36
+
37
+ This does not add signed provenance to local Workflow state. A full privileged rewrite of Task
38
+ state and its complete self-hashed sidecar chain remains outside the trust model; repository rules
39
+ continue to prohibit manual state edits. The regression proves compatibility and fail-closed
40
+ partial mismatch, not authenticity against the machine owner.
41
+
42
+ The normal safe-update sequence below targets exact `2.0.0-beta.13.1`. It is also the supported
43
+ patch path from beta.13 when `status` or `next` reports `STATE_CORRUPT` solely because a markerless
44
+ pre-beta.13 PRA lacks production-edge fields: run the old-version read-only preflight first, install
45
+ the patch dependency-only, and resume from a fresh handshake. Never edit the PRA sidecar manually.
46
+
25
47
  ### beta.13: coherent continuation and host-safe credentials
26
48
 
27
- `2.0.0-beta.13` сохраняет `protocolVersion: 2` и `stateSchemaVersion: 2`; отдельная state migration
49
+ `2.0.0-beta.13.1` сохраняет `protocolVersion: 2` и `stateSchemaVersion: 2`; отдельная state migration
28
50
  для перехода с beta.12.19 не нужна. Обновление выполняется только на безопасной границе обычного
29
51
  `update preflight`: нет running Step, active/stale writer lease, незавершённой transaction/Core
30
52
  operation и неучтённых dirty product bytes. Если хотя бы одно условие не выполнено, сначала
31
- завершите advertised recovery текущей repository-local версией; установка beta.13 сама по себе не
53
+ завершите advertised recovery текущей repository-local версией; установка beta.13.1 сама по себе не
32
54
  является recovery-route и не разрешает переносить или редактировать внешний state.
33
55
 
34
56
  Точный путь обновления:
35
57
 
36
58
  1. Старой repository-local версией зафиксируйте `handshake`, `status`, `next` и read-only
37
59
  `update preflight`; продолжайте только при `safe=true`.
38
- 2. Установите exact `codex-workflow-v2@2.0.0-beta.13` без диапазона и измените только
60
+ 2. Установите exact `codex-workflow-v2@2.0.0-beta.13.1` без диапазона и измените только
39
61
  `package.json` и lock-файл.
40
62
  3. Новой repository-local версией подтвердите совпадение declared, locked и installed
41
- `2.0.0-beta.13`, прежний `projectId`, protocol/schema `2/2`, затем выполните `handshake`,
63
+ `2.0.0-beta.13.1`, прежний `projectId`, protocol/schema `2/2`, затем выполните `handshake`,
42
64
  `doctor`, компактный `status` и `next`.
43
65
  4. Обновите персональный `codex-workflow-gateway` только штатным installer из установленного
44
66
  exact пакета и продолжайте работу в новом чате, который загрузит новую skill-инструкцию.
@@ -1,13 +1,34 @@
1
- # V2 beta.13 Validation Report
1
+ # V2 beta.13.1 Validation Report
2
2
 
3
- Release candidate `2.0.0-beta.13` was validated during 2026-09-02--03 (Europe/Moscow) with
3
+ Release candidate `2.0.0-beta.13.1` was validated during 2026-09-02--03 (Europe/Moscow) with
4
4
  Node.js 24.17.0.
5
5
 
6
+ ## beta.13.1 post-publication compatibility correction
7
+
8
+ After published beta.13 was installed dependency-only into the clean Signal `main` checkout,
9
+ declared, locked and installed versions and registry integrity matched, but the first compact
10
+ `status` failed before navigation. The loader had applied the new structural production-edge rule
11
+ to the first markerless beta.12.19 PRA for `TASK-01M1B79C660YMNSRRZ236NTR1T`; that historical Task
12
+ contains neither `requiresProductionEdges` nor `productionEdges`. This was a runtime compatibility
13
+ defect, not corrupt Signal state.
14
+
15
+ beta.13.1 makes the authority prospective and Plan-bound. New ordinary and atomic
16
+ corrective-replan PRA writers persist one hash-chained marker. Stored structural validation runs only
17
+ for the current Plan when either that marker or the new Task fields establish the boundary.
18
+ Markerless pre-authority events remain hash/shape validated and readable, while marker-bearing
19
+ current events still fail closed if Task structural fields are removed. A source-built read-only
20
+ probe against the untouched real Signal external state changed the exact failing observation into
21
+ the expected `project-memory reconcile` route with the retained-historical frozen-M3 cancellation
22
+ option. The focused production-edge and corrective-replan executor suites passed `14/14` before
23
+ the full release gate. The compatibility gate does not claim signed provenance against a privileged
24
+ rewrite of the entire local Task and self-hashed chain; it proves ordinary read compatibility and
25
+ fail-closed partial mismatch within the existing trusted-local-state model.
26
+
6
27
  ## Automated release evidence
7
28
 
8
29
  - A clean `npm ci` completed from the exact lockfile. A network-enabled `npm audit --json` reported
9
30
  zero vulnerabilities at every severity across all eight installed dependencies.
10
- - `npm run validate` passed typecheck and `408/408` sequential tests with no failures, skips,
31
+ - `npm run validate` passed typecheck and `409/409` sequential tests with no failures, skips,
11
32
  cancellations or todos in 2,761,796.900458 ms.
12
33
  - `npm run test:signal-t10-check-support-e2e` passed `8/8` after the final clean install in
13
34
  203,155.332125 ms. It covers an impossible selector-less check, machine-derived support scope,
@@ -20,7 +41,7 @@ Node.js 24.17.0.
20
41
  recovers an accidental rebind, replans and completes the consolidated guarded Step.
21
42
  - `npm run test:signal-t04-recovery` passed `11/11` in 22,021.439625 ms. It preserves only exact
22
43
  reviewed Step provenance and rejects pending, corrupt, unrelated or stale recovery evidence.
23
- - `npm run pack:check` produced the exact `2.0.0-beta.13` tarball with 309 files, package size
44
+ - `npm run pack:check` produced the exact `2.0.0-beta.13.1` tarball with 309 files, package size
24
45
  1.2 MB and unpacked size 4.8 MB. It includes the shared gateway-handshake module and the
25
46
  hash-verifiable reviewer runtime build manifest.
26
47
  - `npm run smoke:downstream` packed the release, installed it into an empty project and returned
@@ -28,7 +49,7 @@ Node.js 24.17.0.
28
49
  network-enabled invocation passed.
29
50
  - `npm run plugin:check`, `npm run docs:pdf:check`, `npm run typecheck` and `git diff --check` all
30
51
  passed. The PDF checker reported no stale generated document. `npm run release:check` passed
31
- `103/103` tests in 300,945.515375 ms and returned the exact package/version assertion.
52
+ `104/104` tests in 298,521.790541 ms and returned the exact package/version assertion.
32
53
 
33
54
  ## Release-candidate regressions found and closed
34
55
 
@@ -92,8 +113,8 @@ stale nearer-copy regressions expanded the complete suite.
92
113
  A real native reviewer preflight then exposed an API-level Structured Output incompatibility: every
93
114
  declared object property must also be present in `required`. The reviewer schema now makes nullable
94
115
  optional semantics explicit, while the semantic parser still rejects absent or contradictory
95
- cause/plan-conflict evidence. The complete suite consequently reached `408/408`, and the expanded
96
- release check reached `103/103`.
116
+ cause/plan-conflict evidence. The complete suite consequently reached `409/409`, and the expanded
117
+ release check reached `104/104`.
97
118
 
98
119
  The same real-agent exercise corrected the release proof boundary without weakening Core. A nested
99
120
  `codex exec` reviewer is not treated as independent production evidence: the Coordinator stops at a
@@ -154,8 +175,8 @@ mutation. This changes release-evidence interpretation only; it grants no lifecy
154
175
  - This report does not claim commit/tag/push, npm publication, installation into Signal or Milestone
155
176
  4 readiness until those operations receive exact readback.
156
177
 
157
- Confidence is high for package behavior and the stated compatibility boundary: the final `408/408`
158
- run, `103/103` release check, four Signal-shaped E2E suites, package/downstream smoke, CPU-saturation,
178
+ Confidence is high for package behavior and the stated compatibility boundary: the final `409/409`
179
+ run, `104/104` release check, four Signal-shaped E2E suites, package/downstream smoke, CPU-saturation,
159
180
  warm-cache and fail-closed negative cases agree. Live Signal readiness remains conditional on
160
181
  publication, exact repository-local installation, safe
161
182
  closure of the frozen Milestone 3 authority and a fresh read-only `status`/`next` observation.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codex-workflow-v2",
3
- "version": "2.0.0-beta.13",
3
+ "version": "2.0.0-beta.13.1",
4
4
  "description": "Requirements-first Codex development workflow with local state and explicit Git ownership.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -35,6 +35,7 @@
35
35
  "summary": { "type": "string", "minLength": 1 },
36
36
  "decision": { "enum": ["approved", "approved-with-rationale", "split-required", "stop-escalate"] },
37
37
  "splitRationale": { "type": ["string", "null"], "minLength": 1 },
38
+ "structuralProductionEdgeAuthority": { "const": "required-v1" },
38
39
  "stepClassifications": {
39
40
  "type": "array",
40
41
  "minItems": 1,