specrails-core 6.4.0 → 6.6.0

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 (131) hide show
  1. package/dist/agent-runtime/capabilities.d.ts +2 -2
  2. package/dist/agent-runtime/capabilities.js +22 -5
  3. package/dist/agent-runtime/cli-executor.js +8 -3
  4. package/dist/agent-runtime/cli.d.ts +4 -4
  5. package/dist/agent-runtime/cli.js +50 -3
  6. package/dist/agent-runtime/compact/environment.d.ts +50 -4
  7. package/dist/agent-runtime/compact/environment.js +183 -6
  8. package/dist/agent-runtime/compact/step.d.ts +1 -1
  9. package/dist/agent-runtime/efficiency-summary.d.ts +1 -1
  10. package/dist/agent-runtime/efficiency-types.d.ts +1 -1
  11. package/dist/agent-runtime/engine/checkpoint/database.d.ts +15 -15
  12. package/dist/agent-runtime/engine/contracts.d.ts +2 -1
  13. package/dist/agent-runtime/engine/definition-types.d.ts +1 -1
  14. package/dist/agent-runtime/engine/efficiency-summary.d.ts +8 -8
  15. package/dist/agent-runtime/engine/fork.d.ts +1 -1
  16. package/dist/agent-runtime/engine/graph-description.d.ts +16 -16
  17. package/dist/agent-runtime/engine/implementation-compiler.d.ts +68 -68
  18. package/dist/agent-runtime/engine/piece-dependencies.js +4 -4
  19. package/dist/agent-runtime/engine/pieces/implementation-step.d.ts +1 -1
  20. package/dist/agent-runtime/engine/pieces/role-turn.d.ts +5 -0
  21. package/dist/agent-runtime/engine/pieces/role-turn.js +64 -22
  22. package/dist/agent-runtime/engine/pieces/shared.d.ts +2 -2
  23. package/dist/agent-runtime/engine/pieces/verify.js +46 -13
  24. package/dist/agent-runtime/engine/run-status.d.ts +165 -165
  25. package/dist/agent-runtime/engine/runs.d.ts +168 -168
  26. package/dist/agent-runtime/engine/state.d.ts +16 -16
  27. package/dist/agent-runtime/evaluation.d.ts +3 -3
  28. package/dist/agent-runtime/executor-types.d.ts +10 -10
  29. package/dist/agent-runtime/graph/convergence.d.ts +2 -2
  30. package/dist/agent-runtime/graph/convergence.js +11 -0
  31. package/dist/agent-runtime/graph/nodes.js +35 -4
  32. package/dist/agent-runtime/graph/review-policy.d.ts +1 -1
  33. package/dist/agent-runtime/graph/state.d.ts +6 -2
  34. package/dist/agent-runtime/guardrails.d.ts +1 -1
  35. package/dist/agent-runtime/guardrails.js +4 -1
  36. package/dist/agent-runtime/index.d.ts +3 -2
  37. package/dist/agent-runtime/index.js +1 -0
  38. package/dist/agent-runtime/openai-executor.d.ts +9 -9
  39. package/dist/agent-runtime/openspec.d.ts +4 -4
  40. package/dist/agent-runtime/prompts.d.ts +6 -0
  41. package/dist/agent-runtime/prompts.js +32 -8
  42. package/dist/agent-runtime/recovery.d.ts +12 -12
  43. package/dist/agent-runtime/session/application/active-session.d.ts +176 -0
  44. package/dist/agent-runtime/session/application/active-session.js +701 -0
  45. package/dist/agent-runtime/session/application/delegation.d.ts +73 -0
  46. package/dist/agent-runtime/session/application/delegation.js +171 -0
  47. package/dist/agent-runtime/session/application/output-buffer.d.ts +43 -0
  48. package/dist/agent-runtime/session/application/output-buffer.js +65 -0
  49. package/dist/agent-runtime/session/application/session-service.d.ts +121 -0
  50. package/dist/agent-runtime/session/application/session-service.js +256 -0
  51. package/dist/agent-runtime/session/application/timers.d.ts +15 -0
  52. package/dist/agent-runtime/session/application/timers.js +35 -0
  53. package/dist/agent-runtime/session/domain/descriptor.d.ts +6 -0
  54. package/dist/agent-runtime/session/domain/descriptor.js +32 -0
  55. package/dist/agent-runtime/session/domain/errors.d.ts +9 -0
  56. package/dist/agent-runtime/session/domain/errors.js +16 -0
  57. package/dist/agent-runtime/session/domain/events.d.ts +147 -0
  58. package/dist/agent-runtime/session/domain/events.js +24 -0
  59. package/dist/agent-runtime/session/domain/fingerprint.d.ts +2 -0
  60. package/dist/agent-runtime/session/domain/fingerprint.js +10 -0
  61. package/dist/agent-runtime/session/domain/interruption.d.ts +13 -0
  62. package/dist/agent-runtime/session/domain/interruption.js +39 -0
  63. package/dist/agent-runtime/session/domain/policy.d.ts +42 -0
  64. package/dist/agent-runtime/session/domain/policy.js +104 -0
  65. package/dist/agent-runtime/session/domain/snapshot.d.ts +100 -0
  66. package/dist/agent-runtime/session/domain/snapshot.js +234 -0
  67. package/dist/agent-runtime/session/domain/state-machines.d.ts +21 -0
  68. package/dist/agent-runtime/session/domain/state-machines.js +41 -0
  69. package/dist/agent-runtime/session/domain/types.d.ts +130 -0
  70. package/dist/agent-runtime/session/domain/types.js +15 -0
  71. package/dist/agent-runtime/session/domain/usage.d.ts +54 -0
  72. package/dist/agent-runtime/session/domain/usage.js +86 -0
  73. package/dist/agent-runtime/session/drivers/claude/argv.d.ts +19 -0
  74. package/dist/agent-runtime/session/drivers/claude/argv.js +67 -0
  75. package/dist/agent-runtime/session/drivers/claude/driver.d.ts +19 -0
  76. package/dist/agent-runtime/session/drivers/claude/driver.js +134 -0
  77. package/dist/agent-runtime/session/drivers/claude/translator.d.ts +40 -0
  78. package/dist/agent-runtime/session/drivers/claude/translator.js +247 -0
  79. package/dist/agent-runtime/session/drivers/codex/argv.d.ts +12 -0
  80. package/dist/agent-runtime/session/drivers/codex/argv.js +76 -0
  81. package/dist/agent-runtime/session/drivers/codex/driver.d.ts +19 -0
  82. package/dist/agent-runtime/session/drivers/codex/driver.js +193 -0
  83. package/dist/agent-runtime/session/drivers/codex/rpc.d.ts +28 -0
  84. package/dist/agent-runtime/session/drivers/codex/rpc.js +81 -0
  85. package/dist/agent-runtime/session/drivers/codex/translator.d.ts +53 -0
  86. package/dist/agent-runtime/session/drivers/codex/translator.js +267 -0
  87. package/dist/agent-runtime/session/drivers/common/process.d.ts +37 -0
  88. package/dist/agent-runtime/session/drivers/common/process.js +116 -0
  89. package/dist/agent-runtime/session/drivers/executor/driver.d.ts +22 -0
  90. package/dist/agent-runtime/session/drivers/executor/driver.js +163 -0
  91. package/dist/agent-runtime/session/drivers/registry.d.ts +32 -0
  92. package/dist/agent-runtime/session/drivers/registry.js +38 -0
  93. package/dist/agent-runtime/session/host/protocol.d.ts +18 -0
  94. package/dist/agent-runtime/session/host/protocol.js +88 -0
  95. package/dist/agent-runtime/session/host/server.d.ts +57 -0
  96. package/dist/agent-runtime/session/host/server.js +229 -0
  97. package/dist/agent-runtime/session/index.d.ts +45 -0
  98. package/dist/agent-runtime/session/index.js +74 -0
  99. package/dist/agent-runtime/session/journal/schema.d.ts +7 -0
  100. package/dist/agent-runtime/session/journal/schema.js +44 -0
  101. package/dist/agent-runtime/session/journal/sqlite-journal.d.ts +70 -0
  102. package/dist/agent-runtime/session/journal/sqlite-journal.js +279 -0
  103. package/dist/agent-runtime/session/ports.d.ts +192 -0
  104. package/dist/agent-runtime/session/ports.js +1 -0
  105. package/dist/agent-runtime/session/testing/driver-conformance.d.ts +21 -0
  106. package/dist/agent-runtime/session/testing/driver-conformance.js +97 -0
  107. package/dist/agent-runtime/session/testing/fake-clock.d.ts +20 -0
  108. package/dist/agent-runtime/session/testing/fake-clock.js +34 -0
  109. package/dist/agent-runtime/session/testing/fixture-replayer.d.ts +41 -0
  110. package/dist/agent-runtime/session/testing/fixture-replayer.js +172 -0
  111. package/dist/agent-runtime/session/testing/index.d.ts +9 -0
  112. package/dist/agent-runtime/session/testing/index.js +9 -0
  113. package/dist/agent-runtime/session/testing/memory-journal.d.ts +27 -0
  114. package/dist/agent-runtime/session/testing/memory-journal.js +70 -0
  115. package/dist/agent-runtime/session/testing/scripted-driver.d.ts +30 -0
  116. package/dist/agent-runtime/session/testing/scripted-driver.js +77 -0
  117. package/dist/agent-runtime/verification-proposals.d.ts +9 -0
  118. package/dist/agent-runtime/verification-proposals.js +69 -0
  119. package/dist/agent-runtime/verification-repair.d.ts +31 -2
  120. package/dist/agent-runtime/verification-repair.js +58 -3
  121. package/dist/installer/commands/init.d.ts +1 -1
  122. package/dist/installer/phases/install-config.js +10 -3
  123. package/dist/installer/util/paths.d.ts +25 -1
  124. package/dist/installer/util/registry.js +3 -3
  125. package/dist/pipeline/pipeline-state.d.ts +42 -11
  126. package/dist/pipeline/pipeline-state.js +47 -8
  127. package/dist/shared/specrails-home.d.ts +21 -0
  128. package/dist/shared/specrails-home.js +36 -0
  129. package/integration-contract.json +42 -1
  130. package/package.json +23 -11
  131. package/schemas/agent-runtime.schema.json +1 -1
