agent-bober 0.17.0 → 0.18.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.
- package/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +1 -1
- package/CHANGELOG.md +25 -0
- package/README.md +169 -6
- package/dist/chat/answerer.d.ts +17 -0
- package/dist/chat/answerer.d.ts.map +1 -0
- package/dist/chat/answerer.js +52 -0
- package/dist/chat/answerer.js.map +1 -0
- package/dist/chat/approval-cursor.d.ts +25 -0
- package/dist/chat/approval-cursor.d.ts.map +1 -0
- package/dist/chat/approval-cursor.js +61 -0
- package/dist/chat/approval-cursor.js.map +1 -0
- package/dist/chat/approval-reader.d.ts +11 -0
- package/dist/chat/approval-reader.d.ts.map +1 -0
- package/dist/chat/approval-reader.js +20 -0
- package/dist/chat/approval-reader.js.map +1 -0
- package/dist/chat/careful-sidecar.d.ts +15 -0
- package/dist/chat/careful-sidecar.d.ts.map +1 -0
- package/dist/chat/careful-sidecar.js +39 -0
- package/dist/chat/careful-sidecar.js.map +1 -0
- package/dist/chat/chat-session.d.ts +129 -0
- package/dist/chat/chat-session.d.ts.map +1 -0
- package/dist/chat/chat-session.js +470 -0
- package/dist/chat/chat-session.js.map +1 -0
- package/dist/chat/completion-tailer.d.ts +27 -0
- package/dist/chat/completion-tailer.d.ts.map +1 -0
- package/dist/chat/completion-tailer.js +187 -0
- package/dist/chat/completion-tailer.js.map +1 -0
- package/dist/chat/conversation-store.d.ts +22 -0
- package/dist/chat/conversation-store.d.ts.map +1 -0
- package/dist/chat/conversation-store.js +66 -0
- package/dist/chat/conversation-store.js.map +1 -0
- package/dist/chat/cursor-store.d.ts +23 -0
- package/dist/chat/cursor-store.d.ts.map +1 -0
- package/dist/chat/cursor-store.js +42 -0
- package/dist/chat/cursor-store.js.map +1 -0
- package/dist/chat/pid-sidecar.d.ts +22 -0
- package/dist/chat/pid-sidecar.d.ts.map +1 -0
- package/dist/chat/pid-sidecar.js +42 -0
- package/dist/chat/pid-sidecar.js.map +1 -0
- package/dist/chat/roster-reader.d.ts +16 -0
- package/dist/chat/roster-reader.d.ts.map +1 -0
- package/dist/chat/roster-reader.js +39 -0
- package/dist/chat/roster-reader.js.map +1 -0
- package/dist/chat/run-spawner.d.ts +71 -0
- package/dist/chat/run-spawner.d.ts.map +1 -0
- package/dist/chat/run-spawner.js +121 -0
- package/dist/chat/run-spawner.js.map +1 -0
- package/dist/chat/slash-commands.d.ts +36 -0
- package/dist/chat/slash-commands.d.ts.map +1 -0
- package/dist/chat/slash-commands.js +133 -0
- package/dist/chat/slash-commands.js.map +1 -0
- package/dist/chat/steer-cleanup.d.ts +12 -0
- package/dist/chat/steer-cleanup.d.ts.map +1 -0
- package/dist/chat/steer-cleanup.js +60 -0
- package/dist/chat/steer-cleanup.js.map +1 -0
- package/dist/chat/turn-classifier.d.ts +43 -0
- package/dist/chat/turn-classifier.d.ts.map +1 -0
- package/dist/chat/turn-classifier.js +150 -0
- package/dist/chat/turn-classifier.js.map +1 -0
- package/dist/cli/commands/blackboard.d.ts +33 -0
- package/dist/cli/commands/blackboard.d.ts.map +1 -0
- package/dist/cli/commands/blackboard.js +114 -0
- package/dist/cli/commands/blackboard.js.map +1 -0
- package/dist/cli/commands/chat.d.ts +13 -0
- package/dist/cli/commands/chat.d.ts.map +1 -0
- package/dist/cli/commands/chat.js +43 -0
- package/dist/cli/commands/chat.js.map +1 -0
- package/dist/cli/commands/evolve.d.ts +18 -0
- package/dist/cli/commands/evolve.d.ts.map +1 -0
- package/dist/cli/commands/evolve.js +72 -0
- package/dist/cli/commands/evolve.js.map +1 -0
- package/dist/cli/commands/facts.d.ts +15 -0
- package/dist/cli/commands/facts.d.ts.map +1 -0
- package/dist/cli/commands/facts.js +213 -0
- package/dist/cli/commands/facts.js.map +1 -0
- package/dist/cli/commands/init.d.ts +9 -0
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +1 -1
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/medical.d.ts +24 -0
- package/dist/cli/commands/medical.d.ts.map +1 -0
- package/dist/cli/commands/medical.js +132 -0
- package/dist/cli/commands/medical.js.map +1 -0
- package/dist/cli/commands/memory.d.ts +2 -1
- package/dist/cli/commands/memory.d.ts.map +1 -1
- package/dist/cli/commands/memory.js +94 -7
- package/dist/cli/commands/memory.js.map +1 -1
- package/dist/cli/commands/plan.d.ts.map +1 -1
- package/dist/cli/commands/plan.js +29 -3
- package/dist/cli/commands/plan.js.map +1 -1
- package/dist/cli/commands/replay.d.ts +17 -0
- package/dist/cli/commands/replay.d.ts.map +1 -0
- package/dist/cli/commands/replay.js +261 -0
- package/dist/cli/commands/replay.js.map +1 -0
- package/dist/cli/commands/run.d.ts +9 -0
- package/dist/cli/commands/run.d.ts.map +1 -1
- package/dist/cli/commands/run.js +27 -1
- package/dist/cli/commands/run.js.map +1 -1
- package/dist/cli/commands/sprint.d.ts.map +1 -1
- package/dist/cli/commands/sprint.js +17 -3
- package/dist/cli/commands/sprint.js.map +1 -1
- package/dist/cli/commands/update.d.ts +18 -0
- package/dist/cli/commands/update.d.ts.map +1 -0
- package/dist/cli/commands/update.js +81 -0
- package/dist/cli/commands/update.js.map +1 -0
- package/dist/cli/index.js +15 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/config/defaults.d.ts.map +1 -1
- package/dist/config/defaults.js +8 -0
- package/dist/config/defaults.js.map +1 -1
- package/dist/config/role-providers.d.ts +1 -1
- package/dist/config/role-providers.d.ts.map +1 -1
- package/dist/config/role-providers.js +6 -1
- package/dist/config/role-providers.js.map +1 -1
- package/dist/config/schema.d.ts +467 -222
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +25 -0
- package/dist/config/schema.js.map +1 -1
- package/dist/contracts/eval-result.d.ts +84 -84
- package/dist/contracts/spec.d.ts +28 -28
- package/dist/contracts/sprint-contract.d.ts +4 -4
- package/dist/fleet/critic-deep.d.ts +53 -0
- package/dist/fleet/critic-deep.d.ts.map +1 -0
- package/dist/fleet/critic-deep.js +199 -0
- package/dist/fleet/critic-deep.js.map +1 -0
- package/dist/fleet/decomposer-deep-constants.d.ts +4 -0
- package/dist/fleet/decomposer-deep-constants.d.ts.map +1 -0
- package/dist/fleet/decomposer-deep-constants.js +14 -0
- package/dist/fleet/decomposer-deep-constants.js.map +1 -0
- package/dist/fleet/decomposer-deep-types.d.ts +8 -0
- package/dist/fleet/decomposer-deep-types.d.ts.map +1 -0
- package/dist/fleet/decomposer-deep-types.js +9 -0
- package/dist/fleet/decomposer-deep-types.js.map +1 -0
- package/dist/fleet/decomposer-deep.d.ts +51 -0
- package/dist/fleet/decomposer-deep.d.ts.map +1 -0
- package/dist/fleet/decomposer-deep.js +261 -0
- package/dist/fleet/decomposer-deep.js.map +1 -0
- package/dist/fleet/decomposer.d.ts +22 -0
- package/dist/fleet/decomposer.d.ts.map +1 -0
- package/dist/fleet/decomposer.js +144 -0
- package/dist/fleet/decomposer.js.map +1 -0
- package/dist/fleet/index.d.ts +93 -0
- package/dist/fleet/index.d.ts.map +1 -1
- package/dist/fleet/index.js +230 -2
- package/dist/fleet/index.js.map +1 -1
- package/dist/fleet/manifest-write.d.ts +30 -0
- package/dist/fleet/manifest-write.d.ts.map +1 -0
- package/dist/fleet/manifest-write.js +90 -0
- package/dist/fleet/manifest-write.js.map +1 -0
- package/dist/fleet/manifest.d.ts +6 -6
- package/dist/fleet/shared-blackboard.d.ts +51 -0
- package/dist/fleet/shared-blackboard.d.ts.map +1 -0
- package/dist/fleet/shared-blackboard.js +79 -0
- package/dist/fleet/shared-blackboard.js.map +1 -0
- package/dist/fleet/synthesis.d.ts +16 -0
- package/dist/fleet/synthesis.d.ts.map +1 -0
- package/dist/fleet/synthesis.js +22 -0
- package/dist/fleet/synthesis.js.map +1 -0
- package/dist/fleet/tier-policy.d.ts +18 -0
- package/dist/fleet/tier-policy.d.ts.map +1 -0
- package/dist/fleet/tier-policy.js +53 -0
- package/dist/fleet/tier-policy.js.map +1 -0
- package/dist/fleet/tool-role-guard.d.ts +24 -0
- package/dist/fleet/tool-role-guard.d.ts.map +1 -0
- package/dist/fleet/tool-role-guard.js +55 -0
- package/dist/fleet/tool-role-guard.js.map +1 -0
- package/dist/incident/resolution-verify.d.ts +4 -4
- package/dist/incident/types.d.ts +8 -8
- package/dist/mcp/run-manager.d.ts +9 -1
- package/dist/mcp/run-manager.d.ts.map +1 -1
- package/dist/mcp/run-manager.js.map +1 -1
- package/dist/medical/adapters/apple-health.d.ts +32 -0
- package/dist/medical/adapters/apple-health.d.ts.map +1 -0
- package/dist/medical/adapters/apple-health.js +100 -0
- package/dist/medical/adapters/apple-health.js.map +1 -0
- package/dist/medical/audit.d.ts +31 -0
- package/dist/medical/audit.d.ts.map +1 -0
- package/dist/medical/audit.js +56 -0
- package/dist/medical/audit.js.map +1 -0
- package/dist/medical/consent.d.ts +37 -0
- package/dist/medical/consent.d.ts.map +1 -0
- package/dist/medical/consent.js +73 -0
- package/dist/medical/consent.js.map +1 -0
- package/dist/medical/disclaimer.d.ts +11 -0
- package/dist/medical/disclaimer.d.ts.map +1 -0
- package/dist/medical/disclaimer.js +21 -0
- package/dist/medical/disclaimer.js.map +1 -0
- package/dist/medical/egress.d.ts +30 -0
- package/dist/medical/egress.d.ts.map +1 -0
- package/dist/medical/egress.js +50 -0
- package/dist/medical/egress.js.map +1 -0
- package/dist/medical/engine.d.ts +73 -0
- package/dist/medical/engine.d.ts.map +1 -0
- package/dist/medical/engine.js +333 -0
- package/dist/medical/engine.js.map +1 -0
- package/dist/medical/guardrails.d.ts +47 -0
- package/dist/medical/guardrails.d.ts.map +1 -0
- package/dist/medical/guardrails.js +92 -0
- package/dist/medical/guardrails.js.map +1 -0
- package/dist/medical/health-store.d.ts +80 -0
- package/dist/medical/health-store.d.ts.map +1 -0
- package/dist/medical/health-store.js +204 -0
- package/dist/medical/health-store.js.map +1 -0
- package/dist/medical/inference.d.ts +22 -0
- package/dist/medical/inference.d.ts.map +1 -0
- package/dist/medical/inference.js +39 -0
- package/dist/medical/inference.js.map +1 -0
- package/dist/medical/ingestion.d.ts +33 -0
- package/dist/medical/ingestion.d.ts.map +1 -0
- package/dist/medical/ingestion.js +52 -0
- package/dist/medical/ingestion.js.map +1 -0
- package/dist/medical/numerics.d.ts +66 -0
- package/dist/medical/numerics.d.ts.map +1 -0
- package/dist/medical/numerics.js +216 -0
- package/dist/medical/numerics.js.map +1 -0
- package/dist/medical/red-flag.d.ts +42 -0
- package/dist/medical/red-flag.d.ts.map +1 -0
- package/dist/medical/red-flag.js +161 -0
- package/dist/medical/red-flag.js.map +1 -0
- package/dist/medical/refusal.d.ts +46 -0
- package/dist/medical/refusal.d.ts.map +1 -0
- package/dist/medical/refusal.js +131 -0
- package/dist/medical/refusal.js.map +1 -0
- package/dist/medical/retrieval/grounding-critic.d.ts +34 -0
- package/dist/medical/retrieval/grounding-critic.d.ts.map +1 -0
- package/dist/medical/retrieval/grounding-critic.js +153 -0
- package/dist/medical/retrieval/grounding-critic.js.map +1 -0
- package/dist/medical/retrieval/literature.d.ts +78 -0
- package/dist/medical/retrieval/literature.d.ts.map +1 -0
- package/dist/medical/retrieval/literature.js +292 -0
- package/dist/medical/retrieval/literature.js.map +1 -0
- package/dist/medical/retrieval/medline-source.d.ts +72 -0
- package/dist/medical/retrieval/medline-source.d.ts.map +1 -0
- package/dist/medical/retrieval/medline-source.js +120 -0
- package/dist/medical/retrieval/medline-source.js.map +1 -0
- package/dist/medical/team.d.ts +15 -0
- package/dist/medical/team.d.ts.map +1 -0
- package/dist/medical/team.js +44 -0
- package/dist/medical/team.js.map +1 -0
- package/dist/medical/types.d.ts +175 -0
- package/dist/medical/types.d.ts.map +1 -0
- package/dist/medical/types.js +8 -0
- package/dist/medical/types.js.map +1 -0
- package/dist/medical/whoop/whoop-client.d.ts +114 -0
- package/dist/medical/whoop/whoop-client.d.ts.map +1 -0
- package/dist/medical/whoop/whoop-client.js +226 -0
- package/dist/medical/whoop/whoop-client.js.map +1 -0
- package/dist/medical/whoop/whoop-sync.d.ts +25 -0
- package/dist/medical/whoop/whoop-sync.d.ts.map +1 -0
- package/dist/medical/whoop/whoop-sync.js +97 -0
- package/dist/medical/whoop/whoop-sync.js.map +1 -0
- package/dist/medical/whoop/whoop-token.d.ts +44 -0
- package/dist/medical/whoop/whoop-token.d.ts.map +1 -0
- package/dist/medical/whoop/whoop-token.js +66 -0
- package/dist/medical/whoop/whoop-token.js.map +1 -0
- package/dist/orchestrator/context-handoff.d.ts +60 -60
- package/dist/orchestrator/contract-materialization.d.ts +33 -0
- package/dist/orchestrator/contract-materialization.d.ts.map +1 -0
- package/dist/orchestrator/contract-materialization.js +113 -0
- package/dist/orchestrator/contract-materialization.js.map +1 -0
- package/dist/orchestrator/memory/distill.d.ts +4 -1
- package/dist/orchestrator/memory/distill.d.ts.map +1 -1
- package/dist/orchestrator/memory/distill.js +41 -1
- package/dist/orchestrator/memory/distill.js.map +1 -1
- package/dist/orchestrator/memory/fact-detector.d.ts +61 -0
- package/dist/orchestrator/memory/fact-detector.d.ts.map +1 -0
- package/dist/orchestrator/memory/fact-detector.js +153 -0
- package/dist/orchestrator/memory/fact-detector.js.map +1 -0
- package/dist/orchestrator/memory/fact-judge.d.ts +19 -0
- package/dist/orchestrator/memory/fact-judge.d.ts.map +1 -0
- package/dist/orchestrator/memory/fact-judge.js +121 -0
- package/dist/orchestrator/memory/fact-judge.js.map +1 -0
- package/dist/orchestrator/memory/fact-retrieve.d.ts +52 -0
- package/dist/orchestrator/memory/fact-retrieve.d.ts.map +1 -0
- package/dist/orchestrator/memory/fact-retrieve.js +117 -0
- package/dist/orchestrator/memory/fact-retrieve.js.map +1 -0
- package/dist/orchestrator/memory/hygiene.d.ts +66 -0
- package/dist/orchestrator/memory/hygiene.d.ts.map +1 -0
- package/dist/orchestrator/memory/hygiene.js +153 -0
- package/dist/orchestrator/memory/hygiene.js.map +1 -0
- package/dist/orchestrator/memory/reconcile.d.ts +47 -0
- package/dist/orchestrator/memory/reconcile.d.ts.map +1 -0
- package/dist/orchestrator/memory/reconcile.js +116 -0
- package/dist/orchestrator/memory/reconcile.js.map +1 -0
- package/dist/orchestrator/memory/retrieve.d.ts +5 -3
- package/dist/orchestrator/memory/retrieve.d.ts.map +1 -1
- package/dist/orchestrator/memory/retrieve.js +9 -6
- package/dist/orchestrator/memory/retrieve.js.map +1 -1
- package/dist/orchestrator/pipeline.d.ts +19 -3
- package/dist/orchestrator/pipeline.d.ts.map +1 -1
- package/dist/orchestrator/pipeline.js +63 -52
- package/dist/orchestrator/pipeline.js.map +1 -1
- package/dist/orchestrator/planner-agent.d.ts.map +1 -1
- package/dist/orchestrator/planner-agent.js +16 -1
- package/dist/orchestrator/planner-agent.js.map +1 -1
- package/dist/orchestrator/selfimprove/eval-guards.d.ts +51 -0
- package/dist/orchestrator/selfimprove/eval-guards.d.ts.map +1 -0
- package/dist/orchestrator/selfimprove/eval-guards.js +120 -0
- package/dist/orchestrator/selfimprove/eval-guards.js.map +1 -0
- package/dist/orchestrator/selfimprove/gepa.d.ts +74 -0
- package/dist/orchestrator/selfimprove/gepa.d.ts.map +1 -0
- package/dist/orchestrator/selfimprove/gepa.js +227 -0
- package/dist/orchestrator/selfimprove/gepa.js.map +1 -0
- package/dist/orchestrator/selfimprove/replay-harness.d.ts +65 -0
- package/dist/orchestrator/selfimprove/replay-harness.d.ts.map +1 -0
- package/dist/orchestrator/selfimprove/replay-harness.js +134 -0
- package/dist/orchestrator/selfimprove/replay-harness.js.map +1 -0
- package/dist/orchestrator/selfimprove/replay-store.d.ts +45 -0
- package/dist/orchestrator/selfimprove/replay-store.d.ts.map +1 -0
- package/dist/orchestrator/selfimprove/replay-store.js +119 -0
- package/dist/orchestrator/selfimprove/replay-store.js.map +1 -0
- package/dist/orchestrator/selfimprove/replay-types.d.ts +32 -0
- package/dist/orchestrator/selfimprove/replay-types.d.ts.map +1 -0
- package/dist/orchestrator/selfimprove/replay-types.js +15 -0
- package/dist/orchestrator/selfimprove/replay-types.js.map +1 -0
- package/dist/orchestrator/workflow/engine.d.ts +3 -1
- package/dist/orchestrator/workflow/engine.d.ts.map +1 -1
- package/dist/orchestrator/workflow/selector.d.ts +18 -0
- package/dist/orchestrator/workflow/selector.d.ts.map +1 -1
- package/dist/orchestrator/workflow/selector.js +41 -0
- package/dist/orchestrator/workflow/selector.js.map +1 -1
- package/dist/orchestrator/workflow/ts-engine.d.ts +3 -1
- package/dist/orchestrator/workflow/ts-engine.d.ts.map +1 -1
- package/dist/orchestrator/workflow/ts-engine.js +2 -2
- package/dist/orchestrator/workflow/ts-engine.js.map +1 -1
- package/dist/orchestrator/workflow/workflow-engine.d.ts +3 -1
- package/dist/orchestrator/workflow/workflow-engine.d.ts.map +1 -1
- package/dist/orchestrator/workflow/workflow-engine.js +3 -3
- package/dist/orchestrator/workflow/workflow-engine.js.map +1 -1
- package/dist/state/facts.d.ts +110 -0
- package/dist/state/facts.d.ts.map +1 -0
- package/dist/state/facts.js +208 -0
- package/dist/state/facts.js.map +1 -0
- package/dist/state/guidance.d.ts +37 -0
- package/dist/state/guidance.d.ts.map +1 -0
- package/dist/state/guidance.js +144 -0
- package/dist/state/guidance.js.map +1 -0
- package/dist/state/history.d.ts +2 -2
- package/dist/state/index.d.ts +1 -1
- package/dist/state/index.d.ts.map +1 -1
- package/dist/state/index.js +1 -1
- package/dist/state/index.js.map +1 -1
- package/dist/state/memory.d.ts +43 -11
- package/dist/state/memory.d.ts.map +1 -1
- package/dist/state/memory.js +93 -15
- package/dist/state/memory.js.map +1 -1
- package/dist/state/pause.d.ts +47 -0
- package/dist/state/pause.d.ts.map +1 -0
- package/dist/state/pause.js +146 -0
- package/dist/state/pause.js.map +1 -0
- package/dist/state/sprint-state.d.ts +8 -0
- package/dist/state/sprint-state.d.ts.map +1 -1
- package/dist/state/sprint-state.js +32 -1
- package/dist/state/sprint-state.js.map +1 -1
- package/dist/teams/registry.d.ts +16 -0
- package/dist/teams/registry.d.ts.map +1 -0
- package/dist/teams/registry.js +53 -0
- package/dist/teams/registry.js.map +1 -0
- package/dist/teams/types.d.ts +25 -0
- package/dist/teams/types.d.ts.map +1 -0
- package/dist/teams/types.js +2 -0
- package/dist/teams/types.js.map +1 -0
- package/package.json +3 -1
|
@@ -9,13 +9,13 @@ export declare const DecisionSchema: z.ZodObject<{
|
|
|
9
9
|
rationale: z.ZodString;
|
|
10
10
|
madeBy: z.ZodEnum<["planner", "generator", "evaluator", "human"]>;
|
|
11
11
|
}, "strip", z.ZodTypeAny, {
|
|
12
|
-
description: string;
|
|
13
12
|
timestamp: string;
|
|
13
|
+
description: string;
|
|
14
14
|
rationale: string;
|
|
15
15
|
madeBy: "planner" | "generator" | "evaluator" | "human";
|
|
16
16
|
}, {
|
|
17
|
-
description: string;
|
|
18
17
|
timestamp: string;
|
|
18
|
+
description: string;
|
|
19
19
|
rationale: string;
|
|
20
20
|
madeBy: "planner" | "generator" | "evaluator" | "human";
|
|
21
21
|
}>;
|
|
@@ -27,14 +27,14 @@ export declare const ProjectContextSchema: z.ZodObject<{
|
|
|
27
27
|
entryPoints: z.ZodArray<z.ZodString, "many">;
|
|
28
28
|
currentBranch: z.ZodString;
|
|
29
29
|
}, "strip", z.ZodTypeAny, {
|
|
30
|
-
name: string;
|
|
31
30
|
type: string;
|
|
31
|
+
name: string;
|
|
32
32
|
techStack: string[];
|
|
33
33
|
entryPoints: string[];
|
|
34
34
|
currentBranch: string;
|
|
35
35
|
}, {
|
|
36
|
-
name: string;
|
|
37
36
|
type: string;
|
|
37
|
+
name: string;
|
|
38
38
|
techStack: string[];
|
|
39
39
|
entryPoints: string[];
|
|
40
40
|
currentBranch: string;
|
|
@@ -51,14 +51,14 @@ export declare const ContextHandoffSchema: z.ZodObject<{
|
|
|
51
51
|
entryPoints: z.ZodArray<z.ZodString, "many">;
|
|
52
52
|
currentBranch: z.ZodString;
|
|
53
53
|
}, "strip", z.ZodTypeAny, {
|
|
54
|
-
name: string;
|
|
55
54
|
type: string;
|
|
55
|
+
name: string;
|
|
56
56
|
techStack: string[];
|
|
57
57
|
entryPoints: string[];
|
|
58
58
|
currentBranch: string;
|
|
59
59
|
}, {
|
|
60
|
-
name: string;
|
|
61
60
|
type: string;
|
|
61
|
+
name: string;
|
|
62
62
|
techStack: string[];
|
|
63
63
|
entryPoints: string[];
|
|
64
64
|
currentBranch: string;
|
|
@@ -86,7 +86,7 @@ export declare const ContextHandoffSchema: z.ZodObject<{
|
|
|
86
86
|
priority: "must-have" | "should-have" | "nice-to-have";
|
|
87
87
|
acceptanceCriteria: string[];
|
|
88
88
|
dependencies: string[];
|
|
89
|
-
estimatedComplexity?: "
|
|
89
|
+
estimatedComplexity?: "high" | "medium" | "low" | undefined;
|
|
90
90
|
estimatedSprints?: number | undefined;
|
|
91
91
|
}, {
|
|
92
92
|
description: string;
|
|
@@ -95,7 +95,7 @@ export declare const ContextHandoffSchema: z.ZodObject<{
|
|
|
95
95
|
priority: "must-have" | "should-have" | "nice-to-have";
|
|
96
96
|
acceptanceCriteria: string[];
|
|
97
97
|
dependencies?: string[] | undefined;
|
|
98
|
-
estimatedComplexity?: "
|
|
98
|
+
estimatedComplexity?: "high" | "medium" | "low" | undefined;
|
|
99
99
|
estimatedSprints?: number | undefined;
|
|
100
100
|
}>, "many">;
|
|
101
101
|
assumptions: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
@@ -118,8 +118,8 @@ export declare const ContextHandoffSchema: z.ZodObject<{
|
|
|
118
118
|
recommendation: z.ZodOptional<z.ZodString>;
|
|
119
119
|
ambiguityWeight: z.ZodOptional<z.ZodNumber>;
|
|
120
120
|
}, "strip", z.ZodTypeAny, {
|
|
121
|
-
questionId: string;
|
|
122
121
|
category: "other" | "scope" | "user-personas" | "data-model" | "tech-constraints" | "design-ux" | "integrations" | "non-functional" | "error-handling" | "integration-risk" | "pattern-conflict" | "regression-risk";
|
|
122
|
+
questionId: string;
|
|
123
123
|
question: string;
|
|
124
124
|
options?: {
|
|
125
125
|
description: string;
|
|
@@ -128,8 +128,8 @@ export declare const ContextHandoffSchema: z.ZodObject<{
|
|
|
128
128
|
recommendation?: string | undefined;
|
|
129
129
|
ambiguityWeight?: number | undefined;
|
|
130
130
|
}, {
|
|
131
|
-
questionId: string;
|
|
132
131
|
category: "other" | "scope" | "user-personas" | "data-model" | "tech-constraints" | "design-ux" | "integrations" | "non-functional" | "error-handling" | "integration-risk" | "pattern-conflict" | "regression-risk";
|
|
132
|
+
questionId: string;
|
|
133
133
|
question: string;
|
|
134
134
|
options?: {
|
|
135
135
|
description: string;
|
|
@@ -144,15 +144,15 @@ export declare const ContextHandoffSchema: z.ZodObject<{
|
|
|
144
144
|
resolvedAt: z.ZodString;
|
|
145
145
|
resolvedBy: z.ZodDefault<z.ZodEnum<["user", "planner"]>>;
|
|
146
146
|
}, "strip", z.ZodTypeAny, {
|
|
147
|
-
questionId: string;
|
|
148
147
|
answer: string;
|
|
148
|
+
questionId: string;
|
|
149
149
|
resolvedAt: string;
|
|
150
|
-
resolvedBy: "
|
|
150
|
+
resolvedBy: "user" | "planner";
|
|
151
151
|
}, {
|
|
152
|
-
questionId: string;
|
|
153
152
|
answer: string;
|
|
153
|
+
questionId: string;
|
|
154
154
|
resolvedAt: string;
|
|
155
|
-
resolvedBy?: "
|
|
155
|
+
resolvedBy?: "user" | "planner" | undefined;
|
|
156
156
|
}>, "many">>;
|
|
157
157
|
techStack: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
158
158
|
techNotes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
@@ -164,8 +164,9 @@ export declare const ContextHandoffSchema: z.ZodObject<{
|
|
|
164
164
|
updatedAt: z.ZodString;
|
|
165
165
|
completedAt: z.ZodOptional<z.ZodString>;
|
|
166
166
|
}, "strip", z.ZodTypeAny, {
|
|
167
|
+
createdAt: string;
|
|
168
|
+
status: "completed" | "draft" | "needs-clarification" | "ready" | "in-progress" | "abandoned";
|
|
167
169
|
mode: "greenfield" | "brownfield";
|
|
168
|
-
status: "draft" | "needs-clarification" | "ready" | "in-progress" | "completed" | "abandoned";
|
|
169
170
|
description: string;
|
|
170
171
|
specId: string;
|
|
171
172
|
version: number;
|
|
@@ -177,14 +178,14 @@ export declare const ContextHandoffSchema: z.ZodObject<{
|
|
|
177
178
|
priority: "must-have" | "should-have" | "nice-to-have";
|
|
178
179
|
acceptanceCriteria: string[];
|
|
179
180
|
dependencies: string[];
|
|
180
|
-
estimatedComplexity?: "
|
|
181
|
+
estimatedComplexity?: "high" | "medium" | "low" | undefined;
|
|
181
182
|
estimatedSprints?: number | undefined;
|
|
182
183
|
}[];
|
|
183
184
|
assumptions: string[];
|
|
184
185
|
outOfScope: string[];
|
|
185
186
|
clarificationQuestions: {
|
|
186
|
-
questionId: string;
|
|
187
187
|
category: "other" | "scope" | "user-personas" | "data-model" | "tech-constraints" | "design-ux" | "integrations" | "non-functional" | "error-handling" | "integration-risk" | "pattern-conflict" | "regression-risk";
|
|
188
|
+
questionId: string;
|
|
188
189
|
question: string;
|
|
189
190
|
options?: {
|
|
190
191
|
description: string;
|
|
@@ -194,15 +195,14 @@ export declare const ContextHandoffSchema: z.ZodObject<{
|
|
|
194
195
|
ambiguityWeight?: number | undefined;
|
|
195
196
|
}[];
|
|
196
197
|
resolvedClarifications: {
|
|
197
|
-
questionId: string;
|
|
198
198
|
answer: string;
|
|
199
|
+
questionId: string;
|
|
199
200
|
resolvedAt: string;
|
|
200
|
-
resolvedBy: "
|
|
201
|
+
resolvedBy: "user" | "planner";
|
|
201
202
|
}[];
|
|
202
203
|
techStack: string[];
|
|
203
204
|
nonFunctionalRequirements: unknown[];
|
|
204
205
|
constraints: string[];
|
|
205
|
-
createdAt: string;
|
|
206
206
|
updatedAt: string;
|
|
207
207
|
ambiguityScore?: number | undefined;
|
|
208
208
|
techNotes?: Record<string, unknown> | undefined;
|
|
@@ -210,8 +210,9 @@ export declare const ContextHandoffSchema: z.ZodObject<{
|
|
|
210
210
|
metadata?: Record<string, unknown> | undefined;
|
|
211
211
|
completedAt?: string | undefined;
|
|
212
212
|
}, {
|
|
213
|
+
createdAt: string;
|
|
214
|
+
status: "completed" | "draft" | "needs-clarification" | "ready" | "in-progress" | "abandoned";
|
|
213
215
|
mode: "greenfield" | "brownfield";
|
|
214
|
-
status: "draft" | "needs-clarification" | "ready" | "in-progress" | "completed" | "abandoned";
|
|
215
216
|
description: string;
|
|
216
217
|
specId: string;
|
|
217
218
|
title: string;
|
|
@@ -222,18 +223,17 @@ export declare const ContextHandoffSchema: z.ZodObject<{
|
|
|
222
223
|
priority: "must-have" | "should-have" | "nice-to-have";
|
|
223
224
|
acceptanceCriteria: string[];
|
|
224
225
|
dependencies?: string[] | undefined;
|
|
225
|
-
estimatedComplexity?: "
|
|
226
|
+
estimatedComplexity?: "high" | "medium" | "low" | undefined;
|
|
226
227
|
estimatedSprints?: number | undefined;
|
|
227
228
|
}[];
|
|
228
|
-
createdAt: string;
|
|
229
229
|
updatedAt: string;
|
|
230
230
|
version?: number | undefined;
|
|
231
231
|
assumptions?: string[] | undefined;
|
|
232
232
|
outOfScope?: string[] | undefined;
|
|
233
233
|
ambiguityScore?: number | undefined;
|
|
234
234
|
clarificationQuestions?: {
|
|
235
|
-
questionId: string;
|
|
236
235
|
category: "other" | "scope" | "user-personas" | "data-model" | "tech-constraints" | "design-ux" | "integrations" | "non-functional" | "error-handling" | "integration-risk" | "pattern-conflict" | "regression-risk";
|
|
236
|
+
questionId: string;
|
|
237
237
|
question: string;
|
|
238
238
|
options?: {
|
|
239
239
|
description: string;
|
|
@@ -243,10 +243,10 @@ export declare const ContextHandoffSchema: z.ZodObject<{
|
|
|
243
243
|
ambiguityWeight?: number | undefined;
|
|
244
244
|
}[] | undefined;
|
|
245
245
|
resolvedClarifications?: {
|
|
246
|
-
questionId: string;
|
|
247
246
|
answer: string;
|
|
247
|
+
questionId: string;
|
|
248
248
|
resolvedAt: string;
|
|
249
|
-
resolvedBy?: "
|
|
249
|
+
resolvedBy?: "user" | "planner" | undefined;
|
|
250
250
|
}[] | undefined;
|
|
251
251
|
techStack?: string[] | undefined;
|
|
252
252
|
techNotes?: Record<string, unknown> | undefined;
|
|
@@ -300,7 +300,7 @@ export declare const ContextHandoffSchema: z.ZodObject<{
|
|
|
300
300
|
startedAt: z.ZodOptional<z.ZodString>;
|
|
301
301
|
completedAt: z.ZodOptional<z.ZodString>;
|
|
302
302
|
}, "strip", z.ZodTypeAny, {
|
|
303
|
-
status: "
|
|
303
|
+
status: "failed" | "completed" | "evaluating" | "in-progress" | "proposed" | "negotiating" | "agreed" | "passed" | "needs-rework";
|
|
304
304
|
description: string;
|
|
305
305
|
specId: string;
|
|
306
306
|
title: string;
|
|
@@ -321,8 +321,8 @@ export declare const ContextHandoffSchema: z.ZodObject<{
|
|
|
321
321
|
definitionOfDone: string;
|
|
322
322
|
estimatedFiles: string[];
|
|
323
323
|
iterationHistory: unknown[];
|
|
324
|
-
ambiguityScore?: number | undefined;
|
|
325
324
|
createdAt?: string | undefined;
|
|
325
|
+
ambiguityScore?: number | undefined;
|
|
326
326
|
updatedAt?: string | undefined;
|
|
327
327
|
completedAt?: string | undefined;
|
|
328
328
|
generatorNotes?: string | undefined;
|
|
@@ -333,7 +333,7 @@ export declare const ContextHandoffSchema: z.ZodObject<{
|
|
|
333
333
|
evalResults?: unknown[] | undefined;
|
|
334
334
|
startedAt?: string | undefined;
|
|
335
335
|
}, {
|
|
336
|
-
status: "
|
|
336
|
+
status: "failed" | "completed" | "evaluating" | "in-progress" | "proposed" | "negotiating" | "agreed" | "passed" | "needs-rework";
|
|
337
337
|
description: string;
|
|
338
338
|
specId: string;
|
|
339
339
|
title: string;
|
|
@@ -348,11 +348,11 @@ export declare const ContextHandoffSchema: z.ZodObject<{
|
|
|
348
348
|
nonGoals: string[];
|
|
349
349
|
stopConditions: string[];
|
|
350
350
|
definitionOfDone: string;
|
|
351
|
+
createdAt?: string | undefined;
|
|
351
352
|
features?: string[] | undefined;
|
|
352
353
|
assumptions?: string[] | undefined;
|
|
353
354
|
outOfScope?: string[] | undefined;
|
|
354
355
|
ambiguityScore?: number | undefined;
|
|
355
|
-
createdAt?: string | undefined;
|
|
356
356
|
updatedAt?: string | undefined;
|
|
357
357
|
completedAt?: string | undefined;
|
|
358
358
|
dependsOn?: string[] | undefined;
|
|
@@ -410,7 +410,7 @@ export declare const ContextHandoffSchema: z.ZodObject<{
|
|
|
410
410
|
startedAt: z.ZodOptional<z.ZodString>;
|
|
411
411
|
completedAt: z.ZodOptional<z.ZodString>;
|
|
412
412
|
}, "strip", z.ZodTypeAny, {
|
|
413
|
-
status: "
|
|
413
|
+
status: "failed" | "completed" | "evaluating" | "in-progress" | "proposed" | "negotiating" | "agreed" | "passed" | "needs-rework";
|
|
414
414
|
description: string;
|
|
415
415
|
specId: string;
|
|
416
416
|
title: string;
|
|
@@ -431,8 +431,8 @@ export declare const ContextHandoffSchema: z.ZodObject<{
|
|
|
431
431
|
definitionOfDone: string;
|
|
432
432
|
estimatedFiles: string[];
|
|
433
433
|
iterationHistory: unknown[];
|
|
434
|
-
ambiguityScore?: number | undefined;
|
|
435
434
|
createdAt?: string | undefined;
|
|
435
|
+
ambiguityScore?: number | undefined;
|
|
436
436
|
updatedAt?: string | undefined;
|
|
437
437
|
completedAt?: string | undefined;
|
|
438
438
|
generatorNotes?: string | undefined;
|
|
@@ -443,7 +443,7 @@ export declare const ContextHandoffSchema: z.ZodObject<{
|
|
|
443
443
|
evalResults?: unknown[] | undefined;
|
|
444
444
|
startedAt?: string | undefined;
|
|
445
445
|
}, {
|
|
446
|
-
status: "
|
|
446
|
+
status: "failed" | "completed" | "evaluating" | "in-progress" | "proposed" | "negotiating" | "agreed" | "passed" | "needs-rework";
|
|
447
447
|
description: string;
|
|
448
448
|
specId: string;
|
|
449
449
|
title: string;
|
|
@@ -458,11 +458,11 @@ export declare const ContextHandoffSchema: z.ZodObject<{
|
|
|
458
458
|
nonGoals: string[];
|
|
459
459
|
stopConditions: string[];
|
|
460
460
|
definitionOfDone: string;
|
|
461
|
+
createdAt?: string | undefined;
|
|
461
462
|
features?: string[] | undefined;
|
|
462
463
|
assumptions?: string[] | undefined;
|
|
463
464
|
outOfScope?: string[] | undefined;
|
|
464
465
|
ambiguityScore?: number | undefined;
|
|
465
|
-
createdAt?: string | undefined;
|
|
466
466
|
updatedAt?: string | undefined;
|
|
467
467
|
completedAt?: string | undefined;
|
|
468
468
|
dependsOn?: string[] | undefined;
|
|
@@ -484,13 +484,13 @@ export declare const ContextHandoffSchema: z.ZodObject<{
|
|
|
484
484
|
rationale: z.ZodString;
|
|
485
485
|
madeBy: z.ZodEnum<["planner", "generator", "evaluator", "human"]>;
|
|
486
486
|
}, "strip", z.ZodTypeAny, {
|
|
487
|
-
description: string;
|
|
488
487
|
timestamp: string;
|
|
488
|
+
description: string;
|
|
489
489
|
rationale: string;
|
|
490
490
|
madeBy: "planner" | "generator" | "evaluator" | "human";
|
|
491
491
|
}, {
|
|
492
|
-
description: string;
|
|
493
492
|
timestamp: string;
|
|
493
|
+
description: string;
|
|
494
494
|
rationale: string;
|
|
495
495
|
madeBy: "planner" | "generator" | "evaluator" | "human";
|
|
496
496
|
}>, "many">;
|
|
@@ -501,15 +501,16 @@ export declare const ContextHandoffSchema: z.ZodObject<{
|
|
|
501
501
|
from: "planner" | "generator" | "evaluator" | "human";
|
|
502
502
|
to: "planner" | "generator" | "evaluator" | "human";
|
|
503
503
|
projectContext: {
|
|
504
|
-
name: string;
|
|
505
504
|
type: string;
|
|
505
|
+
name: string;
|
|
506
506
|
techStack: string[];
|
|
507
507
|
entryPoints: string[];
|
|
508
508
|
currentBranch: string;
|
|
509
509
|
};
|
|
510
510
|
spec: {
|
|
511
|
+
createdAt: string;
|
|
512
|
+
status: "completed" | "draft" | "needs-clarification" | "ready" | "in-progress" | "abandoned";
|
|
511
513
|
mode: "greenfield" | "brownfield";
|
|
512
|
-
status: "draft" | "needs-clarification" | "ready" | "in-progress" | "completed" | "abandoned";
|
|
513
514
|
description: string;
|
|
514
515
|
specId: string;
|
|
515
516
|
version: number;
|
|
@@ -521,14 +522,14 @@ export declare const ContextHandoffSchema: z.ZodObject<{
|
|
|
521
522
|
priority: "must-have" | "should-have" | "nice-to-have";
|
|
522
523
|
acceptanceCriteria: string[];
|
|
523
524
|
dependencies: string[];
|
|
524
|
-
estimatedComplexity?: "
|
|
525
|
+
estimatedComplexity?: "high" | "medium" | "low" | undefined;
|
|
525
526
|
estimatedSprints?: number | undefined;
|
|
526
527
|
}[];
|
|
527
528
|
assumptions: string[];
|
|
528
529
|
outOfScope: string[];
|
|
529
530
|
clarificationQuestions: {
|
|
530
|
-
questionId: string;
|
|
531
531
|
category: "other" | "scope" | "user-personas" | "data-model" | "tech-constraints" | "design-ux" | "integrations" | "non-functional" | "error-handling" | "integration-risk" | "pattern-conflict" | "regression-risk";
|
|
532
|
+
questionId: string;
|
|
532
533
|
question: string;
|
|
533
534
|
options?: {
|
|
534
535
|
description: string;
|
|
@@ -538,15 +539,14 @@ export declare const ContextHandoffSchema: z.ZodObject<{
|
|
|
538
539
|
ambiguityWeight?: number | undefined;
|
|
539
540
|
}[];
|
|
540
541
|
resolvedClarifications: {
|
|
541
|
-
questionId: string;
|
|
542
542
|
answer: string;
|
|
543
|
+
questionId: string;
|
|
543
544
|
resolvedAt: string;
|
|
544
|
-
resolvedBy: "
|
|
545
|
+
resolvedBy: "user" | "planner";
|
|
545
546
|
}[];
|
|
546
547
|
techStack: string[];
|
|
547
548
|
nonFunctionalRequirements: unknown[];
|
|
548
549
|
constraints: string[];
|
|
549
|
-
createdAt: string;
|
|
550
550
|
updatedAt: string;
|
|
551
551
|
ambiguityScore?: number | undefined;
|
|
552
552
|
techNotes?: Record<string, unknown> | undefined;
|
|
@@ -555,7 +555,7 @@ export declare const ContextHandoffSchema: z.ZodObject<{
|
|
|
555
555
|
completedAt?: string | undefined;
|
|
556
556
|
};
|
|
557
557
|
sprintHistory: {
|
|
558
|
-
status: "
|
|
558
|
+
status: "failed" | "completed" | "evaluating" | "in-progress" | "proposed" | "negotiating" | "agreed" | "passed" | "needs-rework";
|
|
559
559
|
description: string;
|
|
560
560
|
specId: string;
|
|
561
561
|
title: string;
|
|
@@ -576,8 +576,8 @@ export declare const ContextHandoffSchema: z.ZodObject<{
|
|
|
576
576
|
definitionOfDone: string;
|
|
577
577
|
estimatedFiles: string[];
|
|
578
578
|
iterationHistory: unknown[];
|
|
579
|
-
ambiguityScore?: number | undefined;
|
|
580
579
|
createdAt?: string | undefined;
|
|
580
|
+
ambiguityScore?: number | undefined;
|
|
581
581
|
updatedAt?: string | undefined;
|
|
582
582
|
completedAt?: string | undefined;
|
|
583
583
|
generatorNotes?: string | undefined;
|
|
@@ -591,13 +591,13 @@ export declare const ContextHandoffSchema: z.ZodObject<{
|
|
|
591
591
|
instructions: string;
|
|
592
592
|
changedFiles: string[];
|
|
593
593
|
decisions: {
|
|
594
|
-
description: string;
|
|
595
594
|
timestamp: string;
|
|
595
|
+
description: string;
|
|
596
596
|
rationale: string;
|
|
597
597
|
madeBy: "planner" | "generator" | "evaluator" | "human";
|
|
598
598
|
}[];
|
|
599
599
|
currentContract?: {
|
|
600
|
-
status: "
|
|
600
|
+
status: "failed" | "completed" | "evaluating" | "in-progress" | "proposed" | "negotiating" | "agreed" | "passed" | "needs-rework";
|
|
601
601
|
description: string;
|
|
602
602
|
specId: string;
|
|
603
603
|
title: string;
|
|
@@ -618,8 +618,8 @@ export declare const ContextHandoffSchema: z.ZodObject<{
|
|
|
618
618
|
definitionOfDone: string;
|
|
619
619
|
estimatedFiles: string[];
|
|
620
620
|
iterationHistory: unknown[];
|
|
621
|
-
ambiguityScore?: number | undefined;
|
|
622
621
|
createdAt?: string | undefined;
|
|
622
|
+
ambiguityScore?: number | undefined;
|
|
623
623
|
updatedAt?: string | undefined;
|
|
624
624
|
completedAt?: string | undefined;
|
|
625
625
|
generatorNotes?: string | undefined;
|
|
@@ -636,15 +636,16 @@ export declare const ContextHandoffSchema: z.ZodObject<{
|
|
|
636
636
|
from: "planner" | "generator" | "evaluator" | "human";
|
|
637
637
|
to: "planner" | "generator" | "evaluator" | "human";
|
|
638
638
|
projectContext: {
|
|
639
|
-
name: string;
|
|
640
639
|
type: string;
|
|
640
|
+
name: string;
|
|
641
641
|
techStack: string[];
|
|
642
642
|
entryPoints: string[];
|
|
643
643
|
currentBranch: string;
|
|
644
644
|
};
|
|
645
645
|
spec: {
|
|
646
|
+
createdAt: string;
|
|
647
|
+
status: "completed" | "draft" | "needs-clarification" | "ready" | "in-progress" | "abandoned";
|
|
646
648
|
mode: "greenfield" | "brownfield";
|
|
647
|
-
status: "draft" | "needs-clarification" | "ready" | "in-progress" | "completed" | "abandoned";
|
|
648
649
|
description: string;
|
|
649
650
|
specId: string;
|
|
650
651
|
title: string;
|
|
@@ -655,18 +656,17 @@ export declare const ContextHandoffSchema: z.ZodObject<{
|
|
|
655
656
|
priority: "must-have" | "should-have" | "nice-to-have";
|
|
656
657
|
acceptanceCriteria: string[];
|
|
657
658
|
dependencies?: string[] | undefined;
|
|
658
|
-
estimatedComplexity?: "
|
|
659
|
+
estimatedComplexity?: "high" | "medium" | "low" | undefined;
|
|
659
660
|
estimatedSprints?: number | undefined;
|
|
660
661
|
}[];
|
|
661
|
-
createdAt: string;
|
|
662
662
|
updatedAt: string;
|
|
663
663
|
version?: number | undefined;
|
|
664
664
|
assumptions?: string[] | undefined;
|
|
665
665
|
outOfScope?: string[] | undefined;
|
|
666
666
|
ambiguityScore?: number | undefined;
|
|
667
667
|
clarificationQuestions?: {
|
|
668
|
-
questionId: string;
|
|
669
668
|
category: "other" | "scope" | "user-personas" | "data-model" | "tech-constraints" | "design-ux" | "integrations" | "non-functional" | "error-handling" | "integration-risk" | "pattern-conflict" | "regression-risk";
|
|
669
|
+
questionId: string;
|
|
670
670
|
question: string;
|
|
671
671
|
options?: {
|
|
672
672
|
description: string;
|
|
@@ -676,10 +676,10 @@ export declare const ContextHandoffSchema: z.ZodObject<{
|
|
|
676
676
|
ambiguityWeight?: number | undefined;
|
|
677
677
|
}[] | undefined;
|
|
678
678
|
resolvedClarifications?: {
|
|
679
|
-
questionId: string;
|
|
680
679
|
answer: string;
|
|
680
|
+
questionId: string;
|
|
681
681
|
resolvedAt: string;
|
|
682
|
-
resolvedBy?: "
|
|
682
|
+
resolvedBy?: "user" | "planner" | undefined;
|
|
683
683
|
}[] | undefined;
|
|
684
684
|
techStack?: string[] | undefined;
|
|
685
685
|
techNotes?: Record<string, unknown> | undefined;
|
|
@@ -690,7 +690,7 @@ export declare const ContextHandoffSchema: z.ZodObject<{
|
|
|
690
690
|
completedAt?: string | undefined;
|
|
691
691
|
};
|
|
692
692
|
sprintHistory: {
|
|
693
|
-
status: "
|
|
693
|
+
status: "failed" | "completed" | "evaluating" | "in-progress" | "proposed" | "negotiating" | "agreed" | "passed" | "needs-rework";
|
|
694
694
|
description: string;
|
|
695
695
|
specId: string;
|
|
696
696
|
title: string;
|
|
@@ -705,11 +705,11 @@ export declare const ContextHandoffSchema: z.ZodObject<{
|
|
|
705
705
|
nonGoals: string[];
|
|
706
706
|
stopConditions: string[];
|
|
707
707
|
definitionOfDone: string;
|
|
708
|
+
createdAt?: string | undefined;
|
|
708
709
|
features?: string[] | undefined;
|
|
709
710
|
assumptions?: string[] | undefined;
|
|
710
711
|
outOfScope?: string[] | undefined;
|
|
711
712
|
ambiguityScore?: number | undefined;
|
|
712
|
-
createdAt?: string | undefined;
|
|
713
713
|
updatedAt?: string | undefined;
|
|
714
714
|
completedAt?: string | undefined;
|
|
715
715
|
dependsOn?: string[] | undefined;
|
|
@@ -726,13 +726,13 @@ export declare const ContextHandoffSchema: z.ZodObject<{
|
|
|
726
726
|
instructions: string;
|
|
727
727
|
changedFiles: string[];
|
|
728
728
|
decisions: {
|
|
729
|
-
description: string;
|
|
730
729
|
timestamp: string;
|
|
730
|
+
description: string;
|
|
731
731
|
rationale: string;
|
|
732
732
|
madeBy: "planner" | "generator" | "evaluator" | "human";
|
|
733
733
|
}[];
|
|
734
734
|
currentContract?: {
|
|
735
|
-
status: "
|
|
735
|
+
status: "failed" | "completed" | "evaluating" | "in-progress" | "proposed" | "negotiating" | "agreed" | "passed" | "needs-rework";
|
|
736
736
|
description: string;
|
|
737
737
|
specId: string;
|
|
738
738
|
title: string;
|
|
@@ -747,11 +747,11 @@ export declare const ContextHandoffSchema: z.ZodObject<{
|
|
|
747
747
|
nonGoals: string[];
|
|
748
748
|
stopConditions: string[];
|
|
749
749
|
definitionOfDone: string;
|
|
750
|
+
createdAt?: string | undefined;
|
|
750
751
|
features?: string[] | undefined;
|
|
751
752
|
assumptions?: string[] | undefined;
|
|
752
753
|
outOfScope?: string[] | undefined;
|
|
753
754
|
ambiguityScore?: number | undefined;
|
|
754
|
-
createdAt?: string | undefined;
|
|
755
755
|
updatedAt?: string | undefined;
|
|
756
756
|
completedAt?: string | undefined;
|
|
757
757
|
dependsOn?: string[] | undefined;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Materialize sprint contracts from a plan spec's feature list.
|
|
3
|
+
*
|
|
4
|
+
* Extracted verbatim from the runTsPipeline inline loop so that both the run
|
|
5
|
+
* pipeline AND the standalone `plan` command (Sprint 2) share one source of
|
|
6
|
+
* truth. Contract content is feature-derived; ids are deterministic and
|
|
7
|
+
* zero-padded as `sprint-<specId>-NN` so listContracts() lexical ordering
|
|
8
|
+
* matches sprint execution order.
|
|
9
|
+
*
|
|
10
|
+
* These auto-generated contracts use placeholder precision fields;
|
|
11
|
+
* a planner-authored contract (saved directly by the bober-planner
|
|
12
|
+
* subagent) supersedes them with substantive nonGoals, stopConditions,
|
|
13
|
+
* and definitionOfDone.
|
|
14
|
+
*
|
|
15
|
+
* The post-plan and post-sprint-contract audit checkpoints are pipeline
|
|
16
|
+
* concerns and live in pipeline.ts — NOT here. This helper has zero
|
|
17
|
+
* runWithAudit / appendHistory / checkpoint references.
|
|
18
|
+
*/
|
|
19
|
+
import type { BoberConfig } from "../config/schema.js";
|
|
20
|
+
import type { PlanSpec } from "../contracts/spec.js";
|
|
21
|
+
import type { SprintContract } from "../contracts/sprint-contract.js";
|
|
22
|
+
/**
|
|
23
|
+
* Create and persist one SprintContract per feature in spec.features.
|
|
24
|
+
*
|
|
25
|
+
* Contract content is derived from feature fields. Ids are set to
|
|
26
|
+
* `sprint-<specId>-NN` (width-2 zero-padded) after construction so
|
|
27
|
+
* listContracts() lexical sort equals sprint execution order.
|
|
28
|
+
*
|
|
29
|
+
* Returns the contracts array in feature / sprintNumber order so the caller
|
|
30
|
+
* can pass it to the post-sprint-contract checkpoint and the sprint loop.
|
|
31
|
+
*/
|
|
32
|
+
export declare function materializeContracts(spec: PlanSpec, projectRoot: string, config: BoberConfig): Promise<SprintContract[]>;
|
|
33
|
+
//# sourceMappingURL=contract-materialization.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contract-materialization.d.ts","sourceRoot":"","sources":["../../src/orchestrator/contract-materialization.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAMtE;;;;;;;;;GASG;AACH,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,QAAQ,EACd,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,cAAc,EAAE,CAAC,CA6F3B"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Materialize sprint contracts from a plan spec's feature list.
|
|
3
|
+
*
|
|
4
|
+
* Extracted verbatim from the runTsPipeline inline loop so that both the run
|
|
5
|
+
* pipeline AND the standalone `plan` command (Sprint 2) share one source of
|
|
6
|
+
* truth. Contract content is feature-derived; ids are deterministic and
|
|
7
|
+
* zero-padded as `sprint-<specId>-NN` so listContracts() lexical ordering
|
|
8
|
+
* matches sprint execution order.
|
|
9
|
+
*
|
|
10
|
+
* These auto-generated contracts use placeholder precision fields;
|
|
11
|
+
* a planner-authored contract (saved directly by the bober-planner
|
|
12
|
+
* subagent) supersedes them with substantive nonGoals, stopConditions,
|
|
13
|
+
* and definitionOfDone.
|
|
14
|
+
*
|
|
15
|
+
* The post-plan and post-sprint-contract audit checkpoints are pipeline
|
|
16
|
+
* concerns and live in pipeline.ts — NOT here. This helper has zero
|
|
17
|
+
* runWithAudit / appendHistory / checkpoint references.
|
|
18
|
+
*/
|
|
19
|
+
import { createContract, SprintContractSchema } from "../contracts/sprint-contract.js";
|
|
20
|
+
import { generateContractPrecision } from "./planner-agent.js";
|
|
21
|
+
import { saveContract } from "../state/index.js";
|
|
22
|
+
import { logger } from "../utils/logger.js";
|
|
23
|
+
/**
|
|
24
|
+
* Create and persist one SprintContract per feature in spec.features.
|
|
25
|
+
*
|
|
26
|
+
* Contract content is derived from feature fields. Ids are set to
|
|
27
|
+
* `sprint-<specId>-NN` (width-2 zero-padded) after construction so
|
|
28
|
+
* listContracts() lexical sort equals sprint execution order.
|
|
29
|
+
*
|
|
30
|
+
* Returns the contracts array in feature / sprintNumber order so the caller
|
|
31
|
+
* can pass it to the post-sprint-contract checkpoint and the sprint loop.
|
|
32
|
+
*/
|
|
33
|
+
export async function materializeContracts(spec, projectRoot, config) {
|
|
34
|
+
// ── Embedded branch: prefer valid spec.sprints when present ──────────
|
|
35
|
+
// Real bober-authored specs have string sprints (ids) — safeParse fails
|
|
36
|
+
// those and falls through to the feature-derived branch below.
|
|
37
|
+
// External/planner-authored specs may carry full contract objects here.
|
|
38
|
+
if (Array.isArray(spec.sprints) && spec.sprints.length > 0) {
|
|
39
|
+
const embedded = [];
|
|
40
|
+
let allParsed = true;
|
|
41
|
+
for (let i = 0; i < spec.sprints.length; i++) {
|
|
42
|
+
const parsed = SprintContractSchema.safeParse(spec.sprints[i]);
|
|
43
|
+
if (!parsed.success) {
|
|
44
|
+
allParsed = false;
|
|
45
|
+
logger.warn(`Embedded spec.sprints[${i}] failed schema validation; falling back to feature-derived contracts for the whole spec.`);
|
|
46
|
+
break;
|
|
47
|
+
}
|
|
48
|
+
const contract = parsed.data;
|
|
49
|
+
contract.status = "proposed";
|
|
50
|
+
contract.specId = spec.specId;
|
|
51
|
+
contract.sprintNumber = i + 1;
|
|
52
|
+
// bober: width-2 pad covers 1–99; widen to 3 if suite grows past 99.
|
|
53
|
+
contract.contractId = `sprint-${spec.specId}-${String(i + 1).padStart(2, "0")}`;
|
|
54
|
+
embedded.push(contract);
|
|
55
|
+
}
|
|
56
|
+
if (allParsed && embedded.length > 0) {
|
|
57
|
+
try {
|
|
58
|
+
for (const c of embedded) {
|
|
59
|
+
await saveContract(projectRoot, c);
|
|
60
|
+
}
|
|
61
|
+
return embedded;
|
|
62
|
+
}
|
|
63
|
+
catch (err) {
|
|
64
|
+
logger.warn(`Embedded sprints failed the precision gate; falling back to feature-derived contracts: ${err instanceof Error ? err.message : String(err)}`);
|
|
65
|
+
// fall through to feature-derived loop
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
// ── Feature-derived branch (fallback and default path) ───────────────
|
|
70
|
+
const contracts = [];
|
|
71
|
+
for (let i = 0; i < spec.features.length; i++) {
|
|
72
|
+
const feature = spec.features[i];
|
|
73
|
+
// Generate substantive precision fields (nonGoals/stopConditions/
|
|
74
|
+
// definitionOfDone) so the contract passes the generator's BLOCKING
|
|
75
|
+
// precision preflight. Without this the standalone pipeline emits
|
|
76
|
+
// placeholder contracts that every generator (Claude or DeepSeek) refuses.
|
|
77
|
+
const precision = await generateContractPrecision(feature, spec, config);
|
|
78
|
+
if (precision) {
|
|
79
|
+
logger.info(`Generated precision fields for sprint ${i + 1} (${precision.nonGoals.length} non-goals, ${precision.stopConditions.length} stop conditions).`);
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
logger.warn(`Could not generate precision fields for sprint ${i + 1}; contract will use placeholders and the generator may block it.`);
|
|
83
|
+
}
|
|
84
|
+
const contract = createContract(feature.title, feature.description, feature.acceptanceCriteria.map((ac, idx) => ({
|
|
85
|
+
criterionId: `${feature.featureId}-criterion-${idx + 1}`,
|
|
86
|
+
description: ac,
|
|
87
|
+
verificationMethod: "agent-evaluation",
|
|
88
|
+
})), {
|
|
89
|
+
specId: spec.specId,
|
|
90
|
+
sprintNumber: i + 1,
|
|
91
|
+
features: [feature.featureId],
|
|
92
|
+
...(precision
|
|
93
|
+
? {
|
|
94
|
+
nonGoals: precision.nonGoals,
|
|
95
|
+
stopConditions: precision.stopConditions,
|
|
96
|
+
definitionOfDone: precision.definitionOfDone,
|
|
97
|
+
}
|
|
98
|
+
: {}),
|
|
99
|
+
});
|
|
100
|
+
// createContract doesn't take assumptions/outOfScope; set them directly.
|
|
101
|
+
if (precision) {
|
|
102
|
+
contract.assumptions = precision.assumptions;
|
|
103
|
+
contract.outOfScope = precision.outOfScope;
|
|
104
|
+
}
|
|
105
|
+
// Deterministic, zero-padded id: lexical order == execution order.
|
|
106
|
+
// bober: width-2 pad covers 1–99 sprints; widen to 3 if suite grows past 99.
|
|
107
|
+
contract.contractId = `sprint-${spec.specId}-${String(i + 1).padStart(2, "0")}`;
|
|
108
|
+
contracts.push(contract);
|
|
109
|
+
await saveContract(projectRoot, contract);
|
|
110
|
+
}
|
|
111
|
+
return contracts;
|
|
112
|
+
}
|
|
113
|
+
//# sourceMappingURL=contract-materialization.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contract-materialization.js","sourceRoot":"","sources":["../../src/orchestrator/contract-materialization.ts"],"names":[],"mappings":"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"}
|