codex-workflow-v2 2.0.0-beta.12.18 → 2.0.0-beta.12.19
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.
- package/README.md +6 -2
- package/dist/src/cli.js +1 -0
- package/dist/src/cli.js.map +1 -1
- package/dist/src/contracts.d.ts +1 -1
- package/dist/src/dependency-provenance.js +11 -0
- package/dist/src/dependency-provenance.js.map +1 -1
- package/dist/src/version.d.ts +1 -1
- package/dist/src/version.js +1 -1
- package/dist/src/workflow.d.ts +2 -0
- package/dist/src/workflow.js +223 -20
- package/dist/src/workflow.js.map +1 -1
- package/docs/pdf/codex-workflow-v2-architecture-ru.pdf +0 -0
- package/docs/pdf/codex-workflow-v2-chat-only-guide-ru.pdf +0 -0
- package/docs/pdf/codex-workflow-v2-technical-reference-ru.pdf +0 -0
- package/docs/pdf/sources/codex-workflow-v2-architecture-ru.md +14 -5
- package/docs/pdf/sources/codex-workflow-v2-chat-only-guide-ru.md +10 -9
- package/docs/pdf/sources/codex-workflow-v2-technical-reference-ru.md +26 -8
- package/docs/release.md +1 -1
- package/docs/updating-existing-project.md +23 -0
- package/docs/validation-report.md +78 -80
- package/package.json +1 -1
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
---
|
|
2
|
-
title: Codex Workflow V2: архитектура beta.12.
|
|
2
|
+
title: Codex Workflow V2: архитектура beta.12.19
|
|
3
3
|
subtitle: Источники истины, lifecycle, роли, delegation, зависимости Tasks и границы доверия
|
|
4
4
|
part: Часть 1 из 3 | Архитектура
|
|
5
5
|
document_version: 2.0
|
|
6
6
|
date: 1 сентября 2026
|
|
7
|
-
subject: Архитектура и границы Codex Workflow V2 beta.12.
|
|
7
|
+
subject: Архитектура и границы Codex Workflow V2 beta.12.19
|
|
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.
|
|
21
|
+
## 1.1. Что beta.12.19 гарантирует
|
|
22
22
|
|
|
23
23
|
- exact project-local npm package и совместимый handshake до lifecycle действий;
|
|
24
24
|
- Discovery до materialization Task или Milestone;
|
|
@@ -43,8 +43,11 @@ Codex Workflow V2 - локальный state machine поверх Codex App, Git
|
|
|
43
43
|
- исторический check-support decision проверяется против собственного Plan hash, а новый Plan может
|
|
44
44
|
продолжить только после явного принятия каждого support path в `allowedWrites` и `expectedOutputs`;
|
|
45
45
|
implicit scope carry-over и Human approval для этого exact machine-proved случая отсутствуют.
|
|
46
|
+
- после dependency registration и Knowledge rebind один общий fail-closed assessor управляет и
|
|
47
|
+
навигацией, и `task run`: переносится только точный dirty set с тем же content hash, registered HEAD,
|
|
48
|
+
непрерывной Plan/rebind chain и явным scope текущей Step; drift переводит route в `doctor`.
|
|
46
49
|
|
|
47
|
-
## 1.2. Что beta.12.
|
|
50
|
+
## 1.2. Что beta.12.19 не гарантирует
|
|
48
51
|
|
|
49
52
|
- правильность продуктовой идеи или автоматически выбранного provider Task;
|
|
50
53
|
- semantic sufficiency Plan, если точные факты нельзя доказать поддерживаемым analyzer;
|
|
@@ -364,6 +367,12 @@ External preflight допускает продолжение только при
|
|
|
364
367
|
dependency-only transport Core заново связывает Knowledge и authorization; старый event не создаёт
|
|
365
368
|
скрытой authority и не модифицируется задним числом.
|
|
366
369
|
|
|
370
|
+
beta.12.19 закрывает оставшийся execution-boundary разрыв. Успешные transport, rebind, PRA и
|
|
371
|
+
authorization больше не заканчиваются рекламируемым, но невыполнимым `task run`: `next` и `runStep`
|
|
372
|
+
используют одну проверку registered recovery commit, exact dirty paths/content hash, historical
|
|
373
|
+
decision, Plan/rebind ancestry и current Step ownership. Совпадение разрешает только принятие уже
|
|
374
|
+
доказанных байтов; любое отличие блокирует запуск и не создаёт lease или commit.
|
|
375
|
+
|
|
367
376
|
Docker socket `EPERM` в sandbox не является доказательством сломанного daemon. Gateway один раз
|
|
368
377
|
повторяет exact health probe или Plan check с sandbox escalation без расходования remediation attempt.
|
|
369
378
|
Restart Docker Desktop требует отдельного разрешения и допустим только после escalated daemon failure.
|
|
@@ -373,7 +382,7 @@ Restart Docker Desktop требует отдельного разрешения
|
|
|
373
382
|
# 10. Operational checklist
|
|
374
383
|
|
|
375
384
|
- exact package version установлен, bundled gateway соответствует release и переустановлен;
|
|
376
|
-
- handshake подтверждает protocol 2, state schema 2 и beta.12.
|
|
385
|
+
- handshake подтверждает protocol 2, state schema 2 и beta.12.19 capabilities;
|
|
377
386
|
- каждый mutation следует свежему `status -> next` и exact option contract;
|
|
378
387
|
- Docker permission failure сначала классифицируется как sandbox boundary, а не как infra retry;
|
|
379
388
|
- 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.
|
|
3
|
+
subtitle: Актуальный beta.12.19 путь от нового Discovery до принятого Milestone без ручного CLI
|
|
4
4
|
part: Часть 2 из 3 | Практика
|
|
5
5
|
document_version: 2.0
|
|
6
6
|
date: 1 сентября 2026
|
|
7
|
-
subject: Практическое руководство по delegated Discovery и Milestone в Workflow V2 beta.12.
|
|
7
|
+
subject: Практическое руководство по delegated Discovery и Milestone в Workflow V2 beta.12.19
|
|
8
8
|
---
|
|
9
9
|
|
|
10
|
-
# 1. Рабочая модель beta.12.
|
|
10
|
+
# 1. Рабочая модель beta.12.19
|
|
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.
|
|
43
|
+
2. Установите beta.12.19 как точную 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.
|
|
59
|
+
Handshake beta.12.19 должен сообщать `packageVersion=2.0.0-beta.12.19`, `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.
|
|
120
|
+
Проведи новый Milestone через Codex Workflow V2 beta.12.19 в delegated режиме.
|
|
121
121
|
Repository: <ABSOLUTE-REPOSITORY-ROOT>.
|
|
122
122
|
Milestone ID: AUTO.
|
|
123
123
|
Delegate actor: agent:milestone-coordinator.
|
|
@@ -299,8 +299,9 @@ 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.
|
|
303
|
-
| Новый Plan явно принял ранее derived check-support path, но старый event выглядит corrupt | beta.12.
|
|
302
|
+
| In-flight Plan-integrity Task требует package update | beta.12.19 external preflight выводит coherent exact beta.12 source из пяти version surfaces; затем только dependency-only transport и advertised recovery |
|
|
303
|
+
| Новый Plan явно принял ранее derived check-support path, но старый event выглядит corrupt | beta.12.19 external preflight требует exact post-rebind scope adoption и неизменные dirty bytes; затем dependency-only transport, Knowledge rebind, PRA и fresh authorization без Human gate |
|
|
304
|
+
| После rebind и authorization `next` показывает `task run`, но checkout содержит сохранённые Step bytes | Продолжать только если beta.12.19 `next` показывает `planIntegrityDirtyCarryover.state=validated`; HEAD, Plan chain, paths и content hash уже проверены Core. При `doctor` запуск запрещён |
|
|
304
305
|
| Downstream proof требует изменить completed predecessor | Только `task downstream-proof-recover`, затем новый Plan/risk audit/authorization в той же Task |
|
|
305
306
|
| Failed guarded review | Та же Task: исправление и новый strict review без attempt hard stop |
|
|
306
307
|
| Finding `route=fix` | Продолжить тот же Step; count остаётся диагностикой |
|
|
@@ -410,7 +411,7 @@ Task/project DGR. `dependencyBinding` для standalone handoff равен null.
|
|
|
410
411
|
|
|
411
412
|
# 14. Итоговый checklist пользователя
|
|
412
413
|
|
|
413
|
-
- beta.12.
|
|
414
|
+
- beta.12.19 exact package и новый bundled gateway установлены;
|
|
414
415
|
- новый Coordinator chat не является fork старого Milestone;
|
|
415
416
|
- bootstrap DGR, если нужен, выдан отдельным exact human confirmation;
|
|
416
417
|
- Discovery не materialized при blocking unknowns;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
---
|
|
2
|
-
title: Codex Workflow V2: технический справочник beta.12.
|
|
2
|
+
title: Codex Workflow V2: технический справочник beta.12.19
|
|
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: 1 сентября 2026
|
|
7
|
-
subject: Технический контракт Codex Workflow V2 beta.12.
|
|
7
|
+
subject: Технический контракт Codex Workflow V2 beta.12.19
|
|
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
|
+
| Параметр beta.12.19 | Значение |
|
|
17
17
|
|---|---|
|
|
18
|
-
| npm package | `codex-workflow-v2@2.0.0-beta.12.
|
|
18
|
+
| npm package | `codex-workflow-v2@2.0.0-beta.12.19` |
|
|
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.
|
|
40
|
+
Ключевые beta.12.19 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, `historical-check-support-scope-adoption-v1`, 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`, `historical-check-support-dirty-carryover-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 или соседней
|
|
@@ -542,6 +542,24 @@ content hash не изменились, а current planned Step напрямую
|
|
|
542
542
|
Git guards сохраняются. После регистрации update Knowledge rebind, PRA и authorization выполняются
|
|
543
543
|
только по fresh routes; Human approval для exact machine-proved scope не нужен.
|
|
544
544
|
|
|
545
|
+
# 13.10. beta.12.19 historical check-support dirty carryover
|
|
546
|
+
|
|
547
|
+
После регистрации dependency recovery current Plan может быть ещё раз mechanically rebound и
|
|
548
|
+
авторизован, тогда как product bytes остаются uncommitted. Запуск разрешён только при едином
|
|
549
|
+
assessment для `next` и `runStep`: latest compatible dependency record должен быть зарегистрирован на
|
|
550
|
+
точной history boundary; его Plan должен совпадать с current Plan или вести к нему через непрерывную
|
|
551
|
+
Knowledge-rebind chain; planned Step должна владеть каждым dirty path и каждым `scopeExtension`; full
|
|
552
|
+
path set и `hashDirtyWorktree` должны совпадать; один validated historical check-support decision
|
|
553
|
+
должен связывать те же conflict/remediation/scope fields.
|
|
554
|
+
|
|
555
|
+
При полном совпадении `next` публикует
|
|
556
|
+
`planIntegrityDirtyCarryover.state=validated`, а `task run` принимает только эти байты под current
|
|
557
|
+
Step envelope. При любом расхождении `next` возвращает `doctor` с `blockedAction=task run`; lease,
|
|
558
|
+
Step mutation и commit не создаются. Для обновления уже авторизованной beta.12.18 Task внешний
|
|
559
|
+
beta.12.19 runner выдаёт `compatibilityMode=post-rebind-dirty-carryover`, после чего сохраняются
|
|
560
|
+
обычный dependency-only transport, repository-local registration, Knowledge rebind, PRA,
|
|
561
|
+
authorization, checks, Core commit и sealed review. Human approval не добавляется.
|
|
562
|
+
|
|
545
563
|
# 14. P04-A structural replacement boundary
|
|
546
564
|
|
|
547
565
|
Command shape `task replacement-materialize` retained только для compatibility diagnostics. Любая попытка
|
|
@@ -604,7 +622,7 @@ Docker socket/CLI `EPERM`, `operation not permitted` или `permission denied`
|
|
|
604
622
|
После каждой successful mutation обязателен sequential `status`, затем fresh `next`. Failed status/next
|
|
605
623
|
не разрешает direct mutation. Syntax help read-only и не заменяет navigation authority.
|
|
606
624
|
|
|
607
|
-
# 18. Public command surface beta.12.
|
|
625
|
+
# 18. Public command surface beta.12.19
|
|
608
626
|
|
|
609
627
|
| Область | Actions |
|
|
610
628
|
|---|---|
|
|
@@ -635,7 +653,7 @@ active-downstream-proof bridge, beta.12.7 exact stranded-replan bridge, beta.12.
|
|
|
635
653
|
dependency bridge и beta.12.15 Plan-integrity bridge; все они fail-closed и не дают общего разрешения
|
|
636
654
|
dirty update.
|
|
637
655
|
|
|
638
|
-
Перед beta.12.
|
|
656
|
+
Перед beta.12.19 tag обязательны `npm ci`, `npm run validate`, `npm run test:signal-t10-check-support-e2e`, `npm run test:signal-remediation-e2e`, `npm run pack:check`,
|
|
639
657
|
`npm run smoke:downstream`, `npm run plugin:check`, official plugin/skill validators,
|
|
640
658
|
`npm run docs:pdf:check`, `npm run release:check` с exact tag binding и validation
|
|
641
659
|
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.
|
|
32
|
+
For beta.12.19, 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;
|
|
@@ -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.19: hash-bound check-support dirty carryover at Task run
|
|
26
|
+
|
|
27
|
+
beta.12.18 could validate and transport a historical check-support recovery through a new Plan, but
|
|
28
|
+
the final execution boundary still applied the ordinary clean-checkout rule. Consequently fresh
|
|
29
|
+
`next` advertised `task run` after dependency registration, Knowledge rebind, Risk Audit and
|
|
30
|
+
authorization, while the same `task run` rejected the preserved product bytes.
|
|
31
|
+
|
|
32
|
+
beta.12.19 gives navigation and execution one shared fail-closed assessment. Carryover is valid only
|
|
33
|
+
when the latest registered Plan-integrity dependency record binds the current history boundary, the
|
|
34
|
+
current Plan is that record's Plan or its exact Knowledge-rebind descendant, the planned Step owns
|
|
35
|
+
every dirty path, every derived support path is explicit in both `allowedWrites` and
|
|
36
|
+
`expectedOutputs`, and the full dirty file list and content hash still match the validated historical
|
|
37
|
+
decision. `next` then reports `planIntegrityDirtyCarryover.state=validated`; `task run` may adopt
|
|
38
|
+
exactly those bytes. Any mismatch changes `next` to `doctor` and leaves execution blocked.
|
|
39
|
+
|
|
40
|
+
An in-flight beta.12.18 Task already in the authorized dirty-carryover posture may use external exact
|
|
41
|
+
beta.12.19 `update plan-integrity-update-preflight`. It returns
|
|
42
|
+
`compatibilityMode=post-rebind-dirty-carryover` only when the existing registration and all ordinary
|
|
43
|
+
version, Git, lease, transaction and Core-operation guards pass. Continue only through the reported
|
|
44
|
+
dependency-only transport and fresh repository-local routes. No Human approval is introduced for
|
|
45
|
+
this exact machine-proved continuation; checks, Core commit and external sealed review remain
|
|
46
|
+
mandatory.
|
|
47
|
+
|
|
25
48
|
### beta.12.18: historical check-support scope adoption after Knowledge rebind
|
|
26
49
|
|
|
27
50
|
beta.12.18 closes a bounded post-rebind deadlock. A Task may already contain a valid beta.12.16
|
|
@@ -1,103 +1,101 @@
|
|
|
1
|
-
# V2 beta.12.
|
|
1
|
+
# V2 beta.12.19 Validation Report
|
|
2
2
|
|
|
3
|
-
Release candidate `2.0.0-beta.12.
|
|
3
|
+
Release candidate `2.0.0-beta.12.19` 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
9
|
- `npm run validate` passed typecheck and `354/354` sequential tests with no failures, skips,
|
|
10
|
-
cancellations or todos in 2,
|
|
11
|
-
- `npm run test:signal-t10-check-support-e2e` passed `8/8` in
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
10
|
+
cancellations or todos in 2,187,446.915 ms.
|
|
11
|
+
- `npm run test:signal-t10-check-support-e2e` passed `8/8` in 181,400.886 ms. Its extended
|
|
12
|
+
Signal-shaped case executes the complete beta.12.18-to-beta.12.19 sequence: historical check-
|
|
13
|
+
support recovery, explicit scope adoption, dependency-only update preflight and transport, Core
|
|
14
|
+
dependency registration, Knowledge rebind, fresh Risk Audit and authorization, dirty-byte adoption,
|
|
15
|
+
checks and Core-owned Step commit. A one-byte mutation changes fresh navigation to `doctor`.
|
|
16
|
+
- `npm run test:signal-remediation-e2e` passed `2/2` in 9,136.908 ms.
|
|
17
|
+
- `npm run pack:check` produced the exact `2.0.0-beta.12.19` tarball with 284 files. The first
|
|
18
|
+
sandboxed attempt could not write the user npm cache; the identical cache-enabled invocation
|
|
19
|
+
passed. This was an environment boundary, not a package failure.
|
|
20
|
+
- `npm run smoke:downstream` packed the release, installed it into an empty project and returned
|
|
19
21
|
`ok=true`. The first sandboxed attempt could not resolve the npm registry; the identical network-
|
|
20
22
|
enabled invocation passed.
|
|
21
23
|
- `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.
|
|
23
|
-
on their title and changed contract pages.
|
|
24
|
+
Russian PDFs were regenerated for beta.12.19, reported no stale outputs and were visually inspected
|
|
25
|
+
on their title and changed contract pages with no clipping, overlap or broken tables.
|
|
26
|
+
- `git diff --check` passed for the release patch.
|
|
24
27
|
|
|
25
28
|
## Live Signal evidence before publication
|
|
26
29
|
|
|
27
|
-
The live repository was observed
|
|
30
|
+
The live repository was observed without changing product files, Git references or Workflow state at:
|
|
28
31
|
|
|
29
32
|
- Task branch `codex/task-01m1b79c66-current-formalization-commit-and-provide`;
|
|
30
|
-
- HEAD `
|
|
31
|
-
- repository-local package `codex-workflow-v2@2.0.0-beta.12.
|
|
32
|
-
- Task `TASK-01M1B79C660YMNSRRZ236NTR1T`, revision
|
|
33
|
-
|
|
34
|
-
- current Plan
|
|
35
|
-
|
|
36
|
-
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
- `
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
-
|
|
51
|
-
-
|
|
52
|
-
- zero blockers.
|
|
53
|
-
|
|
54
|
-
No Signal product byte, Git reference or Workflow-state artifact was changed by this live preflight.
|
|
33
|
+
- HEAD `c9dc805911f5b1dfb026ca03411f86bd72ba259f`;
|
|
34
|
+
- repository-local package `codex-workflow-v2@2.0.0-beta.12.18`, protocol/schema `2/2`;
|
|
35
|
+
- Task `TASK-01M1B79C660YMNSRRZ236NTR1T`, revision 27, status `ready`;
|
|
36
|
+
- current Plan hash `c9ebe850ae7504db3621442cb4a3dfa6cf7a77a421a5f61f7cbcbcde31eddc5b`;
|
|
37
|
+
- planned `STEP-002-CURRENT-COMMIT`, whose current Plan directly owns all eight preserved product
|
|
38
|
+
paths plus `tools/postgres/processing-migration-files.ts` as the derived support path;
|
|
39
|
+
- dirty worktree hash `a53ae309e2b79a4255b0f02e45612f8c8570f7f0a0ea91f3e761979904161277`;
|
|
40
|
+
- no active writer lease.
|
|
41
|
+
|
|
42
|
+
beta.12.18 fresh `next` advertised `task run`. Invoking that exact route failed before credential
|
|
43
|
+
issuance with `GIT_PRECONDITION_FAILED`: the planned Step was still forced through the ordinary clean-
|
|
44
|
+
checkout precondition, which listed the same eight product paths preserved by the registered recovery.
|
|
45
|
+
No Task revision, Step state, lease, credential or repository byte changed on that failure.
|
|
46
|
+
|
|
47
|
+
The locally built external beta.12.19 runner then performed two read-only observations against the
|
|
48
|
+
same state:
|
|
49
|
+
|
|
50
|
+
- `next` kept `action=task run` but added
|
|
51
|
+
`planIntegrityDirtyCarryover.state=validated`, the exact eight paths, their content hash, registered
|
|
52
|
+
recovery commit and exact support scope extension;
|
|
53
|
+
- `update plan-integrity-update-preflight` returned `eligible=true`,
|
|
54
|
+
`action=update plan-integrity-transport`, source `2.0.0-beta.12.18`, target
|
|
55
|
+
`2.0.0-beta.12.19`, `compatibilityMode=post-rebind-dirty-carryover` and zero blockers.
|
|
55
56
|
|
|
56
57
|
## Root cause corrected
|
|
57
58
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
beta.12.
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
-
|
|
78
|
-
|
|
79
|
-
-
|
|
80
|
-
`
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
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.
|
|
59
|
+
beta.12.18 repaired historical evidence validation and update transport, but did not connect that
|
|
60
|
+
authority to the final execution admission. Navigation could prove the recovery sequence coherent,
|
|
61
|
+
while `runStep` independently knew only ordinary clean checkout, corrective retry and downstream-
|
|
62
|
+
proof carryover. The result was an advertised-but-rejected transition after every required recovery
|
|
63
|
+
action had succeeded.
|
|
64
|
+
|
|
65
|
+
beta.12.19 introduces one shared fail-closed check-support dirty-carryover assessment for navigation,
|
|
66
|
+
external update compatibility and execution admission. This is not a generic dirty-checkout bypass.
|
|
67
|
+
|
|
68
|
+
## Implemented beta.12.19 contract
|
|
69
|
+
|
|
70
|
+
- The latest compatible dependency recovery record must bind the exact registered history boundary.
|
|
71
|
+
- Its Plan must equal the current Plan or reach it through the recorded Knowledge-rebind chain.
|
|
72
|
+
- Exactly one validated historical v3 `continue-fix` decision must bind the same conflict,
|
|
73
|
+
remediation events, dirty set and derived scope extensions.
|
|
74
|
+
- The complete current dirty path set and `hashDirtyWorktree` must equal the registered binding.
|
|
75
|
+
- The planned Step must have no evidence, no other Step may be running, and every dirty path must be
|
|
76
|
+
inside its current `allowedWrites`.
|
|
77
|
+
- Every derived support path must be explicit in both current `allowedWrites` and `expectedOutputs`.
|
|
78
|
+
- Fresh `next` reports `planIntegrityDirtyCarryover.state=validated` only when `runStep` will accept
|
|
79
|
+
the same exact bytes. Any mismatch reports `doctor` with `blockedAction=task run`.
|
|
80
|
+
- An already authorized beta.12.18 Task can use the ordinary dependency-only update bridge with
|
|
81
|
+
`compatibilityMode=post-rebind-dirty-carryover`; after registration, Knowledge rebind, Risk Audit and
|
|
82
|
+
authorization remain fresh Core-advertised transitions.
|
|
83
|
+
- Capability `historical-check-support-dirty-carryover-v1` exposes the contract in the packaged
|
|
84
|
+
handshake. No Human approval is added for this exact machine-proved continuation.
|
|
87
85
|
|
|
88
86
|
## Boundaries and non-claims
|
|
89
87
|
|
|
90
|
-
- The patch does not accept an arbitrary
|
|
91
|
-
|
|
92
|
-
- It does not mutate
|
|
93
|
-
|
|
94
|
-
- It does not bypass
|
|
95
|
-
|
|
96
|
-
- This report does not claim beta.12.
|
|
97
|
-
Signal, STEP-002
|
|
88
|
+
- The patch does not accept an arbitrary dirty file, content change, unregistered commit, unrelated
|
|
89
|
+
Plan, missing explicit scope, malformed sidecar, multiple historical match or active transaction.
|
|
90
|
+
- It does not mutate historical evidence, rewrite Git, manually edit Workflow state or implicitly
|
|
91
|
+
widen Step scope.
|
|
92
|
+
- It does not bypass repository-local installation, Knowledge rebind, Risk Audit, authorization,
|
|
93
|
+
approved checks, Core commit, strict Step review or external sealed review.
|
|
94
|
+
- This report does not claim beta.12.19 commit/tag/push, npm publication, live installation into
|
|
95
|
+
Signal, STEP-002 review, Task merge or Milestone completion until those operations receive their
|
|
98
96
|
own readback.
|
|
99
97
|
|
|
100
|
-
Confidence is high for the defect classification and
|
|
101
|
-
|
|
102
|
-
conditional on publication, exact dependency-only
|
|
103
|
-
approved checks and the user-authorized
|
|
98
|
+
Confidence is high for the defect classification and package behavior: full `354/354`, focused
|
|
99
|
+
`8/8`, tamper-to-doctor E2E and read-only live Signal observations agree. End-to-end confidence in
|
|
100
|
+
the active Milestone remains conditional on publication, exact dependency-only installation, the
|
|
101
|
+
real approved checks and the user-authorized external sealed reviewer chat.
|
package/package.json
CHANGED