@@ -2,13 +2,6 @@ import type { WorkflowState } from '../workflow-types.js';
2
2
  import type { RunLedger } from './checkpoint/ledger.js';
3
3
  /** Derive diagnostics from committed records; status never inspects or mutates a journal. */
4
4
  export declare function definitionEfficiencySummary(ledger: RunLedger, state: WorkflowState): {
5
- reservations: {
6
- pendingInvocations: number;
7
- knownTokens: number;
8
- knownCostUsd: number;
9
- tokensUnknown: boolean;
10
- costUnknown: boolean;
11
- };
12
5
  schemaVersion: 1;
13
6
  currentEvidenceIds: string[];
14
7
  planHash: string | null;
@@ -17,7 +10,7 @@ export declare function definitionEfficiencySummary(ledger: RunLedger, state: Wo
17
10
  workflowVersion: string;
18
11
  technicalAcceptance: string;
19
12
  archive: import("../../pipeline/pipeline-state.js").PhaseStatus;
20
- delivery: "pending" | "complete" | "pending-host";
13
+ delivery: "complete" | "pending" | "pending-host";
21
14
  roles: {
22
15
  role: string;
23
16
  provider: string | null;
@@ -59,4 +52,11 @@ export declare function definitionEfficiencySummary(ledger: RunLedger, state: Wo
59
52
  durationMs: number | null;
60
53
  };
61
54
  metrics: import("../efficiency-types.js").RuntimeEfficiency;
55
+ reservations: {
56
+ pendingInvocations: number;
57
+ knownTokens: number;
58
+ knownCostUsd: number;
59
+ tokensUnknown: boolean;
60
+ costUnknown: boolean;
61
+ };
62
62
  };
@@ -16,7 +16,7 @@ export interface ForkRunOptions {
16
16
  }
17
17
  /** A fork publishes an independently leased historical cut; the source is opened read-only. */
18
18
  export declare function forkRun(directory: string, options: ForkRunOptions): Promise<{
19
- type: "runtime-forked";
19
+ type: 'runtime-forked';
20
20
  runId: string;
21
21
  forkOf: string;
22
22
  fromNodePath: string;
@@ -1,14 +1,14 @@
1
1
  import type { WorkflowDefinition } from './definition-types.js';
2
2
  /** Public topology contains no prompts, command arguments, credentials or state. */
3
3
  export declare function describeDefinition(runId: string, definition: WorkflowDefinition): {
4
- type: "runtime-graph";
4
+ type: 'runtime-graph';
5
5
  engineVersion: number;
6
6
  runId: string;
7
7
  definitionHash: string;
8
8
  workflowId: string;
9
9
  nodes: {
10
10
  path: string;
11
- kind: "join" | "map" | "verify" | "shell" | "end" | "approval" | "question" | "prompt" | "gate" | "implementation" | "role-turn" | "decider" | "condition" | "assign" | "openspec-validate" | "openspec-archive" | "component" | "implementation-step" | "artifact-contract";
11
+ kind: "approval" | "artifact-contract" | "assign" | "component" | "condition" | "decider" | "end" | "gate" | "implementation" | "implementation-step" | "join" | "map" | "openspec-archive" | "openspec-validate" | "prompt" | "question" | "role-turn" | "shell" | "verify";
12
12
  label: string;
13
13
  }[];
14
14
  edges: {
@@ -18,31 +18,31 @@ export declare function describeDefinition(runId: string, definition: WorkflowDe
18
18
  }[];
19
19
  mermaid: string;
20
20
  graph: {
21
+ entry: string;
22
+ nodes: {
23
+ id: string;
24
+ kind: "approval" | "artifact-contract" | "assign" | "component" | "condition" | "decider" | "end" | "gate" | "implementation" | "implementation-step" | "join" | "map" | "openspec-archive" | "openspec-validate" | "prompt" | "question" | "role-turn" | "shell" | "verify";
25
+ label: string;
26
+ ends: {
27
+ [x: string]: string | null;
28
+ };
29
+ component?: string | undefined;
30
+ }[];
31
+ id: string;
32
+ version: string;
21
33
  components?: {
22
34
  [k: string]: {
23
35
  entry: string;
24
36
  nodes: {
25
- component?: string | undefined;
26
37
  id: string;
27
- kind: "join" | "map" | "verify" | "shell" | "end" | "approval" | "question" | "prompt" | "gate" | "implementation" | "role-turn" | "decider" | "condition" | "assign" | "openspec-validate" | "openspec-archive" | "component" | "implementation-step" | "artifact-contract";
38
+ kind: "approval" | "artifact-contract" | "assign" | "component" | "condition" | "decider" | "end" | "gate" | "implementation" | "implementation-step" | "join" | "map" | "openspec-archive" | "openspec-validate" | "prompt" | "question" | "role-turn" | "shell" | "verify";
28
39
  label: string;
29
40
  ends: {
30
41
  [x: string]: string | null;
31
42
  };
43
+ component?: string | undefined;
32
44
  }[];
33
45
  };
34
46
  } | undefined;
35
- entry: string;
36
- nodes: {
37
- component?: string | undefined;
38
- id: string;
39
- kind: "join" | "map" | "verify" | "shell" | "end" | "approval" | "question" | "prompt" | "gate" | "implementation" | "role-turn" | "decider" | "condition" | "assign" | "openspec-validate" | "openspec-archive" | "component" | "implementation-step" | "artifact-contract";
40
- label: string;
41
- ends: {
42
- [x: string]: string | null;
43
- };
44
- }[];
45
- id: string;
46
- version: string;
47
47
  };
48
48
  };
@@ -4,16 +4,26 @@ import type { NodeResult } from '../workflow-types.js';
4
4
  import { type AttemptFrame, type CoreDefinitionState, type ExecutionScope, type NodeExecutionPort, type PieceExecutionContext, type TerminalCommit } from './contracts.js';
5
5
  import type { ImplementationAdapter } from './pieces/implementation.js';
6
6
  declare function implementationSchema(): import("@langchain/langgraph").AnnotationRoot<{
7
+ plan: import("@langchain/langgraph").BaseChannel<import("../../pipeline/pipeline-state.js").VerificationCommand[], import("../../pipeline/pipeline-state.js").VerificationCommand[] | import("@langchain/langgraph").OverwriteValue<import("../../pipeline/pipeline-state.js").VerificationCommand[]>, unknown>;
8
+ unverifiedRepositories: import("@langchain/langgraph").BaseChannel<string[], string[] | import("@langchain/langgraph").OverwriteValue<string[]>, unknown>;
9
+ architecture: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").ArchitectureRecord | null, import("../graph/state.js").ArchitectureRecord | import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").ArchitectureRecord | null> | null, unknown>;
10
+ development: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").DeveloperRecord | null, import("../graph/state.js").DeveloperRecord | import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").DeveloperRecord | null> | null, unknown>;
11
+ verifyResult: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").VerificationRecord | null, import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").VerificationRecord | null> | import("../graph/state.js").VerificationRecord | null, unknown>;
12
+ review: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").ReviewRecord | null, import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").ReviewRecord | null> | import("../graph/state.js").ReviewRecord | null, unknown>;
13
+ answers: import("@langchain/langgraph").BaseChannel<string[], string[] | import("@langchain/langgraph").OverwriteValue<string[]>, unknown>;
14
+ deepenPasses: import("@langchain/langgraph").BaseChannel<number, number | import("@langchain/langgraph").OverwriteValue<number>, unknown>;
15
+ archived: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").ArchiveRecord | null, import("../graph/state.js").ArchiveRecord | import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").ArchiveRecord | null> | null, unknown>;
16
+ verifyHistory: import("@langchain/langgraph").BaseChannel<import("../graph/convergence.js").VerifyOutcome[], import("../graph/convergence.js").VerifyOutcome[] | import("@langchain/langgraph").OverwriteValue<import("../graph/convergence.js").VerifyOutcome[]>, unknown>;
7
17
  $scope: import("@langchain/langgraph").BaseChannel<ExecutionScope, ExecutionScope | import("@langchain/langgraph").OverwriteValue<ExecutionScope>, unknown>;
