codex-workflow-v2 2.0.0-beta.2 → 2.0.0-beta.4

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.
Files changed (128) hide show
  1. package/README.md +35 -2
  2. package/dist/src/alpha6/adoption.js +13 -3
  3. package/dist/src/alpha6/adoption.js.map +1 -1
  4. package/dist/src/alpha6/handoff.d.ts +21 -0
  5. package/dist/src/alpha6/handoff.js +100 -19
  6. package/dist/src/alpha6/handoff.js.map +1 -1
  7. package/dist/src/alpha6/milestone.d.ts +2 -0
  8. package/dist/src/alpha6/milestone.js +15 -0
  9. package/dist/src/alpha6/milestone.js.map +1 -1
  10. package/dist/src/alpha6/plan-risk.d.ts +1 -0
  11. package/dist/src/alpha6/plan-risk.js +6 -0
  12. package/dist/src/alpha6/plan-risk.js.map +1 -1
  13. package/dist/src/cli.js +188 -65
  14. package/dist/src/cli.js.map +1 -1
  15. package/dist/src/contracts.d.ts +111 -5
  16. package/dist/src/contracts.js +1 -1
  17. package/dist/src/credential-output.d.ts +10 -0
  18. package/dist/src/credential-output.js +73 -0
  19. package/dist/src/credential-output.js.map +1 -0
  20. package/dist/src/errors.d.ts +1 -1
  21. package/dist/src/errors.js.map +1 -1
  22. package/dist/src/index.d.ts +1 -1
  23. package/dist/src/index.js +1 -1
  24. package/dist/src/index.js.map +1 -1
  25. package/dist/src/lifecycle/canonical-hash.d.ts +6 -0
  26. package/dist/src/lifecycle/canonical-hash.js +24 -0
  27. package/dist/src/lifecycle/canonical-hash.js.map +1 -0
  28. package/dist/src/lifecycle/catalog.d.ts +26 -0
  29. package/dist/src/lifecycle/catalog.js +208 -0
  30. package/dist/src/lifecycle/catalog.js.map +1 -0
  31. package/dist/src/lifecycle/compiler-inspection.d.ts +48 -0
  32. package/dist/src/lifecycle/compiler-inspection.js +29 -0
  33. package/dist/src/lifecycle/compiler-inspection.js.map +1 -0
  34. package/dist/src/lifecycle/core-static-readiness.d.ts +6 -0
  35. package/dist/src/lifecycle/core-static-readiness.js +130 -0
  36. package/dist/src/lifecycle/core-static-readiness.js.map +1 -0
  37. package/dist/src/lifecycle/corrective-replan-authority.d.ts +53 -0
  38. package/dist/src/lifecycle/corrective-replan-authority.js +139 -0
  39. package/dist/src/lifecycle/corrective-replan-authority.js.map +1 -0
  40. package/dist/src/lifecycle/corrective-replan-binding-manifest.d.ts +21 -0
  41. package/dist/src/lifecycle/corrective-replan-binding-manifest.js +35 -0
  42. package/dist/src/lifecycle/corrective-replan-binding-manifest.js.map +1 -0
  43. package/dist/src/lifecycle/corrective-replan-credential-core.d.ts +86 -0
  44. package/dist/src/lifecycle/corrective-replan-credential-core.js +534 -0
  45. package/dist/src/lifecycle/corrective-replan-credential-core.js.map +1 -0
  46. package/dist/src/lifecycle/corrective-replan-credential-schema.d.ts +17 -0
  47. package/dist/src/lifecycle/corrective-replan-credential-schema.js +44 -0
  48. package/dist/src/lifecycle/corrective-replan-credential-schema.js.map +1 -0
  49. package/dist/src/lifecycle/corrective-replan-credentials.d.ts +47 -0
  50. package/dist/src/lifecycle/corrective-replan-credentials.js +103 -0
  51. package/dist/src/lifecycle/corrective-replan-credentials.js.map +1 -0
  52. package/dist/src/lifecycle/corrective-replan.d.ts +64 -0
  53. package/dist/src/lifecycle/corrective-replan.js +548 -0
  54. package/dist/src/lifecycle/corrective-replan.js.map +1 -0
  55. package/dist/src/lifecycle/evaluator.d.ts +2 -0
  56. package/dist/src/lifecycle/evaluator.js +35 -0
  57. package/dist/src/lifecycle/evaluator.js.map +1 -0
  58. package/dist/src/lifecycle/fingerprint.d.ts +31 -0
  59. package/dist/src/lifecycle/fingerprint.js +388 -0
  60. package/dist/src/lifecycle/fingerprint.js.map +1 -0
  61. package/dist/src/lifecycle/immutable.d.ts +1 -0
  62. package/dist/src/lifecycle/immutable.js +10 -0
  63. package/dist/src/lifecycle/immutable.js.map +1 -0
  64. package/dist/src/lifecycle/implementation-table.d.ts +29 -0
  65. package/dist/src/lifecycle/implementation-table.js +87 -0
  66. package/dist/src/lifecycle/implementation-table.js.map +1 -0
  67. package/dist/src/lifecycle/index.d.ts +4 -0
  68. package/dist/src/lifecycle/index.js +5 -0
  69. package/dist/src/lifecycle/index.js.map +1 -0
  70. package/dist/src/lifecycle/schema-artifact.d.ts +12 -0
  71. package/dist/src/lifecycle/schema-artifact.js +214 -0
  72. package/dist/src/lifecycle/schema-artifact.js.map +1 -0
  73. package/dist/src/lifecycle/semantic-registry.d.ts +6 -0
  74. package/dist/src/lifecycle/semantic-registry.js +489 -0
  75. package/dist/src/lifecycle/semantic-registry.js.map +1 -0
  76. package/dist/src/lifecycle/types.d.ts +718 -0
  77. package/dist/src/lifecycle/types.js +4 -0
  78. package/dist/src/lifecycle/types.js.map +1 -0
  79. package/dist/src/observation.d.ts +20 -0
  80. package/dist/src/observation.js +171 -0
  81. package/dist/src/observation.js.map +1 -0
  82. package/dist/src/state/corrective-replan-executor.d.ts +64 -0
  83. package/dist/src/state/corrective-replan-executor.js +598 -0
  84. package/dist/src/state/corrective-replan-executor.js.map +1 -0
  85. package/dist/src/state/corrective-replan-public-schema.d.ts +3 -0
  86. package/dist/src/state/corrective-replan-public-schema.js +43 -0
  87. package/dist/src/state/corrective-replan-public-schema.js.map +1 -0
  88. package/dist/src/state/corrective-replan-public.d.ts +95 -0
  89. package/dist/src/state/corrective-replan-public.js +618 -0
  90. package/dist/src/state/corrective-replan-public.js.map +1 -0
  91. package/dist/src/state/corrective-replan-transaction.d.ts +158 -0
  92. package/dist/src/state/corrective-replan-transaction.js +723 -0
  93. package/dist/src/state/corrective-replan-transaction.js.map +1 -0
  94. package/dist/src/state/corrective-yield-executor.d.ts +31 -0
  95. package/dist/src/state/corrective-yield-executor.js +236 -0
  96. package/dist/src/state/corrective-yield-executor.js.map +1 -0
  97. package/dist/src/state/corrective-yield-transaction.d.ts +97 -0
  98. package/dist/src/state/corrective-yield-transaction.js +591 -0
  99. package/dist/src/state/corrective-yield-transaction.js.map +1 -0
  100. package/dist/src/state/lock.d.ts +75 -3
  101. package/dist/src/state/lock.js +582 -30
  102. package/dist/src/state/lock.js.map +1 -1
  103. package/dist/src/state/store.d.ts +3 -0
  104. package/dist/src/state/store.js +65 -12
  105. package/dist/src/state/store.js.map +1 -1
  106. package/dist/src/transition-core.d.ts +67 -0
  107. package/dist/src/transition-core.js +318 -0
  108. package/dist/src/transition-core.js.map +1 -0
  109. package/dist/src/version.d.ts +1 -1
  110. package/dist/src/version.js +1 -1
  111. package/dist/src/workflow.d.ts +34 -22
  112. package/dist/src/workflow.js +486 -141
  113. package/dist/src/workflow.js.map +1 -1
  114. package/docs/lifecycle/state-machine-stabilization.md +641 -0
  115. package/docs/release.md +4 -2
  116. package/docs/updating-existing-project.md +9 -0
  117. package/package.json +4 -1
  118. package/schemas/adoption-posture-event.schema.json +1 -1
  119. package/schemas/context-envelope.schema.json +1 -1
  120. package/schemas/corrective-replan-credentials.private.schema.json +98 -0
  121. package/schemas/corrective-replan-execution-event.private.schema.json +53 -0
  122. package/schemas/corrective-replan-public.schema.json +142 -0
  123. package/schemas/corrective-replan-task-transaction.private.schema.json +151 -0
  124. package/schemas/corrective-yield-task-transaction.private.schema.json +98 -0
  125. package/schemas/remediation-event.schema.json +11 -1
  126. package/schemas/task-handoff-event.schema.json +1 -1
  127. package/schemas/transition-definition.schema.json +2609 -0
  128. package/schemas/transition-payloads.schema.json +140 -0
