codex-workflow-v2 2.0.0-beta.13.11 → 2.0.0-beta.13.12
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 +1 -1
- package/dist/reviewer-runtime-build.json +21 -9
- package/dist/src/alpha6/component-owner.d.ts +15 -1
- package/dist/src/alpha6/component-owner.js +44 -2
- package/dist/src/alpha6/component-owner.js.map +1 -1
- package/dist/src/alpha6/literal-test-invocation.d.ts +2 -0
- package/dist/src/alpha6/literal-test-invocation.js +106 -0
- package/dist/src/alpha6/literal-test-invocation.js.map +1 -0
- package/dist/src/alpha6/plan-integrity-update.d.ts +6 -0
- package/dist/src/alpha6/plan-integrity-update.js +17 -0
- package/dist/src/alpha6/plan-integrity-update.js.map +1 -0
- package/dist/src/alpha6/plan-integrity.js +7 -5
- package/dist/src/alpha6/plan-integrity.js.map +1 -1
- package/dist/src/alpha6/remediation.d.ts +5 -0
- package/dist/src/alpha6/remediation.js +150 -33
- package/dist/src/alpha6/remediation.js.map +1 -1
- package/dist/src/contracts.d.ts +7 -0
- package/dist/src/navigation-actions.d.ts +9 -0
- package/dist/src/navigation-actions.js +72 -0
- package/dist/src/navigation-actions.js.map +1 -0
- package/dist/src/state/corrective-replan-executor.d.ts +10 -0
- package/dist/src/state/corrective-replan-executor.js +37 -1
- package/dist/src/state/corrective-replan-executor.js.map +1 -1
- package/dist/src/version.d.ts +1 -1
- package/dist/src/version.js +1 -1
- package/dist/src/workflow.js +11 -7
- package/dist/src/workflow.js.map +1 -1
- package/docs/lifecycle-capture.md +34 -0
- 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 +23 -1
- package/docs/pdf/sources/codex-workflow-v2-chat-only-guide-ru.md +22 -2
- package/docs/pdf/sources/codex-workflow-v2-technical-reference-ru.md +22 -2
- package/docs/release.md +34 -0
- package/docs/updating-existing-project.md +31 -0
- package/package.json +1 -1
- package/schemas/corrective-decision-event.schema.json +3 -1
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# Repository lifecycle capture
|
|
2
|
+
|
|
3
|
+
Use `node scripts/capture-lifecycle.mjs <actual CLI arguments>` with
|
|
4
|
+
`WORKFLOW_CAPTURE_CONFIG=/absolute/capture-config.json`. This repository-only tool
|
|
5
|
+
records actual CLI calls; it does not authorize commands, inject credentials,
|
|
6
|
+
or decide what to execute next. Follow Core navigation and validate the resulting
|
|
7
|
+
append-only JSONL with `scripts/validate-lifecycle-transcript.mjs`.
|
|
8
|
+
|
|
9
|
+
Prepare a config with `runId`, `candidate` (source commit), `version`, `repository`,
|
|
10
|
+
`stateRoot`, `log` (new absolute JSONL path), and `workerThreadId`. Bind each of
|
|
11
|
+
`artifact`, `bootstrapReceipt`, `cli`, `projector`, and `validator` using
|
|
12
|
+
`{ "file": "/absolute/path", "sha256": "<exact file hash>" }`.
|
|
13
|
+
`captureFiles` contains the same references for both `scripts/capture-lifecycle.mjs`
|
|
14
|
+
and `scripts/lifecycle-capture-evidence.mjs`. Do not edit these files/config while
|
|
15
|
+
capturing a run. Use absolute paths throughout.
|
|
16
|
+
|
|
17
|
+
The CLI and projector must belong to that fixture's exact installed package:
|
|
18
|
+
`dist/src/cli.js` and `dist/src/navigation-actions.js`. The validator uses its own
|
|
19
|
+
current build; build that checkout before capture. Its exported observation
|
|
20
|
+
registry classifies records, while the installed canonical projector supplies
|
|
21
|
+
advertised actions. Neither diagnostic routes nor Task status create authority.
|
|
22
|
+
|
|
23
|
+
Use only the disposable synthetic bootstrap receipt from the maintained bootstrap
|
|
24
|
+
tool. Repository, state root, candidate hash and version must match. Simulated
|
|
25
|
+
Knowledge/grant approvals are test setup, never production consent. Do not import
|
|
26
|
+
production project state or credentials. No live fixture is migrated by this tool.
|
|
27
|
+
|
|
28
|
+
Each invocation emits BEGIN/END markers and appends a terminal result, including
|
|
29
|
+
failures. Evidence redacts authority values and retains raw output hashes; original
|
|
30
|
+
CLI stdout/stderr are returned to the invoking Worker, so retain their normal
|
|
31
|
+
private handling. `INVALID_ARGUMENT` alone is not proof of a nonmutating retry.
|
|
32
|
+
The recorder does not erase failures or convert them into successful lifecycle
|
|
33
|
+
evidence. Keep actual App source records and review packets alongside the log;
|
|
34
|
+
the capture log alone does not establish an independent App review.
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -463,7 +463,7 @@ Restart Docker Desktop требует отдельного разрешения
|
|
|
463
463
|
# 10. Operational checklist
|
|
464
464
|
|
|
465
465
|
- exact package version установлен, bundled gateway соответствует release и переустановлен;
|
|
466
|
-
- handshake подтверждает `packageVersion=2.0.0-beta.13.
|
|
466
|
+
- handshake подтверждает `packageVersion=2.0.0-beta.13.12`, protocol 2, state schema 2 и beta.13
|
|
467
467
|
capabilities;
|
|
468
468
|
- routine observation начинается с компактного `status`; `status --full` запрашивается только для
|
|
469
469
|
расследования, которому действительно нужна полная historical projection;
|
|
@@ -476,3 +476,25 @@ Restart Docker Desktop требует отдельного разрешения
|
|
|
476
476
|
- advertised route имеет Signal-observed matrix binding либо явно помечен unsupported;
|
|
477
477
|
- dependencies, progress и review posture берутся из Core projections;
|
|
478
478
|
- local state не редактируется вручную; release и package update выполняются только после safe preflight и обязательных checks.
|
|
479
|
+
|
|
480
|
+
|
|
481
|
+
<!-- pagebreak -->
|
|
482
|
+
|
|
483
|
+
## beta.13.12: восстановление зависимости тестового каталога
|
|
484
|
+
|
|
485
|
+
Поддерживаемый явный Vitest invocation связывает required check с единственным tracked
|
|
486
|
+
migration-catalog test. Это отдельное hash-bound evidence, а не выдуманный static import.
|
|
487
|
+
Неоднозначность, dynamic пути и forbiddenScope сохраняют запрет расширения.
|
|
488
|
+
|
|
489
|
+
После подтверждённого corrective Plan новый механический конфликт оценивается в проверенном
|
|
490
|
+
текущем semantic cycle. История, глобальные ordinals и stop/split authority сохраняются.
|
|
491
|
+
Расширение scope выполняется только по свежему Core route; ручная правка allowedWrites запрещена.
|
|
492
|
+
|
|
493
|
+
Выданное расширение переносится через проверенную Knowledge-only цепочку лишь при неизменных
|
|
494
|
+
Step и semantic scope. Navigation, исполнение и review scope используют одно доказательство.
|
|
495
|
+
Execution authorization остаётся отдельным условием; повреждённая цепочка блокирует перенос.
|
|
496
|
+
|
|
497
|
+
Read-only Plan-integrity update preflight допускает beta.13.11+ source только с новым eligible
|
|
498
|
+
V4 literal-test evidence и более новым exact target. Running Step, любой lease, повреждённая
|
|
499
|
+
история, изменённые dirty bytes или более широкий dependency transport остаются блокерами.
|
|
500
|
+
Полный протокол и ограничения: docs/updating-existing-project.md и docs/release.md.
|
|
@@ -57,7 +57,7 @@ AGENTS.md
|
|
|
57
57
|
-> doctor только как дополнительная диагностика
|
|
58
58
|
```
|
|
59
59
|
|
|
60
|
-
Handshake beta.13.
|
|
60
|
+
Handshake beta.13.12 должен сообщать `packageVersion=2.0.0-beta.13.12`, `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,
|
|
@@ -480,7 +480,7 @@ Task/project DGR. `dependencyBinding` для standalone handoff равен null.
|
|
|
480
480
|
# 14. Итоговый checklist пользователя
|
|
481
481
|
|
|
482
482
|
- beta.13.10 exact package и новый bundled gateway установлены; handshake показывает
|
|
483
|
-
`packageVersion=2.0.0-beta.13.
|
|
483
|
+
`packageVersion=2.0.0-beta.13.12`, protocol/state schema `2/2` и beta.13 capabilities;
|
|
484
484
|
- новый Coordinator chat не является fork старого Milestone;
|
|
485
485
|
- bootstrap DGR, если нужен, выдан отдельным exact human confirmation;
|
|
486
486
|
- Discovery не materialized при blocking unknowns;
|
|
@@ -504,3 +504,23 @@ Task/project DGR. `dependencyBinding` для standalone handoff равен null.
|
|
|
504
504
|
- historical-Step recovery, если рекламировался, сохранил exact accepted commit и довёл текущий Step до обычного `step-complete` без history rewrite;
|
|
505
505
|
- split-required остановился без replacement mutations;
|
|
506
506
|
- Milestone validation и final acceptance связаны с текущим clean base HEAD.
|
|
507
|
+
|
|
508
|
+
|
|
509
|
+
## beta.13.12: восстановление зависимости тестового каталога
|
|
510
|
+
|
|
511
|
+
Поддерживаемый явный Vitest invocation связывает required check с единственным tracked
|
|
512
|
+
migration-catalog test. Это отдельное hash-bound evidence, а не выдуманный static import.
|
|
513
|
+
Неоднозначность, dynamic пути и forbiddenScope сохраняют запрет расширения.
|
|
514
|
+
|
|
515
|
+
После подтверждённого corrective Plan новый механический конфликт оценивается в проверенном
|
|
516
|
+
текущем semantic cycle. История, глобальные ordinals и stop/split authority сохраняются.
|
|
517
|
+
Расширение scope выполняется только по свежему Core route; ручная правка allowedWrites запрещена.
|
|
518
|
+
|
|
519
|
+
Выданное расширение переносится через проверенную Knowledge-only цепочку лишь при неизменных
|
|
520
|
+
Step и semantic scope. Navigation, исполнение и review scope используют одно доказательство.
|
|
521
|
+
Execution authorization остаётся отдельным условием; повреждённая цепочка блокирует перенос.
|
|
522
|
+
|
|
523
|
+
Read-only Plan-integrity update preflight допускает beta.13.11+ source только с новым eligible
|
|
524
|
+
V4 literal-test evidence и более новым exact target. Running Step, любой lease, повреждённая
|
|
525
|
+
история, изменённые dirty bytes или более широкий dependency transport остаются блокерами.
|
|
526
|
+
Полный протокол и ограничения: docs/updating-existing-project.md и docs/release.md.
|
|
@@ -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.12` |
|
|
19
19
|
| protocolVersion | 2 |
|
|
20
20
|
| stateSchemaVersion | 2 |
|
|
21
21
|
| lifecycle epoch | 2 |
|
|
@@ -775,7 +775,7 @@ dirty update.
|
|
|
775
775
|
observed-route matrix/compact-status/reviewer-runtime tests, legacy compatibility regressions,
|
|
776
776
|
`npm run test:signal-t10-check-support-e2e`, `npm run test:signal-remediation-e2e`,
|
|
777
777
|
`npm run pack:check`, `npm run smoke:downstream`, `npm run plugin:check`, official plugin/skill validators,
|
|
778
|
-
`npm run docs:pdf:check` и `npm run release:check` с exact `v2.0.0-beta.13.
|
|
778
|
+
`npm run docs:pdf:check` и `npm run release:check` с exact `v2.0.0-beta.13.12` tag binding и append-only
|
|
779
779
|
real-agent lifecycle log. Candidate проверяется из clean source checkout; missing built module не должен
|
|
780
780
|
превращаться в stack trace, а обязан быть детерминированно собран или диагностирован release gate.
|
|
781
781
|
|
|
@@ -784,3 +784,23 @@ Real-agent gate повторяет production boundary Codex App: Task agent у
|
|
|
784
784
|
Nested native `codex exec` внутри другого Codex agent не является release evidence. Packet generation
|
|
785
785
|
логируется как read-only observation, record — как exact `next`-authorized mutation с последующими
|
|
786
786
|
`status` и `next`.
|
|
787
|
+
|
|
788
|
+
|
|
789
|
+
## beta.13.12: восстановление зависимости тестового каталога
|
|
790
|
+
|
|
791
|
+
Поддерживаемый явный Vitest invocation связывает required check с единственным tracked
|
|
792
|
+
migration-catalog test. Это отдельное hash-bound evidence, а не выдуманный static import.
|
|
793
|
+
Неоднозначность, dynamic пути и forbiddenScope сохраняют запрет расширения.
|
|
794
|
+
|
|
795
|
+
После подтверждённого corrective Plan новый механический конфликт оценивается в проверенном
|
|
796
|
+
текущем semantic cycle. История, глобальные ordinals и stop/split authority сохраняются.
|
|
797
|
+
Расширение scope выполняется только по свежему Core route; ручная правка allowedWrites запрещена.
|
|
798
|
+
|
|
799
|
+
Выданное расширение переносится через проверенную Knowledge-only цепочку лишь при неизменных
|
|
800
|
+
Step и semantic scope. Navigation, исполнение и review scope используют одно доказательство.
|
|
801
|
+
Execution authorization остаётся отдельным условием; повреждённая цепочка блокирует перенос.
|
|
802
|
+
|
|
803
|
+
Read-only Plan-integrity update preflight допускает beta.13.11+ source только с новым eligible
|
|
804
|
+
V4 literal-test evidence и более новым exact target. Running Step, любой lease, повреждённая
|
|
805
|
+
история, изменённые dirty bytes или более широкий dependency transport остаются блокерами.
|
|
806
|
+
Полный протокол и ограничения: docs/updating-existing-project.md и docs/release.md.
|
package/docs/release.md
CHANGED
|
@@ -1,5 +1,39 @@
|
|
|
1
1
|
# Release Policy
|
|
2
2
|
|
|
3
|
+
## beta.13.12: bounded test invocation recovery after a corrective Plan
|
|
4
|
+
|
|
5
|
+
A required check can invoke a tracked test through an explicit Vitest argument list rather
|
|
6
|
+
than a static import. The bounded component-owner analyzer recognizes supported literal
|
|
7
|
+
runner invocations and a unique migration-catalog test. It records the invocation and hashes
|
|
8
|
+
as their own evidence; it does not invent an import edge or classify every diagnostic path
|
|
9
|
+
as the failing test. Dynamic or ambiguous invocations, forbidden paths and unproved catalog
|
|
10
|
+
dependencies do not establish scope authority.
|
|
11
|
+
Literal invocation evidence binds a supported static call site, tracked runner/test bytes,
|
|
12
|
+
the recorded failed-check diagnostic and a unique missing-catalog anchor. It does not
|
|
13
|
+
assert a runtime trace or prove that every diagnostic path was a failing test.
|
|
14
|
+
|
|
15
|
+
Plan-integrity eligibility can use a verified current semantic Plan cycle after an applied
|
|
16
|
+
human corrective Plan and content-only Knowledge rebind. Historical failures and decisions
|
|
17
|
+
remain immutable and globally numbered. Pending, malformed, conflicting or unconsumed stop
|
|
18
|
+
and split authority must not disappear when selecting the current failure cycle.
|
|
19
|
+
An issued machine-derived support amendment must survive only a verified Knowledge-only
|
|
20
|
+
Plan rebind with the same Step and semantic scope. Navigation, execution and review scope
|
|
21
|
+
must use the same proof. Rebinding does not supply execution authorization, and an invalid
|
|
22
|
+
chain or semantic change must reject the carry-forward. The combined regression must reach
|
|
23
|
+
authorization, run, passing checks and the sealed review packet after this rebind.
|
|
24
|
+
|
|
25
|
+
The existing read-only Plan-integrity update protocol additionally admits coherent beta.13
|
|
26
|
+
patches from beta.13.11 only for a freshly eligible V4 conflict with validated literal test
|
|
27
|
+
invocation evidence and a strictly newer target. Existing lease, transaction, Plan, HEAD,
|
|
28
|
+
dirty-byte and dependency-only transport checks remain in force. This profile does not admit
|
|
29
|
+
an active Step or general dirty-worktree updates. Historical beta.12 profiles are unchanged.
|
|
30
|
+
|
|
31
|
+
Required regression evidence includes real failed-check recovery after human corrective
|
|
32
|
+
execution and rebind, positive and negative invocation proofs, unchanged prior Step history,
|
|
33
|
+
correct current-cycle event readback, and a complete dependency transport, recovery and
|
|
34
|
+
same-Worker continuation. Predicate-only tests do not satisfy the release gate. Ordinary
|
|
35
|
+
CI, exact artifact, disposable App, documentation and publication checks also remain required.
|
|
36
|
+
|
|
3
37
|
## beta.13.11: preserve production edges through corrective Plan admission
|
|
4
38
|
|
|
5
39
|
The closed public corrective Plan schema now admits the existing optional
|
|
@@ -22,6 +22,37 @@ state schema. Совпадение `stateSchemaVersion` до и после об
|
|
|
22
22
|
нужна. Для alpha.6 при `stateSchemaVersion: 2` применяется не migration, а sidecar-only
|
|
23
23
|
adoption posture.
|
|
24
24
|
|
|
25
|
+
### beta.13.12: явный запуск теста и текущий цикл corrective Plan
|
|
26
|
+
|
|
27
|
+
Если обязательный check вызывает tracked migration-catalog test через поддерживаемый literal
|
|
28
|
+
Vitest invocation, новый analyzer может доказать единственный дополнительный support path.
|
|
29
|
+
Диагностические пути из failed check являются упоминаниями, а не доказательством того, что
|
|
30
|
+
каждый такой тест упал. Неоднозначный каталог, dynamic/glob invocation, выход за компонент
|
|
31
|
+
или forbiddenScope не дают автоматического расширения.
|
|
32
|
+
|
|
33
|
+
После реально зарегистрированного checks-failed новый runtime проверяет текущий semantic
|
|
34
|
+
Plan cycle, включая завершённое human corrective execution и допустимый content-only rebind.
|
|
35
|
+
Старая история и глобальные ordinals сохраняются. Нельзя повторять заведомо падающий Step
|
|
36
|
+
ради счётчика, удалять old decisions или считать неподтверждённую смену Plan новым циклом.
|
|
37
|
+
|
|
38
|
+
Уже выданное machine-derived расширение сохраняется только через проверенную Knowledge-only
|
|
39
|
+
цепочку при неизменных Step и semantic scope. Navigation, исполнение и пакет ревью используют
|
|
40
|
+
одно доказательство. Такая привязка не заменяет execution authorization; повреждённая цепочка
|
|
41
|
+
или изменение смысла Plan запрещают перенос разрешения. После rebind следуйте свежему `next`.
|
|
42
|
+
|
|
43
|
+
Для coherent beta.13 patch начиная с beta.13.11 опубликованный exact более новый runner
|
|
44
|
+
может выполнить только read-only `update plan-integrity-preflight --id <TASK-ID>`.
|
|
45
|
+
Новый source profile требует заново доказанный eligible V4 literal-test conflict; fallback
|
|
46
|
+
adopted/dirty-carryover modes сами по себе его не открывают. Require `eligible=true`, нет
|
|
47
|
+
running Step, active/stale lease или pending operation, точные Plan/HEAD и dirty-byte bindings.
|
|
48
|
+
Далее используйте только возвращённый dependency-only transport на base и Task, установите
|
|
49
|
+
exact target и следуйте target provenance recovery и fresh navigation. Сохраняйте продуктовые
|
|
50
|
+
байты; не применяйте дополнительный test patch до Core-derived scope authority.
|
|
51
|
+
|
|
52
|
+
Обычный `update preflight` остаётся строгим. Отсутствие scope proof или иной blocked boundary
|
|
53
|
+
не разрешает внешний runner для mutation, ручную правку state, stash/reset либо более широкий
|
|
54
|
+
commit. Этот профиль не подменяет внешнюю проверку разрешений.
|
|
55
|
+
|
|
25
56
|
### beta.13.1: legacy PRA compatibility after beta.13
|
|
26
57
|
|
|
27
58
|
`2.0.0-beta.13.1` preserves the beta.13 protocol/schema `2/2` and adds no state migration. The
|
package/package.json
CHANGED
|
@@ -234,13 +234,15 @@
|
|
|
234
234
|
"items": {
|
|
235
235
|
"type": "object", "additionalProperties": false,
|
|
236
236
|
"required": ["reasonCode", "command", "runnerPath", "ownerPath", "ownerHash", "importChain", "diagnosticPath", "componentRoot"],
|
|
237
|
+
"allOf": [{ "if": { "required": ["testInvocation"] }, "then": { "properties": { "importChain": { "maxItems": 1 } } }, "else": { "properties": { "importChain": { "minItems": 2 } } } }],
|
|
237
238
|
"properties": {
|
|
238
239
|
"reasonCode": { "const": "FAILED_CHECK_COMPONENT_OWNER_OUTSIDE_ALLOWED_WRITES" },
|
|
239
240
|
"command": { "type": "string", "minLength": 1 },
|
|
240
241
|
"runnerPath": { "type": "string", "minLength": 1 },
|
|
241
242
|
"ownerPath": { "type": "string", "minLength": 1 },
|
|
242
243
|
"ownerHash": { "$ref": "#/$defs/hash64" },
|
|
243
|
-
"importChain": { "$ref": "#/$defs/stringList", "minItems":
|
|
244
|
+
"importChain": { "$ref": "#/$defs/stringList", "minItems": 1 },
|
|
245
|
+
"testInvocation": {"type": "object", "additionalProperties": false, "required": ["kind", "runnerHash", "argv", "migrationOutputs", "catalogNames"], "properties": {"kind": {"const": "literal-vitest-catalog"}, "runnerHash": {"type": "string", "pattern": "^[a-f0-9]{64}$"}, "argv": {"type": "array", "items": {"type": "string"}, "minItems": 3}, "migrationOutputs": {"type": "array", "items": {"type": "string"}, "minItems": 1, "uniqueItems": true}, "catalogNames": {"type": "array", "items": {"type": "string", "pattern": "^[0-9]{4}_[a-z0-9_]+\\.sql$"}, "minItems": 1, "uniqueItems": true}}},
|
|
244
246
|
"diagnosticPath": { "type": "string", "minLength": 1 },
|
|
245
247
|
"componentRoot": { "type": "string", "minLength": 1 }
|
|
246
248
|
}
|