8
18
  $outer: import("@langchain/langgraph").BaseChannel<CoreDefinitionState, CoreDefinitionState | import("@langchain/langgraph").OverwriteValue<CoreDefinitionState>, unknown>;
9
- $next: import("@langchain/langgraph").BaseChannel<CoreNodeId | null, CoreNodeId | import("@langchain/langgraph").OverwriteValue<CoreNodeId | null> | null, unknown>;
19
+ $next: import("@langchain/langgraph").BaseChannel<CoreNodeId | null, import("@langchain/langgraph").OverwriteValue<CoreNodeId | null> | CoreNodeId | null, unknown>;
10
20
  $nodeResult: import("@langchain/langgraph").BaseChannel<NodeResult<import("@langchain/langgraph").StateType<{
11
21
  plan: import("@langchain/langgraph").BaseChannel<import("../../pipeline/pipeline-state.js").VerificationCommand[], import("../../pipeline/pipeline-state.js").VerificationCommand[] | import("@langchain/langgraph").OverwriteValue<import("../../pipeline/pipeline-state.js").VerificationCommand[]>, unknown>;
12
22
  unverifiedRepositories: import("@langchain/langgraph").BaseChannel<string[], string[] | import("@langchain/langgraph").OverwriteValue<string[]>, unknown>;
13
23
  architecture: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").ArchitectureRecord | null, import("../graph/state.js").ArchitectureRecord | import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").ArchitectureRecord | null> | null, unknown>;
14
24
  development: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").DeveloperRecord | null, import("../graph/state.js").DeveloperRecord | import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").DeveloperRecord | null> | null, unknown>;
15
- verifyResult: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").VerificationRecord | null, import("../graph/state.js").VerificationRecord | import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").VerificationRecord | null> | null, unknown>;
16
- review: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").ReviewRecord | null, import("../graph/state.js").ReviewRecord | import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").ReviewRecord | null> | null, unknown>;
25
+ verifyResult: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").VerificationRecord | null, import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").VerificationRecord | null> | import("../graph/state.js").VerificationRecord | null, unknown>;
26
+ review: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").ReviewRecord | null, import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").ReviewRecord | null> | import("../graph/state.js").ReviewRecord | null, unknown>;
17
27
  answers: import("@langchain/langgraph").BaseChannel<string[], string[] | import("@langchain/langgraph").OverwriteValue<string[]>, unknown>;
18
28
  deepenPasses: import("@langchain/langgraph").BaseChannel<number, number | import("@langchain/langgraph").OverwriteValue<number>, unknown>;
19
29
  archived: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").ArchiveRecord | null, import("../graph/state.js").ArchiveRecord | import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").ArchiveRecord | null> | null, unknown>;
@@ -23,8 +33,8 @@ declare function implementationSchema(): import("@langchain/langgraph").Annotati
23
33
  unverifiedRepositories: import("@langchain/langgraph").BaseChannel<string[], string[] | import("@langchain/langgraph").OverwriteValue<string[]>, unknown>;
24
34
  architecture: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").ArchitectureRecord | null, import("../graph/state.js").ArchitectureRecord | import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").ArchitectureRecord | null> | null, unknown>;
25
35
  development: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").DeveloperRecord | null, import("../graph/state.js").DeveloperRecord | import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").DeveloperRecord | null> | null, unknown>;