@@ -0,0 +1,43 @@
1
+ import { readFileSync } from 'node:fs';
2
+ import { Ajv2020 } from 'ajv/dist/2020.js';
3
+ import { WorkflowError } from '../errors.js';
4
+ const PUBLIC_SCHEMA_ID = 'codex-workflow://schemas/public/corrective-replan/v2';
5
+ const credentialSchema = JSON.parse(readFileSync(new URL('../../../schemas/corrective-replan-credentials.private.schema.json', import.meta.url), 'utf8'));
6
+ const transitionPayloadSchema = JSON.parse(readFileSync(new URL('../../../schemas/transition-payloads.schema.json', import.meta.url), 'utf8'));
7
+ const publicSchema = JSON.parse(readFileSync(new URL('../../../schemas/corrective-replan-public.schema.json', import.meta.url), 'utf8'));
8
+ const ajv = new Ajv2020({ allErrors: true, strict: true, formats: { 'date-time': true } });
9
+ ajv.addSchema(credentialSchema);
10
+ ajv.addSchema(transitionPayloadSchema);
11
+ ajv.addSchema(publicSchema);
12
+ const validators = {
13
+ candidate: requiredValidator('candidateV1'),
14
+ humanGate: requiredValidator('humanGateV1'),
15
+ humanGateResult: requiredValidator('humanGateResultV1'),
16
+ credential: requiredValidator('credentialV1'),
17
+ executionResult: requiredValidator('executionResultV1'),
18
+ response: requiredValidator('responseV2'),
19
+ };
20
+ export function validateCorrectiveReplanPublicValue(kind, value) {
21
+ return validators[kind](value) === true;
22
+ }
23
+ export function assertCorrectiveReplanPublicOutput(kind, value) {
24
+ const validator = validators[kind];
25
+ if (validator(value) !== true) {
26
+ throw new WorkflowError('STATE_CORRUPT', 'Core produced an invalid corrective-replan protocol-v2 response.', {
27
+ responseKind: kind,
28
+ schemaId: PUBLIC_SCHEMA_ID,
29
+ errors: normalizeErrors(validator.errors),
30
+ });
31
+ }
32
+ return value;
33
+ }
34
+ function requiredValidator(definition) {
35
+ const validator = ajv.getSchema(`${PUBLIC_SCHEMA_ID}#/$defs/${definition}`);
36
+ if (!validator)
37
+ throw new TypeError(`Missing corrective-replan public schema definition ${definition}.`);
38
+ return validator;
39
+ }
40
+ function normalizeErrors(errors) {
41
+ return (errors ?? []).map((entry) => ({ path: entry.instancePath || '/', keyword: entry.keyword }));
42
+ }
43
+ //# sourceMappingURL=corrective-replan-public-schema.js.map
@@ -0,0 +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"}
@@ -0,0 +1,95 @@
1
+ import type { TaskPlanInput } from '../contracts.js';
2
+ import { type CorrectiveReplanExecutionResult, type CorrectiveReplanRiskAuditInput } from './corrective-replan-executor.js';
3
+ import type { FileStateStore } from './store.js';
4
+ type JsonRecord = Record<string, unknown>;
5
+ export interface CorrectiveReplanAuthorityPresentation {
6
+ readonly planAuthorIdentityHash: string;
7
+ readonly planValidatorIdentityHash: string;
8
+ readonly riskAuditorIdentityHash: string;
9
+ readonly actorIdentityHash: string;
10
+ readonly actorRole: 'delivery-coordinator' | 'technical-planner';
11
+ readonly humanPrincipalIdentityHash: string;
12
+ }
13
+ export interface CorrectiveReplanValidationEvidence {
14
+ readonly validatorContextHash: string;
15
+ readonly findings: readonly Readonly<{
16
+ findingId: string;
17
+ severity: 'low' | 'medium' | 'high';
18
+ requirementRef: string;
19
+ evidenceHash: string;
20
+ }>[];
21
+ readonly dispositions: readonly Readonly<{
22
+ findingId: string;
23
+ decision: 'resolved' | 'accepted-documented-limitation';
24
+ evidenceHash: string;
25
+ }>[];
26
+ }
27
+ export interface CorrectiveReplanPublicCandidate {
28
+ readonly plan: TaskPlanInput;
29
+ readonly validation: CorrectiveReplanValidationEvidence;
30
+ readonly riskAudit: CorrectiveReplanRiskAuditInput;
31
+ readonly authority: CorrectiveReplanAuthorityPresentation;
32
+ }
33
+ export interface CorrectiveReplanHumanGate {
34
+ readonly kind: 'corrective-replan-human-gate';
35
+ readonly version: 1;
36
+ readonly taskId: string;
37
+ readonly preparedAtMs: number;
38
+ readonly expiresAtMs: number;
39
+ readonly candidatePlanHash: string;
40
+ readonly bindingSha256: string;
41
+ readonly attestationId: string;
42
+ readonly attestationHash: string;
43
+ readonly challengeId: string;
44
+ readonly runtimeFingerprint: string;
45
+ readonly catalogHash: string;
46
+ readonly lifecycleEpoch: number;
47
+ readonly preparationSha256: string;
48
+ }
49
+ export interface CorrectiveReplanHumanGateResult {
50
+ readonly kind: 'corrective-replan-human-gate-result';
51
+ readonly gate: CorrectiveReplanHumanGate;
52
+ readonly delivery: Readonly<{
53
+ kind: 'corrective-replan-human-challenge-delivery';
54
+ version: 1;
55
+ challengeId: string;
56
+ confirmationCode: string;
57
+ expiresAtMs: number;
58
+ }>;
59
+ }
60
+ export interface CorrectiveReplanPublicCredential {
61
+ readonly kind: 'corrective-replan-public-credential';
62
+ readonly version: 1;
63
+ readonly gate: CorrectiveReplanHumanGate;
64
+ readonly receipt: Readonly<JsonRecord>;
65
+ readonly planValidationEvent: Readonly<JsonRecord>;
66
+ }
67
+ export interface CorrectiveReplanPublicController {
68
+ prepare(input: {
69
+ taskId: string;
70
+ candidate: CorrectiveReplanPublicCandidate;
71
+ }): CorrectiveReplanHumanGateResult;
72
+ confirm(input: {
73
+ taskId: string;
74
+ candidate: CorrectiveReplanPublicCandidate;
75
+ gate: CorrectiveReplanHumanGate;
76
+ confirmationCode: string;
77
+ }): CorrectiveReplanPublicCredential;
78
+ execute(input: {
79
+ taskId: string;
80
+ candidate: CorrectiveReplanPublicCandidate;
81
+ credential: CorrectiveReplanPublicCredential;
82
+ }): CorrectiveReplanExecutionResult;
83
+ recover(input: {
84
+ taskId: string;
85
+ transactionId: string;
86
+ }): CorrectiveReplanExecutionResult;
87
+ }
88
+ interface ControllerOptions {
89
+ readonly store: FileStateStore;
90
+ readonly projectId: string;
91
+ readonly repositoryRoot: string;
92
+ readonly now?: () => Date;
93
+ }
94
+ export declare function createCorrectiveReplanPublicController(options: ControllerOptions): CorrectiveReplanPublicController;
95
+ export {};