codex-workflow-v2 2.0.0-beta.13.10 → 2.0.0-beta.13.11

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 CHANGED
@@ -82,7 +82,7 @@ cross-machine synchronization are not part of its contract.
82
82
  Node.js 22 or newer is required. Consumers pin the exact package version:
83
83
 
84
84
  ```bash
85
- npm install --save-dev --save-exact codex-workflow-v2@2.0.0-beta.13.10
85
+ npm install --save-dev --save-exact codex-workflow-v2@2.0.0-beta.13.11
86
86
  npx codex-workflow gateway handshake --repo .
87
87
  npx codex-workflow doctor --repo .
88
88
  ```
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "protocol": "codex-workflow-runtime-build-manifest-v1",
3
3
  "packageName": "codex-workflow-v2",
4
- "packageVersion": "2.0.0-beta.13.10",
5
- "packageManifestSha256": "0cc966ad73f63b7e73874346b19ca57fb493adb9daabddb5060c02b7e3967de1",
4
+ "packageVersion": "2.0.0-beta.13.11",
5
+ "packageManifestSha256": "c112e1e436df52134b4a0d13fed956cacd1fde16392912627aff511e907aa1e3",
6
6
  "requiredEntrypoints": [
7
7
  "dist/src/cli.js",
8
8
  "dist/src/gateway-handshake.js",
@@ -288,7 +288,7 @@
288
288
  },
289
289
  {
290
290
  "path": "dist/src/state/corrective-replan-public-schema.js",
291
- "sha256": "f15fa45166f2778ac90a9da578b81521eec3c5b568cb3a237891dda120432420"
291
+ "sha256": "42ae9a8fe212e69a47d3ee97ea409e74b3ae4b09234472dd00b56f8616a8fd3c"
292
292
  },
293
293
  {
294
294
  "path": "dist/src/state/corrective-replan-public.js",
@@ -324,11 +324,11 @@
324
324
  },
325
325
  {
326
326
  "path": "dist/src/version.js",
327
- "sha256": "70af01eb723d930fc8a9ef129c9025924bd68f8d1a94d56c6318a6c251b9e374"
327
+ "sha256": "0c3a1726f4d458faa4771330c725d5edd0d5ee9e9107893303a441e04fb82419"
328
328
  },
329
329
  {
330
330
  "path": "dist/src/workflow.js",
331
- "sha256": "c72cc02fa5137fb332408d895e73a06facae0907bdecd812062abe3a2ad85282"
331
+ "sha256": "49a7dfb85545f91b4518b9aad80007aca5cfc7a9ea39ea9dfc19b7a5ab910f8d"
332
332
  }
333
333
  ],
334
334
  "runtimeDependencies": [
@@ -1112,5 +1112,5 @@
1112
1112
  ]
1113
1113
  }
1114
1114
  ],
1115
- "fingerprint": "8a07276298cb9987ab90bbe533b17fa09537a9b3c48cf28ea9b04c280115efd7"
1115
+ "fingerprint": "bee2d0076ba2360b849a9703feffe08ee9077248339780764ddb6d8cf2fa891c"
1116
1116
  }
@@ -18,11 +18,11 @@ const validators = {
18
18
  response: requiredValidator('responseV2'),
19
19
  };
20
20
  export function validateCorrectiveReplanPublicValue(kind, value) {
21
- return validators[kind](value) === true;
21
+ return validateSchemaView(validators[kind], value);
22
22
  }