26
- verifyResult: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").VerificationRecord | null, import("../graph/state.js").VerificationRecord | import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").VerificationRecord | null> | null, unknown>;
27
- review: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").ReviewRecord | null, import("../graph/state.js").ReviewRecord | import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").ReviewRecord | null> | null, unknown>;
36
+ verifyResult: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").VerificationRecord | null, import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").VerificationRecord | null> | import("../graph/state.js").VerificationRecord | null, unknown>;
37
+ review: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").ReviewRecord | null, import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").ReviewRecord | null> | import("../graph/state.js").ReviewRecord | null, unknown>;
28
38
  answers: import("@langchain/langgraph").BaseChannel<string[], string[] | import("@langchain/langgraph").OverwriteValue<string[]>, unknown>;
29
39
  deepenPasses: import("@langchain/langgraph").BaseChannel<number, number | import("@langchain/langgraph").OverwriteValue<number>, unknown>;
30
40
  archived: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").ArchiveRecord | null, import("../graph/state.js").ArchiveRecord | import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").ArchiveRecord | null> | null, unknown>;
@@ -34,24 +44,14 @@ declare function implementationSchema(): import("@langchain/langgraph").Annotati
34
44
  unverifiedRepositories: import("@langchain/langgraph").BaseChannel<string[], string[] | import("@langchain/langgraph").OverwriteValue<string[]>, unknown>;
35
45
  architecture: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").ArchitectureRecord | null, import("../graph/state.js").ArchitectureRecord | import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").ArchitectureRecord | null> | null, unknown>;
36
46
  development: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").DeveloperRecord | null, import("../graph/state.js").DeveloperRecord | import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").DeveloperRecord | null> | null, unknown>;
37
- verifyResult: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").VerificationRecord | null, import("../graph/state.js").VerificationRecord | import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").VerificationRecord | null> | null, unknown>;
38
- review: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").ReviewRecord | null, import("../graph/state.js").ReviewRecord | import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").ReviewRecord | null> | null, unknown>;
47
+ verifyResult: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").VerificationRecord | null, import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").VerificationRecord | null> | import("../graph/state.js").VerificationRecord | null, unknown>;
48
+ review: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").ReviewRecord | null, import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").ReviewRecord | null> | import("../graph/state.js").ReviewRecord | null, unknown>;
39
49
  answers: import("@langchain/langgraph").BaseChannel<string[], string[] | import("@langchain/langgraph").OverwriteValue<string[]>, unknown>;
40
50
  deepenPasses: import("@langchain/langgraph").BaseChannel<number, number | import("@langchain/langgraph").OverwriteValue<number>, unknown>;
41
51
  archived: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").ArchiveRecord | null, import("../graph/state.js").ArchiveRecord | import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").ArchiveRecord | null> | null, unknown>;
42
52
  verifyHistory: import("@langchain/langgraph").BaseChannel<import("../graph/convergence.js").VerifyOutcome[], import("../graph/convergence.js").VerifyOutcome[] | import("@langchain/langgraph").OverwriteValue<import("../graph/convergence.js").VerifyOutcome[]>, unknown>;
43
53
  }>> | null> | null, unknown>;
44
54
  $commit: EphemeralValue<TerminalCommit>;
45
- plan: import("@langchain/langgraph").BaseChannel<import("../../pipeline/pipeline-state.js").VerificationCommand[], import("../../pipeline/pipeline-state.js").VerificationCommand[] | import("@langchain/langgraph").OverwriteValue<import("../../pipeline/pipeline-state.js").VerificationCommand[]>, unknown>;
46
- unverifiedRepositories: import("@langchain/langgraph").BaseChannel<string[], string[] | import("@langchain/langgraph").OverwriteValue<string[]>, unknown>;
47
- architecture: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").ArchitectureRecord | null, import("../graph/state.js").ArchitectureRecord | import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").ArchitectureRecord | null> | null, unknown>;
48
- development: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").DeveloperRecord | null, import("../graph/state.js").DeveloperRecord | import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").DeveloperRecord | null> | null, unknown>;
49
- verifyResult: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").VerificationRecord | null, import("../graph/state.js").VerificationRecord | import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").VerificationRecord | null> | null, unknown>;
50
- review: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").ReviewRecord | null, import("../graph/state.js").ReviewRecord | import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").ReviewRecord | null> | null, unknown>;
51
- answers: import("@langchain/langgraph").BaseChannel<string[], string[] | import("@langchain/langgraph").OverwriteValue<string[]>, unknown>;
52
- deepenPasses: import("@langchain/langgraph").BaseChannel<number, number | import("@langchain/langgraph").OverwriteValue<number>, unknown>;
53
- archived: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").ArchiveRecord | null, import("../graph/state.js").ArchiveRecord | import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").ArchiveRecord | null> | null, unknown>;
54
- verifyHistory: import("@langchain/langgraph").BaseChannel<import("../graph/convergence.js").VerifyOutcome[], import("../graph/convergence.js").VerifyOutcome[] | import("@langchain/langgraph").OverwriteValue<import("../graph/convergence.js").VerifyOutcome[]>, unknown>;
55
55
  }>;
56
56
  type ImplementationSchema = ReturnType<typeof implementationSchema>;
57
57
  export type ImplementationGraphState = ImplementationSchema['State'];
@@ -59,6 +59,16 @@ export declare function implementationInput(parent: CoreDefinitionState, frame:
59
59
  export declare function implementationContext(state: CoreDefinitionState, frame: AttemptFrame, signal: AbortSignal, execution: NodeExecutionPort): PieceExecutionContext;
60
60
  /** Six actual Core nodes use the parent's saver; every state update shares its terminal commit. */
61
61
  export declare function compileImplementationGraph(adapter: ImplementationAdapter, execution: NodeExecutionPort): import("@langchain/langgraph").CompiledStateGraph<{
62
+ plan: import("../../pipeline/pipeline-state.js").VerificationCommand[];
63
+ unverifiedRepositories: string[];
64
+ architecture: import("../graph/state.js").ArchitectureRecord | null;
65
+ development: import("../graph/state.js").DeveloperRecord | null;
66
+ verifyResult: import("../graph/state.js").VerificationRecord | null;
67
+ review: import("../graph/state.js").ReviewRecord | null;
68
+ answers: string[];
69
+ deepenPasses: number;
70
+ archived: import("../graph/state.js").ArchiveRecord | null;
71
+ verifyHistory: import("../graph/convergence.js").VerifyOutcome[];
62
72
  $scope: ExecutionScope;
63
73
  $outer: CoreDefinitionState;
64
74
  $next: CoreNodeId | null;
@@ -67,25 +77,25 @@ export declare function compileImplementationGraph(adapter: ImplementationAdapte
67
77
  unverifiedRepositories: import("@langchain/langgraph").BaseChannel<string[], string[] | import("@langchain/langgraph").OverwriteValue<string[]>, unknown>;
68
78
  architecture: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").ArchitectureRecord | null, import("../graph/state.js").ArchitectureRecord | import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").ArchitectureRecord | null> | null, unknown>;
69
79
  development: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").DeveloperRecord | null, import("../graph/state.js").DeveloperRecord | import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").DeveloperRecord | null> | null, unknown>;
70
- verifyResult: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").VerificationRecord | null, import("../graph/state.js").VerificationRecord | import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").VerificationRecord | null> | null, unknown>;
71
- review: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").ReviewRecord | null, import("../graph/state.js").ReviewRecord | import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").ReviewRecord | null> | null, unknown>;
80
+ verifyResult: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").VerificationRecord | null, import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").VerificationRecord | null> | import("../graph/state.js").VerificationRecord | null, unknown>;
81
+ review: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").ReviewRecord | null, import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").ReviewRecord | null> | import("../graph/state.js").ReviewRecord | null, unknown>;
72
82
  answers: import("@langchain/langgraph").BaseChannel<string[], string[] | import("@langchain/langgraph").OverwriteValue<string[]>, unknown>;
