codex-workflow-v2 2.0.0-beta.12.12 → 2.0.0-beta.12.13
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 +5 -3
- package/dist/src/lifecycle/corrective-replan-binding-manifest.js +2 -0
- package/dist/src/lifecycle/corrective-replan-binding-manifest.js.map +1 -1
- package/dist/src/lifecycle/semantic-registry.js +1 -1
- package/dist/src/state/corrective-replan-executor.js +7 -5
- package/dist/src/state/corrective-replan-executor.js.map +1 -1
- package/dist/src/state/corrective-replan-public.js +30 -6
- package/dist/src/state/corrective-replan-public.js.map +1 -1
- package/dist/src/state/corrective-yield-transaction.js +11 -2
- package/dist/src/state/corrective-yield-transaction.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 +1 -0
- package/dist/src/workflow.js +38 -2
- 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 +13 -5
- package/docs/pdf/sources/codex-workflow-v2-chat-only-guide-ru.md +12 -7
- package/docs/pdf/sources/codex-workflow-v2-technical-reference-ru.md +26 -8
- package/docs/validation-report.md +102 -102
- package/package.json +1 -1
- package/schemas/corrective-replan-credentials.private.schema.json +4 -2
- package/schemas/transition-definition.schema.json +8 -0
|
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.13
|
|
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.
|
|
7
|
+
subject: Архитектура и границы Codex Workflow V2 beta.12.13
|
|
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.13 гарантирует
|
|
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.
|
|
44
|
+
## 1.2. Что beta.12.13 не гарантирует
|
|
45
45
|
|
|
46
46
|
- правильность продуктовой идеи или автоматически выбранного provider Task;
|
|
47
47
|
- semantic sufficiency Plan, если точные факты нельзя доказать поддерживаемым analyzer;
|
|
@@ -323,6 +323,14 @@ 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.13 устраняет следующий доказанный разрыв этого пути. Corrective-replan credential раздельно
|
|
327
|
+
связывает исходную Knowledge revision/hash Task и целевую active Knowledge revision/hash replacement
|
|
328
|
+
Plan. Различие разрешено только при exact Plan-integrity dependency recovery: текущий system commit,
|
|
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
|
|
332
|
+
остаётся историческим prefix-доказательством и не блокирует последующие append-only handoff events.
|
|
333
|
+
|
|
326
334
|
Docker socket `EPERM` в sandbox не является доказательством сломанного daemon. Gateway один раз
|
|
327
335
|
повторяет exact health probe или Plan check с sandbox escalation без расходования remediation attempt.
|
|
328
336
|
Restart Docker Desktop требует отдельного разрешения и допустим только после escalated daemon failure.
|
|
@@ -332,7 +340,7 @@ Restart Docker Desktop требует отдельного разрешения
|
|
|
332
340
|
# 10. Operational checklist
|
|
333
341
|
|
|
334
342
|
- exact package version установлен, bundled gateway соответствует release и переустановлен;
|
|
335
|
-
- handshake подтверждает protocol 2, state schema 2 и beta.12.
|
|
343
|
+
- handshake подтверждает protocol 2, state schema 2 и beta.12.13 capabilities;
|
|
336
344
|
- каждый mutation следует свежему `status -> next` и exact option contract;
|
|
337
345
|
- Docker permission failure сначала классифицируется как sandbox boundary, а не как infra retry;
|
|
338
346
|
- 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.13 путь от нового 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.
|
|
7
|
+
subject: Практическое руководство по delegated Discovery и Milestone в Workflow V2 beta.12.13
|
|
8
8
|
---
|
|
9
9
|
|
|
10
|
-
# 1. Рабочая модель beta.12.
|
|
10
|
+
# 1. Рабочая модель beta.12.13
|
|
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.13 как точную 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.13 должен сообщать `packageVersion=2.0.0-beta.12.13`, `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.13 в delegated режиме.
|
|
121
121
|
Repository: <ABSOLUTE-REPOSITORY-ROOT>.
|
|
122
122
|
Milestone ID: AUTO.
|
|
123
123
|
Delegate actor: agent:milestone-coordinator.
|
|
@@ -360,6 +360,11 @@ 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.13 допускает только 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`.
|
|
367
|
+
|
|
363
368
|
Для exact beta.12.6 stranded-replan shape сначала нужен eligible read-only source preflight с exact
|
|
364
369
|
revision/HEAD/dirty hash. Затем два beta.12.7 dependency-only commits и advertised dependency/replan
|
|
365
370
|
recoveries. После Knowledge refresh `next` обязан остаться на `task plan-set`; новый единый Step должен
|
|
@@ -392,7 +397,7 @@ Task/project DGR. `dependencyBinding` для standalone handoff равен null.
|
|
|
392
397
|
|
|
393
398
|
# 14. Итоговый checklist пользователя
|
|
394
399
|
|
|
395
|
-
- beta.12.
|
|
400
|
+
- beta.12.13 exact package и новый bundled gateway установлены;
|
|
396
401
|
- новый Coordinator chat не является fork старого Milestone;
|
|
397
402
|
- bootstrap DGR, если нужен, выдан отдельным exact human confirmation;
|
|
398
403
|
- Discovery не materialized при blocking unknowns;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
---
|
|
2
|
-
title: Codex Workflow V2: технический справочник beta.12.
|
|
2
|
+
title: Codex Workflow V2: технический справочник beta.12.13
|
|
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.
|
|
7
|
+
subject: Технический контракт Codex Workflow V2 beta.12.13
|
|
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.13 | Значение |
|
|
17
17
|
|---|---|
|
|
18
|
-
| npm package | `codex-workflow-v2@2.0.0-beta.12.
|
|
18
|
+
| npm package | `codex-workflow-v2@2.0.0-beta.12.13` |
|
|
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.13 capabilities:
|
|
41
41
|
|
|
42
42
|
| Группа | Capabilities |
|
|
43
43
|
|---|---|
|
|
@@ -468,6 +468,24 @@ 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.13 source/target Knowledge binding
|
|
472
|
+
|
|
473
|
+
Corrective-replan receipt теперь включает две разные пары. `knowledgeRevision/knowledgeHash` связывает
|
|
474
|
+
исходное состояние Task; `targetKnowledgeRevision/targetKnowledgeHash` связывает active Project
|
|
475
|
+
Knowledge Map и replacement Plan. Executor проверяет source под Task lock, candidate Plan — по target,
|
|
476
|
+
а Risk Audit и materialized Task получают target binding.
|
|
477
|
+
|
|
478
|
+
Source и target могут различаться только при exact `dependencyProvenanceRecoveries.planIntegrity` для
|
|
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.
|
|
483
|
+
|
|
484
|
+
Completed corrective-yield transaction проверяет неизменный canonical yield event как prefix текущей
|
|
485
|
+
append-only handoff history. Это сохраняет tamper detection, но разрешает новый handoff после успешного
|
|
486
|
+
corrective replan. E2E release gate проходит prepare/confirm/execute, authorization, handoff/claim,
|
|
487
|
+
selector-bearing Step completion commit и strict Step review.
|
|
488
|
+
|
|
471
489
|
# 14. P04-A structural replacement boundary
|
|
472
490
|
|
|
473
491
|
Command shape `task replacement-materialize` retained только для compatibility diagnostics. Любая попытка
|
|
@@ -530,7 +548,7 @@ Docker socket/CLI `EPERM`, `operation not permitted` или `permission denied`
|
|
|
530
548
|
После каждой successful mutation обязателен sequential `status`, затем fresh `next`. Failed status/next
|
|
531
549
|
не разрешает direct mutation. Syntax help read-only и не заменяет navigation authority.
|
|
532
550
|
|
|
533
|
-
# 18. Public command surface beta.12.
|
|
551
|
+
# 18. Public command surface beta.12.13
|
|
534
552
|
|
|
535
553
|
| Область | Actions |
|
|
536
554
|
|---|---|
|
|
@@ -556,10 +574,10 @@ Exact options берутся из fresh `next`; command help используе
|
|
|
556
574
|
Перед package update project-local `update preflight` должен вернуть `safe=true`: clean checkout, нет
|
|
557
575
|
running Step и active/stale writer lease. Исключения — документированный alpha.7 rescue, beta.12.6
|
|
558
576
|
active-downstream-proof bridge, beta.12.7 exact stranded-replan bridge, beta.12.9 historical-Step
|
|
559
|
-
dependency bridge и beta.12.
|
|
577
|
+
dependency bridge и beta.12.13 Plan-integrity bridge; все они fail-closed и не дают общего разрешения
|
|
560
578
|
dirty update.
|
|
561
579
|
|
|
562
|
-
Перед beta.12.
|
|
580
|
+
Перед beta.12.13 tag обязательны `npm ci`, `npm run validate`, `npm run test:signal-remediation-e2e`, `npm run pack:check`,
|
|
563
581
|
`npm run smoke:downstream`, `npm run plugin:check`, official plugin/skill validators,
|
|
564
582
|
`npm run docs:pdf:check`, `npm run release:check` с exact tag binding и validation
|
|
565
583
|
append-only real-agent lifecycle log.
|
|
@@ -1,134 +1,134 @@
|
|
|
1
|
-
# V2 beta.12.
|
|
1
|
+
# V2 beta.12.13 Validation Report
|
|
2
2
|
|
|
3
|
-
Release candidate `2.0.0-beta.12.
|
|
3
|
+
Release candidate `2.0.0-beta.12.13` 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
8
|
- `npm ci` completed from the exact lockfile; the audit reported zero vulnerabilities.
|
|
9
|
-
- The first full `npm run validate`
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
replan
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
-
|
|
22
|
-
|
|
23
|
-
|
|
9
|
+
- The first full `npm run validate` passed 346 of 348 tests. The only two failures were exact
|
|
10
|
+
transition-definition identity pins intentionally changed by the two new Knowledge fields: the
|
|
11
|
+
serialized definition SHA-256 and the binding-manifest row count. The derived serialized digest,
|
|
12
|
+
runtime fingerprint, runtime catalog hash, and row count were recorded from the actual compiled
|
|
13
|
+
model; the focused authority suite then passed `4/4`.
|
|
14
|
+
- The mandatory clean rerun of `npm run validate` passed typecheck and `348/348` sequential tests
|
|
15
|
+
with no failures, skips, cancellations, or todos in 2,131,076.63 ms.
|
|
16
|
+
- The full suite includes a beta.12.13 Signal-shaped E2E: repeated selector-contract failures,
|
|
17
|
+
beta.12.12-like dependency recovery, a second package-only update, carried exact compatibility,
|
|
18
|
+
corrective replan against the active Knowledge Map, fresh authorization/C1, selector-bearing
|
|
19
|
+
validation, a Core Step commit, and strict Step review. It also proves that changed dirty bytes
|
|
20
|
+
make the carry preflight fail closed.
|
|
21
|
+
- `npm run test:signal-remediation-e2e` passed `2/2`; `npm run
|
|
22
|
+
test:signal-t03-replan-e2e` passed `1/1`; and `npm run test:signal-t04-recovery` passed `11/11`.
|
|
23
|
+
Together they independently cover audited upstream remediation through a later Step, the
|
|
24
|
+
Signal-shaped accidental-rebind/replan path, bounded dependency recovery, and retained reviewed
|
|
25
|
+
Step provenance.
|
|
26
|
+
- Package dry-run produced `codex-workflow-v2-2.0.0-beta.12.13.tgz` with 281 files (approximately
|
|
27
|
+
1.1 MB packed and 4.3 MB unpacked). The first invocation encountered the known root-owned user npm
|
|
24
28
|
cache (`EPERM`); the exact retry passed with an isolated temporary cache and no system permission
|
|
25
29
|
changes.
|
|
26
30
|
- `npm run smoke:downstream` built and installed that tarball in a disposable consumer project and
|
|
27
31
|
returned `ok=true`. The sandboxed attempt could not resolve npm (`ENOTFOUND`); the same command
|
|
28
32
|
passed with approved network access.
|
|
29
|
-
- `npm run plugin:check` passed for bundled gateway `0.1.0+codex.20260830183000`.
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
- `npm run docs:pdf:check` reported an empty stale set and exact beta.12.12 package binding.
|
|
33
|
-
- `RELEASE_TAG=v2.0.0-beta.12.12 npm run release:check` and `git diff --check` passed.
|
|
34
|
-
- `node scripts/validate-lifecycle-transcript.mjs --file
|
|
35
|
-
tests/fixtures/lifecycle-transcripts/valid-normal-sequence.jsonl` passed with four checked events;
|
|
36
|
-
the full validator suite also passed all positive and negative transcript fixtures.
|
|
33
|
+
- `npm run plugin:check` passed for bundled gateway `0.1.0+codex.20260830183000`.
|
|
34
|
+
- `npm run docs:pdf:check` reported an empty stale set and exact beta.12.13 package binding.
|
|
35
|
+
- `RELEASE_TAG=v2.0.0-beta.12.13 npm run release:check` and `git diff --check` passed.
|
|
37
36
|
|
|
38
37
|
## Root cause corrected
|
|
39
38
|
|
|
40
|
-
Signal Task `TASK-01M1B79C660YMNSRRZ236NTR1T`
|
|
41
|
-
`
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
39
|
+
Signal Task `TASK-01M1B79C660YMNSRRZ236NTR1T` retained its three allowlisted Worker files and reached
|
|
40
|
+
a legitimate `corrective-replan-prepare` route after beta.12.12 recovery. Preparation still failed:
|
|
41
|
+
the Task source Plan remained bound to the older Project Knowledge Map, while the only admissible
|
|
42
|
+
replacement Plan correctly bound the newer active map created by the package-only Knowledge refresh.
|
|
43
|
+
The public corrective-replan path required those two bindings to be identical, so no candidate could
|
|
44
|
+
satisfy both constraints.
|
|
45
45
|
|
|
46
|
-
|
|
46
|
+
A further release update exposed two related continuity gaps:
|
|
47
47
|
|
|
48
|
-
1.
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
48
|
+
1. Plan-integrity dependency recovery could derive compatibility only from a currently detectable
|
|
49
|
+
invalid-check assessment. After the first recovery and `replan-required` decision, a second
|
|
50
|
+
package-only update could no longer reconstruct the already registered exact compatibility.
|
|
51
|
+
2. A completed corrective-yield journal required the whole current handoff sidecar to equal the
|
|
52
|
+
yield-owned bytes forever. A later valid append-only handoff therefore made historical readback
|
|
53
|
+
fail even though the original yielded entry was intact.
|
|
52
54
|
|
|
53
|
-
The
|
|
54
|
-
|
|
55
|
+
The defect was not insufficient Worker effort, an invalid product implementation, or a need to
|
|
56
|
+
increase attempts. It was an over-constrained source/target Knowledge identity plus incomplete
|
|
57
|
+
append-only continuity across consecutive Workflow updates.
|
|
55
58
|
|
|
56
59
|
## Implemented lifecycle contract
|
|
57
60
|
|
|
58
|
-
-
|
|
59
|
-
|
|
60
|
-
`
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
- The compatibility record is authority only for the exact post-update Plan-integrity recovery. A
|
|
80
|
-
fresh replacement Plan must bind the current Knowledge Map and replace the invalid check with an
|
|
81
|
-
executable selector-bearing command. Ordinary authorization, C1, Core commit, strict review, and
|
|
82
|
-
subsequent navigation remain mandatory.
|
|
83
|
-
- A repairable legacy remediation-mode defect outranks this new preflight. Plan-integrity assessment
|
|
84
|
-
reports itself ineligible and leaves `next` free to advertise the established
|
|
85
|
-
`task remediation-mode-recover` route.
|
|
86
|
-
- Handshake adds `plan-integrity-update-recovery-v1`; protocol and state schema remain `2/2`.
|
|
61
|
+
- Corrective-replan credentials now bind two distinct pairs. `knowledgeRevision`/`knowledgeHash`
|
|
62
|
+
identify the unchanged source Task/Plan state under the Core lock;
|
|
63
|
+
`targetKnowledgeRevision`/`targetKnowledgeHash` identify the active Project Knowledge Map that the
|
|
64
|
+
candidate Plan, new Plan Risk Audit, and materialized Task state must bind.
|
|
65
|
+
- Source and target Knowledge may differ only when the Task contains one exact current
|
|
66
|
+
Plan-integrity dependency-provenance recovery. It must match the current HEAD and package version,
|
|
67
|
+
a Workflow-owned system commit, current Plan and failed Step, the complete remediation-event list,
|
|
68
|
+
exact dirty paths, and a freshly recomputed dirty-worktree hash. Otherwise preparation remains
|
|
69
|
+
fail closed.
|
|
70
|
+
- A consecutive package-only update may carry compatibility from exactly one prior registered
|
|
71
|
+
recovery on `HEAD^`. Carry is admitted only when the current Task still has the same Plan, failed
|
|
72
|
+
Step, full remediation history, dirty paths and bytes, one `replan-required` decision, and no C1
|
|
73
|
+
posture. It cannot infer compatibility from prose or widen the product boundary.
|
|
74
|
+
- The corrective-replan private credential schema and binding manifest contain 30 exact fields.
|
|
75
|
+
Their serialized definition digest, runtime semantic fingerprint, and runtime catalog hash are
|
|
76
|
+
pinned by the authority-model suite.
|
|
77
|
+
- A completed corrective-yield journal now proves that its owned handoff bytes remain an exact prefix
|
|
78
|
+
of the current canonical append-only history and validates the entire current JSONL chain. Pending
|
|
79
|
+
and in-flight phases retain exact-byte equality. Truncation, prefix mutation, or malformed appended
|
|
80
|
+
history still fails closed.
|
|
81
|
+
- Protocol and state schema remain `2/2`; no lifecycle-state migration is required.
|
|
87
82
|
|
|
88
83
|
## Signal-shaped and negative evidence
|
|
89
84
|
|
|
90
|
-
The new synthetic E2E reproduces the
|
|
91
|
-
|
|
92
|
-
-
|
|
93
|
-
|
|
94
|
-
-
|
|
95
|
-
-
|
|
96
|
-
|
|
97
|
-
-
|
|
98
|
-
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
85
|
+
The new synthetic E2E reproduces the live boundary instead of testing a helper in isolation:
|
|
86
|
+
|
|
87
|
+
- an active failed guarded Step with repeated selector-contract failures and three allowlisted dirty
|
|
88
|
+
product files;
|
|
89
|
+
- an existing beta.12.12 Plan-integrity recovery and `replan-required` decision;
|
|
90
|
+
- a subsequent exact package-only beta.12.13 update while the Task source Knowledge remains older
|
|
91
|
+
than the active Project Knowledge Map;
|
|
92
|
+
- reconstruction of exact compatibility from `HEAD^` without modifying product bytes;
|
|
93
|
+
- corrective replan whose source binding remains old and whose candidate target binding is current;
|
|
94
|
+
- new execution authorization and C1 cycle;
|
|
95
|
+
- the selector-bearing `validate:affected -- --files=...` check;
|
|
96
|
+
- successful Step completion through a Workflow-owned Core commit and strict Step review.
|
|
97
|
+
|
|
98
|
+
Negative coverage rejects changed dirty bytes, wider dirty scope, the wrong parent/system commit,
|
|
99
|
+
stale Plan or Step, incomplete remediation history, a non-`replan-required` decision, active C1,
|
|
100
|
+
unregistered Knowledge drift, truncated historical handoff bytes, mutated historical bytes, and
|
|
101
|
+
malformed appended handoff history.
|
|
102
|
+
|
|
103
|
+
Live Signal mutation remains post-publication work. Installation must preserve the three current
|
|
104
|
+
Worker files, transport only package/lock through the advertised update compatibility route, use a
|
|
105
|
+
fresh repository-local handshake/status/next before each mutation, and follow only Core-advertised
|
|
106
|
+
actions. No manual Workflow-state edit, history rewrite, Task cancellation, duplicate Task, or
|
|
107
|
+
replacement Milestone is authorized by this release.
|
|
110
108
|
|
|
111
109
|
## PDF release documentation evidence
|
|
112
110
|
|
|
113
|
-
- All three tracked Russian PDFs were regenerated from beta.12.
|
|
114
|
-
- Architecture
|
|
115
|
-
13 pages. All 32 pages were rendered and visually inspected
|
|
116
|
-
-
|
|
117
|
-
|
|
111
|
+
- All three tracked Russian PDFs were regenerated from beta.12.13 Markdown sources.
|
|
112
|
+
- Architecture remains 9 pages, the delegated chat-only guide 10 pages, and the technical reference
|
|
113
|
+
13 pages. All 32 pages were rendered and visually inspected; changed source/target Knowledge,
|
|
114
|
+
consecutive-update, and append-only yield sections were additionally checked at full resolution.
|
|
115
|
+
- Titles, version bindings, Cyrillic text, tables, code blocks, margins and footers show no clipping,
|
|
116
|
+
overlap, or unreadable content.
|
|
118
117
|
|
|
119
118
|
## Existing boundaries and non-claims
|
|
120
119
|
|
|
121
|
-
-
|
|
122
|
-
|
|
123
|
-
- The
|
|
124
|
-
|
|
125
|
-
-
|
|
126
|
-
|
|
127
|
-
|
|
120
|
+
- Compatibility is exact recovery authority, not general permission to rebind Knowledge, edit a
|
|
121
|
+
Plan, change product files, alter Milestone topology, adopt unrelated commits, or skip review.
|
|
122
|
+
- The carry route supports a consecutive package-only update only when the previous recovery record
|
|
123
|
+
remains fully reproducible from current Git, Task and worktree evidence.
|
|
124
|
+
- Historical corrective-yield readback accepts append-only continuation, not arbitrary sidecar drift.
|
|
125
|
+
- The release does not make failing product logic pass, approve a broken check, increase retry limits,
|
|
126
|
+
or infer an executable selector. The replacement Plan must supply the exact selector-bearing command.
|
|
128
127
|
- This report does not claim Git commit/tag/push, npm publication, live Signal installation, or Task
|
|
129
128
|
completion before those operations receive their own readbacks.
|
|
130
129
|
|
|
131
|
-
Confidence is high for
|
|
132
|
-
|
|
133
|
-
gateway and documentation. Live Signal confidence remains
|
|
134
|
-
installation, fresh Core readback, and completion of the
|
|
130
|
+
Confidence is high for source/target Knowledge separation, consecutive-update compatibility,
|
|
131
|
+
append-only yield continuity, Core authority closure, transaction recovery, package composition,
|
|
132
|
+
downstream installation, gateway validation and documentation. Live Signal confidence remains
|
|
133
|
+
conditional on exact publication, installation, fresh Core readback, and completion of the blocked
|
|
134
|
+
Step through the advertised route.
|
package/package.json
CHANGED
|
@@ -12,14 +12,16 @@
|
|
|
12
12
|
},
|
|
13
13
|
"bindingValues": {
|
|
14
14
|
"type": "object", "additionalProperties": false,
|
|
15
|
-
"required": ["transitionId", "runtimeFingerprint", "catalogHash", "lifecycleEpoch", "taskId", "revision", "currentPlanHash", "briefHash", "knowledgeRevision", "knowledgeHash", "gitHead", "guardedStepId", "correctiveDecisionEventId", "correctiveDecisionHash", "attemptCount", "remediationTailHash", "candidatePlanHash", "candidateStepSetHash", "planAuthorIdentityHash", "planValidationHash", "planValidatorIdentityHash", "riskAuditHash", "riskAuditorIdentityHash", "actorIdentityHash", "actorRole", "humanPrincipalIdentityHash", "capabilityId", "capabilityVersion"],
|
|
15
|
+
"required": ["transitionId", "runtimeFingerprint", "catalogHash", "lifecycleEpoch", "taskId", "revision", "currentPlanHash", "briefHash", "knowledgeRevision", "knowledgeHash", "targetKnowledgeRevision", "targetKnowledgeHash", "gitHead", "guardedStepId", "correctiveDecisionEventId", "correctiveDecisionHash", "attemptCount", "remediationTailHash", "candidatePlanHash", "candidateStepSetHash", "planAuthorIdentityHash", "planValidationHash", "planValidatorIdentityHash", "riskAuditHash", "riskAuditorIdentityHash", "actorIdentityHash", "actorRole", "humanPrincipalIdentityHash", "capabilityId", "capabilityVersion"],
|
|
16
16
|
"properties": {
|
|
17
17
|
"transitionId": { "const": "task.plan.corrective-replan" },
|
|
18
18
|
"runtimeFingerprint": { "$ref": "#/$defs/hash" }, "catalogHash": { "$ref": "#/$defs/hash" },
|
|
19
19
|
"lifecycleEpoch": { "const": 2 }, "taskId": { "$ref": "#/$defs/id" },
|
|
20
20
|
"revision": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }, "currentPlanHash": { "$ref": "#/$defs/hash" },
|
|
21
21
|
"briefHash": { "$ref": "#/$defs/hash" }, "knowledgeRevision": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 },
|
|
22
|
-
"knowledgeHash": { "$ref": "#/$defs/hash" },
|
|
22
|
+
"knowledgeHash": { "$ref": "#/$defs/hash" },
|
|
23
|
+
"targetKnowledgeRevision": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 },
|
|
24
|
+
"targetKnowledgeHash": { "$ref": "#/$defs/hash" }, "gitHead": { "type": "string", "pattern": "^(?:[a-f0-9]{40}|[a-f0-9]{64})$" },
|
|
23
25
|
"guardedStepId": { "$ref": "#/$defs/id" }, "correctiveDecisionEventId": { "$ref": "#/$defs/id" },
|
|
24
26
|
"correctiveDecisionHash": { "$ref": "#/$defs/hash" }, "attemptCount": { "type": "integer", "minimum": 2, "maximum": 9007199254740991 },
|
|
25
27
|
"remediationTailHash": { "$ref": "#/$defs/hash" }, "candidatePlanHash": { "$ref": "#/$defs/hash" },
|
|
@@ -436,6 +436,8 @@
|
|
|
436
436
|
"projection.corrective-replan.candidate@1:field.plan-validator-identity-hash",
|
|
437
437
|
"projection.corrective-replan.candidate@1:field.risk-audit-hash",
|
|
438
438
|
"projection.corrective-replan.candidate@1:field.risk-auditor-identity-hash",
|
|
439
|
+
"projection.corrective-replan.candidate@1:field.target-knowledge-hash",
|
|
440
|
+
"projection.corrective-replan.candidate@1:field.target-knowledge-revision",
|
|
439
441
|
"projection.corrective-replan.execution-receipt@1:field.actor-identity-hash",
|
|
440
442
|
"projection.corrective-replan.execution-receipt@1:field.actor-role",
|
|
441
443
|
"projection.corrective-replan.execution-receipt@1:field.attempt-count",
|
|
@@ -461,6 +463,8 @@
|
|
|
461
463
|
"projection.corrective-replan.execution-receipt@1:field.risk-audit-hash",
|
|
462
464
|
"projection.corrective-replan.execution-receipt@1:field.risk-auditor-identity-hash",
|
|
463
465
|
"projection.corrective-replan.execution-receipt@1:field.runtime-fingerprint",
|
|
466
|
+
"projection.corrective-replan.execution-receipt@1:field.target-knowledge-hash",
|
|
467
|
+
"projection.corrective-replan.execution-receipt@1:field.target-knowledge-revision",
|
|
464
468
|
"projection.corrective-replan.execution-receipt@1:field.task-id",
|
|
465
469
|
"projection.corrective-replan.execution-receipt@1:field.task-revision",
|
|
466
470
|
"projection.corrective-replan.execution-receipt@1:field.transition-id",
|
|
@@ -535,6 +539,8 @@
|
|
|
535
539
|
"projection.input.execution-receipt@1:field.risk-audit-hash",
|
|
536
540
|
"projection.input.execution-receipt@1:field.risk-auditor-identity-hash",
|
|
537
541
|
"projection.input.execution-receipt@1:field.runtime-fingerprint",
|
|
542
|
+
"projection.input.execution-receipt@1:field.target-knowledge-hash",
|
|
543
|
+
"projection.input.execution-receipt@1:field.target-knowledge-revision",
|
|
538
544
|
"projection.input.execution-receipt@1:field.task-id",
|
|
539
545
|
"projection.input.execution-receipt@1:field.task-revision",
|
|
540
546
|
"projection.input.execution-receipt@1:field.transition-id",
|
|
@@ -620,6 +626,8 @@
|
|
|
620
626
|
"field.runtime-fingerprint",
|
|
621
627
|
"field.step-id",
|
|
622
628
|
"field.step-status",
|
|
629
|
+
"field.target-knowledge-hash",
|
|
630
|
+
"field.target-knowledge-revision",
|
|
623
631
|
"field.task-id",
|
|
624
632
|
"field.task-plan-hash",
|
|
625
633
|
"field.task-revision",
|