23
23
  export function assertCorrectiveReplanPublicOutput(kind, value) {
24
24
  const validator = validators[kind];
25
- if (validator(value) !== true) {
25
+ if (!validateSchemaView(validator, value)) {
26
26
  throw new WorkflowError('STATE_CORRUPT', 'Core produced an invalid corrective-replan protocol-v2 response.', {
27
27
  responseKind: kind,
28
28
  schemaId: PUBLIC_SCHEMA_ID,
@@ -31,6 +31,19 @@ export function assertCorrectiveReplanPublicOutput(kind, value) {
31
31
  }
32
32
  return value;
33
33
  }
34
+ // Public boundaries seal JSON records with null prototypes. AJV uniqueItems
35
+ // uses fast-deep-equal, which assumes Object.prototype.valueOf exists. A schema
36
+ // view normalizes prototypes without dropping own undefined/unknown keys (as a
37
+ // JSON stringify/parse roundtrip would). The hashed/executed value is untouched.
38
+ function validateSchemaView(validator, value) {
39
+ try {
40
+ return validator(structuredClone(value)) === true;
41
+ }
42
+ catch {
43
+ // Non-cloneable values and malformed objects remain invalid public JSON.
44
+ return false;
45
+ }
46
+ }
34
47
  function requiredValidator(definition) {
35
48
  const validator = ajv.getSchema(`${PUBLIC_SCHEMA_ID}#/$defs/${definition}`);
36
49
  if (!validator)
@@ -1 +1 @@
1
- {"version":3,"file":"corrective-replan-public-schema.js","sourceRoot":"","sources":["../../../src/state/corrective-replan-public-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAyB,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,MAAM,gBAAgB,GAAG,sDAAsD,CAAC;AAChF,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAC9C,IAAI,GAAG,CAAC,oEAAoE,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAC9F,MAAM,CACP,CAAW,CAAC;AACb,MAAM,uBAAuB,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CACrD,IAAI,GAAG,CAAC,kDAAkD,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAC5E,MAAM,CACP,CAAW,CAAC;AACb,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAC1C,IAAI,GAAG,CAAC,uDAAuD,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EACjF,MAAM,CACP,CAAW,CAAC;AACb,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;AAC3F,GAAG,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;AAChC,GAAG,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC;AACvC,GAAG,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;AAU5B,MAAM,UAAU,GAAyE;IACvF,SAAS,EAAE,iBAAiB,CAAC,aAAa,CAAC;IAC3C,SAAS,EAAE,iBAAiB,CAAC,aAAa,CAAC;IAC3C,eAAe,EAAE,iBAAiB,CAAC,mBAAmB,CAAC;IACvD,UAAU,EAAE,iBAAiB,CAAC,cAAc,CAAC;IAC7C,eAAe,EAAE,iBAAiB,CAAC,mBAAmB,CAAC;IACvD,QAAQ,EAAE,iBAAiB,CAAC,YAAY,CAAC;CAC1C,CAAC;AAEF,MAAM,UAAU,mCAAmC,CACjD,IAAsC,EACtC,KAAc;IAEd,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,kCAAkC,CAChD,IAAsC,EACtC,KAAQ;IAER,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,SAAS,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;QAC9B,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,kEAAkE,EAAE;YAC3G,YAAY,EAAE,IAAI;YAClB,QAAQ,EAAE,gBAAgB;YAC1B,MAAM,EAAE,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC;SAC1C,CAAC,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,iBAAiB,CAAC,UAAkB;IAC3C,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC,GAAG,gBAAgB,WAAW,UAAU,EAAE,CAAC,CAAC;IAC5E,IAAI,CAAC,SAAS;QAAE,MAAM,IAAI,SAAS,CAAC,sDAAsD,UAAU,GAAG,CAAC,CAAC;IACzG,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,eAAe,CAAC,MAAkC;IACzD,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,YAAY,IAAI,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;AACtG,CAAC"}
1
+ {"version":3,"file":"corrective-replan-public-schema.js","sourceRoot":"","sources":["../../../src/state/corrective-replan-public-schema.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
1
  export declare const PACKAGE_NAME = "codex-workflow-v2";
2
- export declare const PACKAGE_VERSION = "2.0.0-beta.13.10";
2
+ export declare const PACKAGE_VERSION = "2.0.0-beta.13.11";
@@ -1,3 +1,3 @@
1
1
  export const PACKAGE_NAME = 'codex-workflow-v2';
2
- export const PACKAGE_VERSION = '2.0.0-beta.13.10';
2
+ export const PACKAGE_VERSION = '2.0.0-beta.13.11';
3
3
  //# sourceMappingURL=version.js.map
@@ -50,7 +50,7 @@ import { PACKAGE_NAME, PACKAGE_VERSION } from './version.js';
50
50
  import { correctiveReplanBlockedNavigation, correctiveReplanNavigation, evaluateTaskCorrectiveReplanAvailability, evaluateTaskCorrectiveReplanCandidate, identifyCorrectiveReplanPosture, prepareCorrectiveReplanCandidate, TASK_CORRECTIVE_REPLAN_TRANSITION_ID, } from './lifecycle/corrective-replan.js';
51
51
  const MAX_STRICT_REVIEW_INFRASTRUCTURE_FAILURES = 2;
52
52
  // Release-reviewed exact compatibility target; never infer support from PACKAGE_VERSION.
53
- const CONSUMED_CARRYOVER_TARGET_VERSION = '2.0.0-beta.13.10';
53
+ const CONSUMED_CARRYOVER_TARGET_VERSION = '2.0.0-beta.13.11';
54
54
  export class WorkflowService {
55
55
  store;
56
56
  now;
@@ -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.10`, protocol 2, state schema 2 и beta.13
466
+ - handshake подтверждает `packageVersion=2.0.0-beta.13.11`, protocol 2, state schema 2 и beta.13
467
467
  capabilities;
468
468
  - routine observation начинается с компактного `status`; `status --full` запрашивается только для
469
469
  расследования, которому действительно нужна полная historical projection;
@@ -57,7 +57,7 @@ AGENTS.md
57
57
  -> doctor только как дополнительная диагностика
58
58
  ```
59
59
 
60
- Handshake beta.13.10 должен сообщать `packageVersion=2.0.0-beta.13.10`, `protocolVersion=2`,
60
+ Handshake beta.13.11 должен сообщать `packageVersion=2.0.0-beta.13.11`, `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.10`, protocol/state schema `2/2` и beta.13 capabilities;
483
+ `packageVersion=2.0.0-beta.13.11`, 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;
@@ -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.10` |
18
+ | npm package | `codex-workflow-v2@2.0.0-beta.13.11` |
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.10` tag binding и append-only
778
+ `npm run docs:pdf:check` и `npm run release:check` с exact `v2.0.0-beta.13.11` 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
 
package/docs/release.md CHANGED
@@ -1,5 +1,20 @@
1
1
  # Release Policy
2
2
 
3
+ ## beta.13.11: preserve production edges through corrective Plan admission
4
+
5
+ The closed public corrective Plan schema now admits the existing optional
6
+ `productionEdges` and `requiresProductionEdges` fields. A valid production Plan
7
+ previously passed domain validation but failed public preparation as an unknown
8
+ property. The fix retains the closed edge structure, domain checks, immutable
9
+ candidate binding, and separate human confirmation. It does not widen Task scope
10
+ or authorize execution.
11
+
12
+ Release evidence must include public prepare/confirm/execute with nonempty
13
+ production edges, exact persisted-field preservation, invalid/unknown-field
14
+ rejection, and rejection of candidate changes after preparation. Schema parity
15
+ coverage must catch future additions to the canonical Plan input contract.
16
+
17
+
3
18
  The npm package is `codex-workflow-v2` with public visibility. Consumers must pin
4
19
  an exact version. Stable compatibility covers the latest minor release of the current
5
20
  major only; older minors are unsupported unless a release note explicitly says otherwise.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codex-workflow-v2",
3
- "version": "2.0.0-beta.13.10",
3
+ "version": "2.0.0-beta.13.11",
4
4
  "description": "Requirements-first Codex development workflow with local state and explicit Git ownership.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -20,7 +20,22 @@
20
20
  "knowledgeMapRevision": { "type": "integer", "minimum": 0 },
21
21
  "knowledgeMapHash": { "type": "string", "pattern": "^[a-f0-9]{64}$" },
22
22
  "graphUse": { "enum": ["code-aware", "not-applicable"] },
23
- "steps": { "type": "array", "minItems": 1, "items": { "$ref": "#/$defs/planStep" } }
23
+ "steps": { "type": "array", "minItems": 1, "items": { "$ref": "#/$defs/planStep" } },
24
+ "requiresProductionEdges": { "type": "boolean" },
25
+ "productionEdges": {
26
+ "type": "array",
27
+ "uniqueItems": true,
28
+ "items": {
29
+ "type": "object",
30
+ "required": ["ownerStepId", "consumerStepId", "checkRef"],
31
+ "properties": {
32
+ "ownerStepId": { "type": "string", "pattern": "^STEP-[0-9]{3}(?:-[A-Z0-9-]+)?$" },
33
+ "consumerStepId": { "type": "string", "pattern": "^STEP-[0-9]{3}(?:-[A-Z0-9-]+)?$" },
34
+ "checkRef": { "type": "string", "minLength": 1 }
35
+ },
36
+ "additionalProperties": false
37
+ }
38
+ }
24
39
  },
25
40
  "additionalProperties": false
26
41
  },