73
83
  deepenPasses: import("@langchain/langgraph").BaseChannel<number, number | import("@langchain/langgraph").OverwriteValue<number>, unknown>;
74
84
  archived: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").ArchiveRecord | null, import("../graph/state.js").ArchiveRecord | import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").ArchiveRecord | null> | null, unknown>;
75
85
  verifyHistory: import("@langchain/langgraph").BaseChannel<import("../graph/convergence.js").VerifyOutcome[], import("../graph/convergence.js").VerifyOutcome[] | import("@langchain/langgraph").OverwriteValue<import("../graph/convergence.js").VerifyOutcome[]>, unknown>;
76
86
  }>> | null;
77
87
  $commit: TerminalCommit;
78
- plan: import("../../pipeline/pipeline-state.js").VerificationCommand[];
79
- unverifiedRepositories: string[];
80
- architecture: import("../graph/state.js").ArchitectureRecord | null;
81
- development: import("../graph/state.js").DeveloperRecord | null;
82
- verifyResult: import("../graph/state.js").VerificationRecord | null;
83
- review: import("../graph/state.js").ReviewRecord | null;
84
- answers: string[];
85
- deepenPasses: number;
86
- archived: import("../graph/state.js").ArchiveRecord | null;
87
- verifyHistory: import("../graph/convergence.js").VerifyOutcome[];
88
88
  }, {
89
+ plan?: import("../../pipeline/pipeline-state.js").VerificationCommand[] | undefined;
90
+ unverifiedRepositories?: string[] | undefined;
91
+ architecture?: import("../graph/state.js").ArchitectureRecord | null | undefined;
92
+ development?: import("../graph/state.js").DeveloperRecord | null | undefined;
93
+ verifyResult?: import("../graph/state.js").VerificationRecord | null | undefined;
94
+ review?: import("../graph/state.js").ReviewRecord | null | undefined;
95
+ answers?: string[] | undefined;
96
+ deepenPasses?: number | undefined;
97
+ archived?: import("../graph/state.js").ArchiveRecord | null | undefined;
98
+ verifyHistory?: import("../graph/convergence.js").VerifyOutcome[] | undefined;
89
99
  $scope?: ExecutionScope | undefined;
90
100
  $outer?: CoreDefinitionState | undefined;
91
101
  $next?: CoreNodeId | null | undefined;
@@ -94,35 +104,35 @@ export declare function compileImplementationGraph(adapter: ImplementationAdapte
94
104
  unverifiedRepositories: import("@langchain/langgraph").BaseChannel<string[], string[] | import("@langchain/langgraph").OverwriteValue<string[]>, unknown>;
95
105
  architecture: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").ArchitectureRecord | null, import("../graph/state.js").ArchitectureRecord | import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").ArchitectureRecord | null> | null, unknown>;
96
106
  development: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").DeveloperRecord | null, import("../graph/state.js").DeveloperRecord | import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").DeveloperRecord | null> | null, unknown>;
97
- verifyResult: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").VerificationRecord | null, import("../graph/state.js").VerificationRecord | import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").VerificationRecord | null> | null, unknown>;
98
- review: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").ReviewRecord | null, import("../graph/state.js").ReviewRecord | import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").ReviewRecord | null> | null, unknown>;
107
+ verifyResult: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").VerificationRecord | null, import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").VerificationRecord | null> | import("../graph/state.js").VerificationRecord | null, unknown>;
108
+ review: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").ReviewRecord | null, import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").ReviewRecord | null> | import("../graph/state.js").ReviewRecord | null, unknown>;
99
109
  answers: import("@langchain/langgraph").BaseChannel<string[], string[] | import("@langchain/langgraph").OverwriteValue<string[]>, unknown>;
100
110
  deepenPasses: import("@langchain/langgraph").BaseChannel<number, number | import("@langchain/langgraph").OverwriteValue<number>, unknown>;
101
111
  archived: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").ArchiveRecord | null, import("../graph/state.js").ArchiveRecord | import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").ArchiveRecord | null> | null, unknown>;
102
112
  verifyHistory: import("@langchain/langgraph").BaseChannel<import("../graph/convergence.js").VerifyOutcome[], import("../graph/convergence.js").VerifyOutcome[] | import("@langchain/langgraph").OverwriteValue<import("../graph/convergence.js").VerifyOutcome[]>, unknown>;
103
113
  }>> | null | undefined;
104
114
  $commit?: TerminalCommit | undefined;
105
- plan?: import("../../pipeline/pipeline-state.js").VerificationCommand[] | undefined;
106
- unverifiedRepositories?: string[] | undefined;
107
- architecture?: import("../graph/state.js").ArchitectureRecord | null | undefined;
108
- development?: import("../graph/state.js").DeveloperRecord | null | undefined;
109
- verifyResult?: import("../graph/state.js").VerificationRecord | null | undefined;
110
- review?: import("../graph/state.js").ReviewRecord | null | undefined;
111
- answers?: string[] | undefined;
112
- deepenPasses?: number | undefined;
113
- archived?: import("../graph/state.js").ArchiveRecord | null | undefined;
114
- verifyHistory?: import("../graph/convergence.js").VerifyOutcome[] | undefined;
115
115
  }, string, {
116
+ plan: import("@langchain/langgraph").BaseChannel<import("../../pipeline/pipeline-state.js").VerificationCommand[], import("../../pipeline/pipeline-state.js").VerificationCommand[] | import("@langchain/langgraph").OverwriteValue<import("../../pipeline/pipeline-state.js").VerificationCommand[]>, unknown>;
117
+ unverifiedRepositories: import("@langchain/langgraph").BaseChannel<string[], string[] | import("@langchain/langgraph").OverwriteValue<string[]>, unknown>;
118
+ architecture: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").ArchitectureRecord | null, import("../graph/state.js").ArchitectureRecord | import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").ArchitectureRecord | null> | null, unknown>;
119
+ development: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").DeveloperRecord | null, import("../graph/state.js").DeveloperRecord | import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").DeveloperRecord | null> | null, unknown>;
120
+ verifyResult: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").VerificationRecord | null, import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").VerificationRecord | null> | import("../graph/state.js").VerificationRecord | null, unknown>;
121
+ review: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").ReviewRecord | null, import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").ReviewRecord | null> | import("../graph/state.js").ReviewRecord | null, unknown>;
122
+ answers: import("@langchain/langgraph").BaseChannel<string[], string[] | import("@langchain/langgraph").OverwriteValue<string[]>, unknown>;
123
+ deepenPasses: import("@langchain/langgraph").BaseChannel<number, number | import("@langchain/langgraph").OverwriteValue<number>, unknown>;
124
+ archived: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").ArchiveRecord | null, import("../graph/state.js").ArchiveRecord | import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").ArchiveRecord | null> | null, unknown>;
125
+ verifyHistory: import("@langchain/langgraph").BaseChannel<import("../graph/convergence.js").VerifyOutcome[], import("../graph/convergence.js").VerifyOutcome[] | import("@langchain/langgraph").OverwriteValue<import("../graph/convergence.js").VerifyOutcome[]>, unknown>;
116
126
  $scope: import("@langchain/langgraph").BaseChannel<ExecutionScope, ExecutionScope | import("@langchain/langgraph").OverwriteValue<ExecutionScope>, unknown>;
117
127
  $outer: import("@langchain/langgraph").BaseChannel<CoreDefinitionState, CoreDefinitionState | import("@langchain/langgraph").OverwriteValue<CoreDefinitionState>, unknown>;
118
- $next: import("@langchain/langgraph").BaseChannel<CoreNodeId | null, CoreNodeId | import("@langchain/langgraph").OverwriteValue<CoreNodeId | null> | null, unknown>;
128
+ $next: import("@langchain/langgraph").BaseChannel<CoreNodeId | null, import("@langchain/langgraph").OverwriteValue<CoreNodeId | null> | CoreNodeId | null, unknown>;
119
129
  $nodeResult: import("@langchain/langgraph").BaseChannel<NodeResult<import("@langchain/langgraph").StateType<{
120
130
  plan: import("@langchain/langgraph").BaseChannel<import("../../pipeline/pipeline-state.js").VerificationCommand[], import("../../pipeline/pipeline-state.js").VerificationCommand[] | import("@langchain/langgraph").OverwriteValue<import("../../pipeline/pipeline-state.js").VerificationCommand[]>, unknown>;
121
131
  unverifiedRepositories: import("@langchain/langgraph").BaseChannel<string[], string[] | import("@langchain/langgraph").OverwriteValue<string[]>, unknown>;
122
132
  architecture: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").ArchitectureRecord | null, import("../graph/state.js").ArchitectureRecord | import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").ArchitectureRecord | null> | null, unknown>;
123
133
  development: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").DeveloperRecord | null, import("../graph/state.js").DeveloperRecord | import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").DeveloperRecord | null> | null, unknown>;
124
- verifyResult: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").VerificationRecord | null, import("../graph/state.js").VerificationRecord | import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").VerificationRecord | null> | null, unknown>;
125
- review: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").ReviewRecord | null, import("../graph/state.js").ReviewRecord | import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").ReviewRecord | null> | null, unknown>;
134
+ verifyResult: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").VerificationRecord | null, import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").VerificationRecord | null> | import("../graph/state.js").VerificationRecord | null, unknown>;
135
+ review: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").ReviewRecord | null, import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").ReviewRecord | null> | import("../graph/state.js").ReviewRecord | null, unknown>;
126
136
  answers: import("@langchain/langgraph").BaseChannel<string[], string[] | import("@langchain/langgraph").OverwriteValue<string[]>, unknown>;
127
137
  deepenPasses: import("@langchain/langgraph").BaseChannel<number, number | import("@langchain/langgraph").OverwriteValue<number>, unknown>;
128
138
  archived: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").ArchiveRecord | null, import("../graph/state.js").ArchiveRecord | import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").ArchiveRecord | null> | null, unknown>;
@@ -132,8 +142,8 @@ export declare function compileImplementationGraph(adapter: ImplementationAdapte
132
142
  unverifiedRepositories: import("@langchain/langgraph").BaseChannel<string[], string[] | import("@langchain/langgraph").OverwriteValue<string[]>, unknown>;
133
143
  architecture: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").ArchitectureRecord | null, import("../graph/state.js").ArchitectureRecord | import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").ArchitectureRecord | null> | null, unknown>;
134
144
  development: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").DeveloperRecord | null, import("../graph/state.js").DeveloperRecord | import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").DeveloperRecord | null> | null, unknown>;
135
- verifyResult: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").VerificationRecord | null, import("../graph/state.js").VerificationRecord | import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").VerificationRecord | null> | null, unknown>;
136
- review: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").ReviewRecord | null, import("../graph/state.js").ReviewRecord | import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").ReviewRecord | null> | null, unknown>;
145
+ verifyResult: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").VerificationRecord | null, import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").VerificationRecord | null> | import("../graph/state.js").VerificationRecord | null, unknown>;
146
+ review: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").ReviewRecord | null, import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").ReviewRecord | null> | import("../graph/state.js").ReviewRecord | null, unknown>;
137
147
  answers: import("@langchain/langgraph").BaseChannel<string[], string[] | import("@langchain/langgraph").OverwriteValue<string[]>, unknown>;
138
148
  deepenPasses: import("@langchain/langgraph").BaseChannel<number, number | import("@langchain/langgraph").OverwriteValue<number>, unknown>;
139
149
  archived: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").ArchiveRecord | null, import("../graph/state.js").ArchiveRecord | import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").ArchiveRecord | null> | null, unknown>;
@@ -143,35 +153,35 @@ export declare function compileImplementationGraph(adapter: ImplementationAdapte
143
153
  unverifiedRepositories: import("@langchain/langgraph").BaseChannel<string[], string[] | import("@langchain/langgraph").OverwriteValue<string[]>, unknown>;
144
154
  architecture: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").ArchitectureRecord | null, import("../graph/state.js").ArchitectureRecord | import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").ArchitectureRecord | null> | null, unknown>;
145
155
  development: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").DeveloperRecord | null, import("../graph/state.js").DeveloperRecord | import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").DeveloperRecord | null> | null, unknown>;
146
- verifyResult: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").VerificationRecord | null, import("../graph/state.js").VerificationRecord | import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").VerificationRecord | null> | null, unknown>;
147
- review: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").ReviewRecord | null, import("../graph/state.js").ReviewRecord | import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").ReviewRecord | null> | null, unknown>;
156
+ verifyResult: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").VerificationRecord | null, import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").VerificationRecord | null> | import("../graph/state.js").VerificationRecord | null, unknown>;
157
+ review: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").ReviewRecord | null, import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").ReviewRecord | null> | import("../graph/state.js").ReviewRecord | null, unknown>;
148
158
  answers: import("@langchain/langgraph").BaseChannel<string[], string[] | import("@langchain/langgraph").OverwriteValue<string[]>, unknown>;
149
159
  deepenPasses: import("@langchain/langgraph").BaseChannel<number, number | import("@langchain/langgraph").OverwriteValue<number>, unknown>;
150
160
  archived: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").ArchiveRecord | null, import("../graph/state.js").ArchiveRecord | import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").ArchiveRecord | null> | null, unknown>;
151
161
  verifyHistory: import("@langchain/langgraph").BaseChannel<import("../graph/convergence.js").VerifyOutcome[], import("../graph/convergence.js").VerifyOutcome[] | import("@langchain/langgraph").OverwriteValue<import("../graph/convergence.js").VerifyOutcome[]>, unknown>;
152
162
  }>> | null> | null, unknown>;
153
163
  $commit: EphemeralValue<TerminalCommit>;
164
+ }, {
154
165
  plan: import("@langchain/langgraph").BaseChannel<import("../../pipeline/pipeline-state.js").VerificationCommand[], import("../../pipeline/pipeline-state.js").VerificationCommand[] | import("@langchain/langgraph").OverwriteValue<import("../../pipeline/pipeline-state.js").VerificationCommand[]>, unknown>;
155
166
  unverifiedRepositories: import("@langchain/langgraph").BaseChannel<string[], string[] | import("@langchain/langgraph").OverwriteValue<string[]>, unknown>;
156
167
  architecture: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").ArchitectureRecord | null, import("../graph/state.js").ArchitectureRecord | import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").ArchitectureRecord | null> | null, unknown>;
157
168
  development: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").DeveloperRecord | null, import("../graph/state.js").DeveloperRecord | import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").DeveloperRecord | null> | null, unknown>;
158
- verifyResult: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").VerificationRecord | null, import("../graph/state.js").VerificationRecord | import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").VerificationRecord | null> | null, unknown>;
159
- review: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").ReviewRecord | null, import("../graph/state.js").ReviewRecord | import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").ReviewRecord | null> | null, unknown>;
169
+ verifyResult: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").VerificationRecord | null, import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").VerificationRecord | null> | import("../graph/state.js").VerificationRecord | null, unknown>;
170
+ review: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").ReviewRecord | null, import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").ReviewRecord | null> | import("../graph/state.js").ReviewRecord | null, unknown>;
160
171
  answers: import("@langchain/langgraph").BaseChannel<string[], string[] | import("@langchain/langgraph").OverwriteValue<string[]>, unknown>;
161
172
  deepenPasses: import("@langchain/langgraph").BaseChannel<number, number | import("@langchain/langgraph").OverwriteValue<number>, unknown>;
162
173
  archived: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").ArchiveRecord | null, import("../graph/state.js").ArchiveRecord | import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").ArchiveRecord | null> | null, unknown>;
163
174
  verifyHistory: import("@langchain/langgraph").BaseChannel<import("../graph/convergence.js").VerifyOutcome[], import("../graph/convergence.js").VerifyOutcome[] | import("@langchain/langgraph").OverwriteValue<import("../graph/convergence.js").VerifyOutcome[]>, unknown>;
164
- }, {
165
175
  $scope: import("@langchain/langgraph").BaseChannel<ExecutionScope, ExecutionScope | import("@langchain/langgraph").OverwriteValue<ExecutionScope>, unknown>;
166
176
  $outer: import("@langchain/langgraph").BaseChannel<CoreDefinitionState, CoreDefinitionState | import("@langchain/langgraph").OverwriteValue<CoreDefinitionState>, unknown>;
167
- $next: import("@langchain/langgraph").BaseChannel<CoreNodeId | null, CoreNodeId | import("@langchain/langgraph").OverwriteValue<CoreNodeId | null> | null, unknown>;
177
+ $next: import("@langchain/langgraph").BaseChannel<CoreNodeId | null, import("@langchain/langgraph").OverwriteValue<CoreNodeId | null> | CoreNodeId | null, unknown>;
168
178
  $nodeResult: import("@langchain/langgraph").BaseChannel<NodeResult<import("@langchain/langgraph").StateType<{
169
179
  plan: import("@langchain/langgraph").BaseChannel<import("../../pipeline/pipeline-state.js").VerificationCommand[], import("../../pipeline/pipeline-state.js").VerificationCommand[] | import("@langchain/langgraph").OverwriteValue<import("../../pipeline/pipeline-state.js").VerificationCommand[]>, unknown>;
170
180
  unverifiedRepositories: import("@langchain/langgraph").BaseChannel<string[], string[] | import("@langchain/langgraph").OverwriteValue<string[]>, unknown>;
171
181
  architecture: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").ArchitectureRecord | null, import("../graph/state.js").ArchitectureRecord | import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").ArchitectureRecord | null> | null, unknown>;
172
182
  development: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").DeveloperRecord | null, import("../graph/state.js").DeveloperRecord | import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").DeveloperRecord | null> | null, unknown>;
173
- verifyResult: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").VerificationRecord | null, import("../graph/state.js").VerificationRecord | import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").VerificationRecord | null> | null, unknown>;
174
- review: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").ReviewRecord | null, import("../graph/state.js").ReviewRecord | import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").ReviewRecord | null> | null, unknown>;
183
+ verifyResult: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").VerificationRecord | null, import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").VerificationRecord | null> | import("../graph/state.js").VerificationRecord | null, unknown>;
184
+ review: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").ReviewRecord | null, import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").ReviewRecord | null> | import("../graph/state.js").ReviewRecord | null, unknown>;
175
185
  answers: import("@langchain/langgraph").BaseChannel<string[], string[] | import("@langchain/langgraph").OverwriteValue<string[]>, unknown>;
176
186
  deepenPasses: import("@langchain/langgraph").BaseChannel<number, number | import("@langchain/langgraph").OverwriteValue<number>, unknown>;
177
187
  archived: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").ArchiveRecord | null, import("../graph/state.js").ArchiveRecord | import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").ArchiveRecord | null> | null, unknown>;
@@ -181,8 +191,8 @@ export declare function compileImplementationGraph(adapter: ImplementationAdapte
181
191
  unverifiedRepositories: import("@langchain/langgraph").BaseChannel<string[], string[] | import("@langchain/langgraph").OverwriteValue<string[]>, unknown>;
182
192
  architecture: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").ArchitectureRecord | null, import("../graph/state.js").ArchitectureRecord | import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").ArchitectureRecord | null> | null, unknown>;
183
193
  development: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").DeveloperRecord | null, import("../graph/state.js").DeveloperRecord | import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").DeveloperRecord | null> | null, unknown>;
184
- verifyResult: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").VerificationRecord | null, import("../graph/state.js").VerificationRecord | import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").VerificationRecord | null> | null, unknown>;
185
- review: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").ReviewRecord | null, import("../graph/state.js").ReviewRecord | import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").ReviewRecord | null> | null, unknown>;
194
+ verifyResult: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").VerificationRecord | null, import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").VerificationRecord | null> | import("../graph/state.js").VerificationRecord | null, unknown>;
195
+ review: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").ReviewRecord | null, import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").ReviewRecord | null> | import("../graph/state.js").ReviewRecord | null, unknown>;
186
196
  answers: import("@langchain/langgraph").BaseChannel<string[], string[] | import("@langchain/langgraph").OverwriteValue<string[]>, unknown>;
187
197
  deepenPasses: import("@langchain/langgraph").BaseChannel<number, number | import("@langchain/langgraph").OverwriteValue<number>, unknown>;
188
198
  archived: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").ArchiveRecord | null, import("../graph/state.js").ArchiveRecord | import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").ArchiveRecord | null> | null, unknown>;
@@ -192,23 +202,13 @@ export declare function compileImplementationGraph(adapter: ImplementationAdapte
192
202
  unverifiedRepositories: import("@langchain/langgraph").BaseChannel<string[], string[] | import("@langchain/langgraph").OverwriteValue<string[]>, unknown>;
193
203
  architecture: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").ArchitectureRecord | null, import("../graph/state.js").ArchitectureRecord | import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").ArchitectureRecord | null> | null, unknown>;
194
204
  development: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").DeveloperRecord | null, import("../graph/state.js").DeveloperRecord | import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").DeveloperRecord | null> | null, unknown>;
195
- verifyResult: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").VerificationRecord | null, import("../graph/state.js").VerificationRecord | import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").VerificationRecord | null> | null, unknown>;
196
- review: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").ReviewRecord | null, import("../graph/state.js").ReviewRecord | import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").ReviewRecord | null> | null, unknown>;
205
+ verifyResult: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").VerificationRecord | null, import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").VerificationRecord | null> | import("../graph/state.js").VerificationRecord | null, unknown>;
206
+ review: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").ReviewRecord | null, import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").ReviewRecord | null> | import("../graph/state.js").ReviewRecord | null, unknown>;
197
207
  answers: import("@langchain/langgraph").BaseChannel<string[], string[] | import("@langchain/langgraph").OverwriteValue<string[]>, unknown>;
198
208
  deepenPasses: import("@langchain/langgraph").BaseChannel<number, number | import("@langchain/langgraph").OverwriteValue<number>, unknown>;
199
209
  archived: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").ArchiveRecord | null, import("../graph/state.js").ArchiveRecord | import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").ArchiveRecord | null> | null, unknown>;
200
210
  verifyHistory: import("@langchain/langgraph").BaseChannel<import("../graph/convergence.js").VerifyOutcome[], import("../graph/convergence.js").VerifyOutcome[] | import("@langchain/langgraph").OverwriteValue<import("../graph/convergence.js").VerifyOutcome[]>, unknown>;
201
211
  }>> | null> | null, unknown>;
202
212
  $commit: EphemeralValue<TerminalCommit>;
203
- plan: import("@langchain/langgraph").BaseChannel<import("../../pipeline/pipeline-state.js").VerificationCommand[], import("../../pipeline/pipeline-state.js").VerificationCommand[] | import("@langchain/langgraph").OverwriteValue<import("../../pipeline/pipeline-state.js").VerificationCommand[]>, unknown>;
204
- unverifiedRepositories: import("@langchain/langgraph").BaseChannel<string[], string[] | import("@langchain/langgraph").OverwriteValue<string[]>, unknown>;
205
- architecture: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").ArchitectureRecord | null, import("../graph/state.js").ArchitectureRecord | import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").ArchitectureRecord | null> | null, unknown>;
206
- development: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").DeveloperRecord | null, import("../graph/state.js").DeveloperRecord | import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").DeveloperRecord | null> | null, unknown>;
207
- verifyResult: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").VerificationRecord | null, import("../graph/state.js").VerificationRecord | import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").VerificationRecord | null> | null, unknown>;
208
- review: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").ReviewRecord | null, import("../graph/state.js").ReviewRecord | import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").ReviewRecord | null> | null, unknown>;
209
- answers: import("@langchain/langgraph").BaseChannel<string[], string[] | import("@langchain/langgraph").OverwriteValue<string[]>, unknown>;
210
- deepenPasses: import("@langchain/langgraph").BaseChannel<number, number | import("@langchain/langgraph").OverwriteValue<number>, unknown>;
211
- archived: import("@langchain/langgraph").BaseChannel<import("../graph/state.js").ArchiveRecord | null, import("../graph/state.js").ArchiveRecord | import("@langchain/langgraph").OverwriteValue<import("../graph/state.js").ArchiveRecord | null> | null, unknown>;
212
- verifyHistory: import("@langchain/langgraph").BaseChannel<import("../graph/convergence.js").VerifyOutcome[], import("../graph/convergence.js").VerifyOutcome[] | import("@langchain/langgraph").OverwriteValue<import("../graph/convergence.js").VerifyOutcome[]>, unknown>;
213
213
  }, import("@langchain/langgraph").StateDefinition, unknown, unknown, unknown, []>;
214
214
  export {};
@@ -1,6 +1,6 @@
1
1
  import { existsSync, mkdirSync } from 'node:fs';
2
2
  import path from 'node:path';
3
- import { fingerprintCandidate, persistCheckEvidence, readCandidateScope, pipelineStateDirectory } from '../../pipeline/pipeline-state.js';
3
+ import { candidateChangedReceipt, candidateManifest, candidateManifestHash, fingerprintCandidate, persistCheckEvidence, readCandidateScope, pipelineStateDirectory } from '../../pipeline/pipeline-state.js';
4
4
  import { resolveRoleDescriptor } from '../config.js';
5
5
  import { prepareOpenSpec, roleOpenSpecContext } from '../openspec.js';
6
6
  import { contentDigest } from './canonical-json.js';
@@ -215,11 +215,11 @@ export class RunPieceDependencies {
215
215
  }));
216
216
  }
217
217
  verification(context) {
218
- const candidateHash = this.fingerprint(), scope = this.candidateScope();
218
+ const scope = this.candidateScope(), manifest = candidateManifest(scope), candidateHash = candidateManifestHash(manifest);
219
219
  const row = this.ledger.db.sqlite.prepare("SELECT receipt_json FROM receipts WHERE run_id=? AND valid=1 AND candidate_hash=? ORDER BY created_at DESC LIMIT 1").get(this.ledger.runId, candidateHash);
220
220
  const previous = row ? JSON.parse(String(row.receipt_json)).evidence : undefined;
221
221
  return {
222
- candidateHash, scopeHash: scope.scopeHash, ...(previous ? { previous } : {}),
222
+ candidateHash, candidateManifest: manifest, currentManifest: () => candidateManifest(this.candidateScope()), scopeHash: scope.scopeHash, ...(previous ? { previous } : {}),
223
223
  isCurrent: () => { this.ledger.lease.assert(this.ledger.token); return this.fingerprint() === candidateHash; },
224
224
  persistCheck: (result, planHash, candidate) => {
225
225
  this.ledger.lease.assert(this.ledger.token);
@@ -231,7 +231,7 @@ export class RunPieceDependencies {
231
231
  },
232
232
  commitReceipt: receipt => {
233
233
  this.ledger.lease.assert(this.ledger.token);
234
- const result = this.fingerprint() === candidateHash ? receipt : { ...receipt, valid: false, reason: 'Candidate changed during verification' };
234
+ const result = this.fingerprint() === candidateHash ? receipt : candidateChangedReceipt(receipt, manifest, () => candidateManifest(this.candidateScope()));
235
235
  this.ledger.writePieceState(context.frame, 'evidence:receipt:' + receipt.id, json(result));
236
236
  return result;
237
237
  },
@@ -1,5 +1,5 @@
1
1
  import { type Piece } from '../contracts.js';
2
2
  import type { PieceDependencyProvider } from './ports.js';
3
3
  /** Outcomes are facts, not destinations. Only the host definition chooses the next node. */
4
- export declare const IMPLEMENTATION_STEP_OUTCOMES: readonly ["next", "incomplete", "rejected", "replan", "reverify", "rereview", "failed"];
4
+ export declare const IMPLEMENTATION_STEP_OUTCOMES: readonly ['next', 'incomplete', 'rejected', 'replan', 'reverify', 'rereview', 'failed'];
5
5
  export declare function implementationStepPiece(bindings: PieceDependencyProvider): Piece;
@@ -1,7 +1,12 @@
1
+ import { type InstallOutcome } from '../../compact/environment.js';
1
2
  import { type JsonObject, type Piece, type PieceExecutionContext, type PieceResult } from '../contracts.js';
2
3
  import type { PieceDependencies, PieceDependencyProvider } from './ports.js';
3
4
  export declare function roleTurnPiece(bindings: PieceDependencyProvider): Piece;
4
5
  /** One invocation path for configured roles, including routing and exactly one repair. */
5
6
  export declare function executeRoleTurn(deps: PieceDependencies, params: JsonObject, context: PieceExecutionContext, options?: {
6
7
  normalizeStructuredOutput?: (output: Record<string, unknown> | undefined, text: string) => Record<string, unknown> | undefined;
8
+ /** Set on the single rerun after the host repaired an environment blocker the agent reported. */
9
+ environmentRetry?: {
10
+ installs: InstallOutcome[];
11
+ };
7
12
  }): Promise<PieceResult>;