@tienne/gestalt 0.1.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.md +203 -0
- package/README.md +60 -0
- package/agents/closure-completer/AGENT.md +32 -0
- package/agents/continuity-judge/AGENT.md +40 -0
- package/agents/ground-mapper/AGENT.md +31 -0
- package/agents/proximity-worker/AGENT.md +33 -0
- package/agents/similarity-crystallizer/AGENT.md +34 -0
- package/dist/agents/closure-completer/AGENT.md +32 -0
- package/dist/agents/continuity-judge/AGENT.md +40 -0
- package/dist/agents/ground-mapper/AGENT.md +31 -0
- package/dist/agents/proximity-worker/AGENT.md +33 -0
- package/dist/agents/similarity-crystallizer/AGENT.md +34 -0
- package/dist/bin/gestalt.d.ts +3 -0
- package/dist/bin/gestalt.d.ts.map +1 -0
- package/dist/bin/gestalt.js +5 -0
- package/dist/bin/gestalt.js.map +1 -0
- package/dist/skills/execute/SKILL.md +84 -0
- package/dist/skills/interview/SKILL.md +82 -0
- package/dist/skills/seed/SKILL.md +92 -0
- package/dist/skills/spec/SKILL.md +92 -0
- package/dist/src/agent/figural-router.d.ts +48 -0
- package/dist/src/agent/figural-router.d.ts.map +1 -0
- package/dist/src/agent/figural-router.js +55 -0
- package/dist/src/agent/figural-router.js.map +1 -0
- package/dist/src/agent/parser.d.ts +3 -0
- package/dist/src/agent/parser.d.ts.map +1 -0
- package/dist/src/agent/parser.js +32 -0
- package/dist/src/agent/parser.js.map +1 -0
- package/dist/src/agent/prompt-resolver.d.ts +17 -0
- package/dist/src/agent/prompt-resolver.d.ts.map +1 -0
- package/dist/src/agent/prompt-resolver.js +31 -0
- package/dist/src/agent/prompt-resolver.js.map +1 -0
- package/dist/src/agent/registry.d.ts +9 -0
- package/dist/src/agent/registry.d.ts.map +1 -0
- package/dist/src/agent/registry.js +22 -0
- package/dist/src/agent/registry.js.map +1 -0
- package/dist/src/cli/commands/interview.d.ts +2 -0
- package/dist/src/cli/commands/interview.d.ts.map +1 -0
- package/dist/src/cli/commands/interview.js +67 -0
- package/dist/src/cli/commands/interview.js.map +1 -0
- package/dist/src/cli/commands/seed.d.ts +4 -0
- package/dist/src/cli/commands/seed.d.ts.map +1 -0
- package/dist/src/cli/commands/seed.js +34 -0
- package/dist/src/cli/commands/seed.js.map +1 -0
- package/dist/src/cli/commands/serve.d.ts +2 -0
- package/dist/src/cli/commands/serve.d.ts.map +1 -0
- package/dist/src/cli/commands/serve.js +5 -0
- package/dist/src/cli/commands/serve.js.map +1 -0
- package/dist/src/cli/commands/spec.d.ts +4 -0
- package/dist/src/cli/commands/spec.d.ts.map +1 -0
- package/dist/src/cli/commands/spec.js +34 -0
- package/dist/src/cli/commands/spec.js.map +1 -0
- package/dist/src/cli/commands/status.d.ts +2 -0
- package/dist/src/cli/commands/status.d.ts.map +1 -0
- package/dist/src/cli/commands/status.js +66 -0
- package/dist/src/cli/commands/status.js.map +1 -0
- package/dist/src/cli/index.d.ts +3 -0
- package/dist/src/cli/index.d.ts.map +1 -0
- package/dist/src/cli/index.js +39 -0
- package/dist/src/cli/index.js.map +1 -0
- package/dist/src/core/config.d.ts +36 -0
- package/dist/src/core/config.d.ts.map +1 -0
- package/dist/src/core/config.js +65 -0
- package/dist/src/core/config.js.map +1 -0
- package/dist/src/core/constants.d.ts +34 -0
- package/dist/src/core/constants.d.ts.map +1 -0
- package/dist/src/core/constants.js +68 -0
- package/dist/src/core/constants.js.map +1 -0
- package/dist/src/core/errors.d.ts +50 -0
- package/dist/src/core/errors.d.ts.map +1 -0
- package/dist/src/core/errors.js +99 -0
- package/dist/src/core/errors.js.map +1 -0
- package/dist/src/core/log.d.ts +5 -0
- package/dist/src/core/log.d.ts.map +1 -0
- package/dist/src/core/log.js +7 -0
- package/dist/src/core/log.js.map +1 -0
- package/dist/src/core/result.d.ts +20 -0
- package/dist/src/core/result.d.ts.map +1 -0
- package/dist/src/core/result.js +43 -0
- package/dist/src/core/result.js.map +1 -0
- package/dist/src/core/types.d.ts +289 -0
- package/dist/src/core/types.d.ts.map +1 -0
- package/dist/src/core/types.js +15 -0
- package/dist/src/core/types.js.map +1 -0
- package/dist/src/events/store.d.ts +22 -0
- package/dist/src/events/store.d.ts.map +1 -0
- package/dist/src/events/store.js +130 -0
- package/dist/src/events/store.js.map +1 -0
- package/dist/src/events/types.d.ts +33 -0
- package/dist/src/events/types.d.ts.map +1 -0
- package/dist/src/events/types.js +35 -0
- package/dist/src/events/types.js.map +1 -0
- package/dist/src/execute/dag-validator.d.ts +7 -0
- package/dist/src/execute/dag-validator.d.ts.map +1 -0
- package/dist/src/execute/dag-validator.js +141 -0
- package/dist/src/execute/dag-validator.js.map +1 -0
- package/dist/src/execute/drift-detector.d.ts +11 -0
- package/dist/src/execute/drift-detector.d.ts.map +1 -0
- package/dist/src/execute/drift-detector.js +111 -0
- package/dist/src/execute/drift-detector.js.map +1 -0
- package/dist/src/execute/impact-identifier.d.ts +12 -0
- package/dist/src/execute/impact-identifier.d.ts.map +1 -0
- package/dist/src/execute/impact-identifier.js +60 -0
- package/dist/src/execute/impact-identifier.js.map +1 -0
- package/dist/src/execute/passthrough-engine.d.ts +181 -0
- package/dist/src/execute/passthrough-engine.d.ts.map +1 -0
- package/dist/src/execute/passthrough-engine.js +795 -0
- package/dist/src/execute/passthrough-engine.js.map +1 -0
- package/dist/src/execute/prompts.d.ts +19 -0
- package/dist/src/execute/prompts.d.ts.map +1 -0
- package/dist/src/execute/prompts.js +505 -0
- package/dist/src/execute/prompts.js.map +1 -0
- package/dist/src/execute/repository.d.ts +30 -0
- package/dist/src/execute/repository.d.ts.map +1 -0
- package/dist/src/execute/repository.js +248 -0
- package/dist/src/execute/repository.js.map +1 -0
- package/dist/src/execute/session.d.ts +34 -0
- package/dist/src/execute/session.d.ts.map +1 -0
- package/dist/src/execute/session.js +273 -0
- package/dist/src/execute/session.js.map +1 -0
- package/dist/src/execute/spec-patch-applier.d.ts +13 -0
- package/dist/src/execute/spec-patch-applier.d.ts.map +1 -0
- package/dist/src/execute/spec-patch-applier.js +83 -0
- package/dist/src/execute/spec-patch-applier.js.map +1 -0
- package/dist/src/execute/spec-patch-validator.d.ts +20 -0
- package/dist/src/execute/spec-patch-validator.d.ts.map +1 -0
- package/dist/src/execute/spec-patch-validator.js +60 -0
- package/dist/src/execute/spec-patch-validator.js.map +1 -0
- package/dist/src/execute/termination-detector.d.ts +20 -0
- package/dist/src/execute/termination-detector.d.ts.map +1 -0
- package/dist/src/execute/termination-detector.js +77 -0
- package/dist/src/execute/termination-detector.js.map +1 -0
- package/dist/src/gestalt/analyzer.d.ts +18 -0
- package/dist/src/gestalt/analyzer.d.ts.map +1 -0
- package/dist/src/gestalt/analyzer.js +59 -0
- package/dist/src/gestalt/analyzer.js.map +1 -0
- package/dist/src/gestalt/principles.d.ts +21 -0
- package/dist/src/gestalt/principles.d.ts.map +1 -0
- package/dist/src/gestalt/principles.js +66 -0
- package/dist/src/gestalt/principles.js.map +1 -0
- package/dist/src/index.d.ts +22 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +22 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/interview/ambiguity.d.ts +8 -0
- package/dist/src/interview/ambiguity.d.ts.map +1 -0
- package/dist/src/interview/ambiguity.js +69 -0
- package/dist/src/interview/ambiguity.js.map +1 -0
- package/dist/src/interview/brownfield.d.ts +7 -0
- package/dist/src/interview/brownfield.d.ts.map +1 -0
- package/dist/src/interview/brownfield.js +28 -0
- package/dist/src/interview/brownfield.js.map +1 -0
- package/dist/src/interview/engine.d.ts +31 -0
- package/dist/src/interview/engine.d.ts.map +1 -0
- package/dist/src/interview/engine.js +110 -0
- package/dist/src/interview/engine.js.map +1 -0
- package/dist/src/interview/passthrough-engine.d.ts +52 -0
- package/dist/src/interview/passthrough-engine.d.ts.map +1 -0
- package/dist/src/interview/passthrough-engine.js +174 -0
- package/dist/src/interview/passthrough-engine.js.map +1 -0
- package/dist/src/interview/questions.d.ts +12 -0
- package/dist/src/interview/questions.d.ts.map +1 -0
- package/dist/src/interview/questions.js +54 -0
- package/dist/src/interview/questions.js.map +1 -0
- package/dist/src/interview/repository.d.ts +25 -0
- package/dist/src/interview/repository.d.ts.map +1 -0
- package/dist/src/interview/repository.js +102 -0
- package/dist/src/interview/repository.js.map +1 -0
- package/dist/src/interview/session.d.ts +22 -0
- package/dist/src/interview/session.d.ts.map +1 -0
- package/dist/src/interview/session.js +120 -0
- package/dist/src/interview/session.js.map +1 -0
- package/dist/src/llm/adapter.d.ts +8 -0
- package/dist/src/llm/adapter.d.ts.map +1 -0
- package/dist/src/llm/adapter.js +42 -0
- package/dist/src/llm/adapter.js.map +1 -0
- package/dist/src/llm/openai-adapter.d.ts +8 -0
- package/dist/src/llm/openai-adapter.d.ts.map +1 -0
- package/dist/src/llm/openai-adapter.js +45 -0
- package/dist/src/llm/openai-adapter.js.map +1 -0
- package/dist/src/llm/prompts.d.ts +15 -0
- package/dist/src/llm/prompts.d.ts.map +1 -0
- package/dist/src/llm/prompts.js +83 -0
- package/dist/src/llm/prompts.js.map +1 -0
- package/dist/src/llm/types.d.ts +21 -0
- package/dist/src/llm/types.d.ts.map +1 -0
- package/dist/src/llm/types.js +2 -0
- package/dist/src/llm/types.js.map +1 -0
- package/dist/src/mcp/schemas.d.ts +799 -0
- package/dist/src/mcp/schemas.d.ts.map +1 -0
- package/dist/src/mcp/schemas.js +151 -0
- package/dist/src/mcp/schemas.js.map +1 -0
- package/dist/src/mcp/server.d.ts +13 -0
- package/dist/src/mcp/server.d.ts.map +1 -0
- package/dist/src/mcp/server.js +255 -0
- package/dist/src/mcp/server.js.map +1 -0
- package/dist/src/mcp/tools/execute-passthrough.d.ts +4 -0
- package/dist/src/mcp/tools/execute-passthrough.d.ts.map +1 -0
- package/dist/src/mcp/tools/execute-passthrough.js +349 -0
- package/dist/src/mcp/tools/execute-passthrough.js.map +1 -0
- package/dist/src/mcp/tools/index.d.ts +4 -0
- package/dist/src/mcp/tools/index.d.ts.map +1 -0
- package/dist/src/mcp/tools/index.js +4 -0
- package/dist/src/mcp/tools/index.js.map +1 -0
- package/dist/src/mcp/tools/interview-passthrough.d.ts +4 -0
- package/dist/src/mcp/tools/interview-passthrough.d.ts.map +1 -0
- package/dist/src/mcp/tools/interview-passthrough.js +96 -0
- package/dist/src/mcp/tools/interview-passthrough.js.map +1 -0
- package/dist/src/mcp/tools/interview.d.ts +4 -0
- package/dist/src/mcp/tools/interview.d.ts.map +1 -0
- package/dist/src/mcp/tools/interview.js +85 -0
- package/dist/src/mcp/tools/interview.js.map +1 -0
- package/dist/src/mcp/tools/seed-passthrough.d.ts +5 -0
- package/dist/src/mcp/tools/seed-passthrough.d.ts.map +1 -0
- package/dist/src/mcp/tools/seed-passthrough.js +29 -0
- package/dist/src/mcp/tools/seed-passthrough.js.map +1 -0
- package/dist/src/mcp/tools/seed.d.ts +5 -0
- package/dist/src/mcp/tools/seed.d.ts.map +1 -0
- package/dist/src/mcp/tools/seed.js +19 -0
- package/dist/src/mcp/tools/seed.js.map +1 -0
- package/dist/src/mcp/tools/spec-passthrough.d.ts +5 -0
- package/dist/src/mcp/tools/spec-passthrough.d.ts.map +1 -0
- package/dist/src/mcp/tools/spec-passthrough.js +29 -0
- package/dist/src/mcp/tools/spec-passthrough.js.map +1 -0
- package/dist/src/mcp/tools/spec.d.ts +5 -0
- package/dist/src/mcp/tools/spec.d.ts.map +1 -0
- package/dist/src/mcp/tools/spec.js +19 -0
- package/dist/src/mcp/tools/spec.js.map +1 -0
- package/dist/src/mcp/tools/status.d.ts +4 -0
- package/dist/src/mcp/tools/status.d.ts.map +1 -0
- package/dist/src/mcp/tools/status.js +45 -0
- package/dist/src/mcp/tools/status.js.map +1 -0
- package/dist/src/registry/base-registry.d.ts +26 -0
- package/dist/src/registry/base-registry.d.ts.map +1 -0
- package/dist/src/registry/base-registry.js +82 -0
- package/dist/src/registry/base-registry.js.map +1 -0
- package/dist/src/seed/extractor.d.ts +15 -0
- package/dist/src/seed/extractor.d.ts.map +1 -0
- package/dist/src/seed/extractor.js +88 -0
- package/dist/src/seed/extractor.js.map +1 -0
- package/dist/src/seed/generator.d.ts +12 -0
- package/dist/src/seed/generator.d.ts.map +1 -0
- package/dist/src/seed/generator.js +66 -0
- package/dist/src/seed/generator.js.map +1 -0
- package/dist/src/seed/passthrough-generator.d.ts +31 -0
- package/dist/src/seed/passthrough-generator.d.ts.map +1 -0
- package/dist/src/seed/passthrough-generator.js +80 -0
- package/dist/src/seed/passthrough-generator.js.map +1 -0
- package/dist/src/seed/schema.d.ts +145 -0
- package/dist/src/seed/schema.d.ts.map +1 -0
- package/dist/src/seed/schema.js +37 -0
- package/dist/src/seed/schema.js.map +1 -0
- package/dist/src/skills/executor.d.ts +14 -0
- package/dist/src/skills/executor.d.ts.map +1 -0
- package/dist/src/skills/executor.js +17 -0
- package/dist/src/skills/executor.js.map +1 -0
- package/dist/src/skills/parser.d.ts +3 -0
- package/dist/src/skills/parser.d.ts.map +1 -0
- package/dist/src/skills/parser.js +37 -0
- package/dist/src/skills/parser.js.map +1 -0
- package/dist/src/skills/registry.d.ts +8 -0
- package/dist/src/skills/registry.d.ts.map +1 -0
- package/dist/src/skills/registry.js +19 -0
- package/dist/src/skills/registry.js.map +1 -0
- package/dist/src/skills/types.d.ts +19 -0
- package/dist/src/skills/types.d.ts.map +1 -0
- package/dist/src/skills/types.js +2 -0
- package/dist/src/skills/types.js.map +1 -0
- package/dist/src/spec/extractor.d.ts +15 -0
- package/dist/src/spec/extractor.d.ts.map +1 -0
- package/dist/src/spec/extractor.js +88 -0
- package/dist/src/spec/extractor.js.map +1 -0
- package/dist/src/spec/generator.d.ts +12 -0
- package/dist/src/spec/generator.d.ts.map +1 -0
- package/dist/src/spec/generator.js +66 -0
- package/dist/src/spec/generator.js.map +1 -0
- package/dist/src/spec/passthrough-generator.d.ts +34 -0
- package/dist/src/spec/passthrough-generator.d.ts.map +1 -0
- package/dist/src/spec/passthrough-generator.js +86 -0
- package/dist/src/spec/passthrough-generator.js.map +1 -0
- package/dist/src/spec/schema.d.ts +145 -0
- package/dist/src/spec/schema.d.ts.map +1 -0
- package/dist/src/spec/schema.js +37 -0
- package/dist/src/spec/schema.js.map +1 -0
- package/package.json +53 -0
- package/skills/execute/SKILL.md +84 -0
- package/skills/interview/SKILL.md +82 -0
- package/skills/spec/SKILL.md +92 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"passthrough-engine.js","sourceRoot":"","sources":["../../../src/execute/passthrough-engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { Spec, ClassifiedAC, AtomicTask, TaskGroup, PlanningStepResult, TaskExecutionResult, StructuralResult, DriftScore, StructuralCommandResult, EvaluationResult, EvolutionGeneration } from '../core/types.js';
|
|
2
|
+
export declare const EXECUTE_SYSTEM_PROMPT = "You are a Gestalt-trained execution planner. Your goal is to transform a validated Spec specification into a concrete, dependency-aware Execution Plan by applying Gestalt psychology principles as a structured planning framework.\n\n## Planning Phases (in order)\n1. **Figure-Ground**: Classify acceptance criteria as essential (figure) or supplementary (ground), assign priorities\n2. **Closure**: Decompose ACs into atomic tasks, identify implicit sub-tasks not explicitly stated\n3. **Proximity**: Group related atomic tasks into logical task groups by domain\n4. **Continuity**: Validate the dependency DAG \u2014 ensure no cycles, no conflicts, clear execution order\n\n## Rules\n1. Each phase must complete before the next begins\n2. Every acceptance criterion must be addressed\n3. Atomic tasks must be independently executable units\n4. All tasks must belong to exactly one group\n5. The final DAG must be acyclic with a valid topological ordering\n6. Always respond with ONLY a JSON object matching the specified schema";
|
|
3
|
+
export declare function buildFigureGroundPrompt(spec: Spec): string;
|
|
4
|
+
export declare function buildClosurePrompt(spec: Spec, figureGroundResult: ClassifiedAC[]): string;
|
|
5
|
+
export declare function buildProximityPrompt(spec: Spec, atomicTasks: AtomicTask[]): string;
|
|
6
|
+
export declare function buildContinuityPrompt(spec: Spec, atomicTasks: AtomicTask[], taskGroups: TaskGroup[]): string;
|
|
7
|
+
export declare const EXECUTE_EXECUTION_SYSTEM_PROMPT = "You are a Gestalt-trained task executor. You implement atomic tasks from an execution plan one at a time. Apply the Similarity principle: leverage patterns from previously completed tasks to maintain consistency.\n\n## Rules\n1. Implement exactly what the task description specifies\n2. Reference previous task outputs for consistent patterns\n3. Respond with ONLY a JSON object matching the specified schema\n4. Include file paths in artifacts when creating/modifying files";
|
|
8
|
+
export declare function buildTaskExecutionPrompt(task: AtomicTask, spec: Spec, completedResults: TaskExecutionResult[], similarTasks: AtomicTask[]): string;
|
|
9
|
+
export declare const EXECUTE_EVALUATION_SYSTEM_PROMPT = "You are a Gestalt-trained evaluator. You verify whether all acceptance criteria have been satisfied by the completed task results. Be thorough and evidence-based.\n\n## Rules\n1. Check each acceptance criterion against the completed task outputs\n2. Provide specific evidence for satisfied criteria\n3. Identify concrete gaps for unsatisfied criteria\n4. The overall score should reflect the ratio of satisfied criteria weighted by priority\n5. Respond with ONLY a JSON object matching the specified schema";
|
|
10
|
+
export declare function buildEvaluationPrompt(spec: Spec, classifiedACs: ClassifiedAC[], taskResults: TaskExecutionResult[]): string;
|
|
11
|
+
export declare function buildDriftRetrospectivePrompt(spec: Spec, task: AtomicTask, taskResult: TaskExecutionResult, driftScore: DriftScore): string;
|
|
12
|
+
export declare function buildContextualEvaluationPrompt(spec: Spec, classifiedACs: ClassifiedAC[], taskResults: TaskExecutionResult[], structuralResult: StructuralResult): string;
|
|
13
|
+
export declare function buildPlanningStepPrompt(spec: Spec, stepNumber: number, previousSteps: PlanningStepResult[]): string;
|
|
14
|
+
export declare const EVOLVE_STRUCTURAL_FIX_SYSTEM_PROMPT = "You are a Gestalt-trained structural fixer. You generate fix tasks for structural failures (lint, build, test). Each fix task should target a specific failed command and provide concrete instructions.\n\n## Rules\n1. Analyze each failed structural command and its error output\n2. Generate a targeted fix task for each failure\n3. Fix tasks should be independent and specific\n4. Respond with ONLY a JSON array matching the specified schema";
|
|
15
|
+
export declare function buildStructuralFixPrompt(spec: Spec, failedCommands: StructuralCommandResult[], taskResults: TaskExecutionResult[]): string;
|
|
16
|
+
export declare const EVOLVE_CONTEXTUAL_SYSTEM_PROMPT = "You are a Gestalt-trained spec evolver. When evaluation shows unsatisfied acceptance criteria, you generate a Spec patch that addresses the gaps while preserving the original goal.\n\n## Patch Scope Rules (CRITICAL)\n- L1 (acceptanceCriteria): FREE \u2014 add, modify, or remove\n- L2 (constraints): FREE \u2014 add, modify, or remove\n- L3 (ontologySchema): SELECTIVE \u2014 add or modify entities/relations only, NEVER delete existing ones\n- L4 (goal): FORBIDDEN \u2014 the goal must NEVER change\n\n## Rules\n1. Analyze evaluation gaps to identify what needs to change\n2. Generate a minimal patch that addresses the gaps\n3. Respect the patch scope rules strictly\n4. Respond with ONLY a JSON object matching the specified schema";
|
|
17
|
+
export declare function buildContextualEvolvePrompt(spec: Spec, evaluationResult: EvaluationResult, evolutionHistory: EvolutionGeneration[]): string;
|
|
18
|
+
export declare function buildReExecutionPrompt(task: AtomicTask, spec: Spec, completedResults: TaskExecutionResult[], patchSummary: string): string;
|
|
19
|
+
//# sourceMappingURL=prompts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../../src/execute/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,UAAU,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAQzN,eAAO,MAAM,qBAAqB,wgCAcsC,CAAC;AAIzE,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAqC1D;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,kBAAkB,EAAE,YAAY,EAAE,GAAG,MAAM,CAwCzF;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,MAAM,CAmClF;AAED,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,IAAI,EACV,WAAW,EAAE,UAAU,EAAE,EACzB,UAAU,EAAE,SAAS,EAAE,GACtB,MAAM,CAwCR;AAID,eAAO,MAAM,+BAA+B,+dAMqB,CAAC;AAElE,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,UAAU,EAChB,IAAI,EAAE,IAAI,EACV,gBAAgB,EAAE,mBAAmB,EAAE,EACvC,YAAY,EAAE,UAAU,EAAE,GACzB,MAAM,CAwCR;AAID,eAAO,MAAM,gCAAgC,+fAOoB,CAAC;AAElE,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,IAAI,EACV,aAAa,EAAE,YAAY,EAAE,EAC7B,WAAW,EAAE,mBAAmB,EAAE,GACjC,MAAM,CA2CR;AAED,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,UAAU,EAChB,UAAU,EAAE,mBAAmB,EAC/B,UAAU,EAAE,UAAU,GACrB,MAAM,CA+BR;AAED,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,IAAI,EACV,aAAa,EAAE,YAAY,EAAE,EAC7B,WAAW,EAAE,mBAAmB,EAAE,EAClC,gBAAgB,EAAE,gBAAgB,GACjC,MAAM,CA8CR;AAID,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,kBAAkB,EAAE,GAClC,MAAM,CAqCR;AAID,eAAO,MAAM,mCAAmC,6bAMgB,CAAC;AAEjE,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,IAAI,EACV,cAAc,EAAE,uBAAuB,EAAE,EACzC,WAAW,EAAE,mBAAmB,EAAE,GACjC,MAAM,CAkCR;AAED,eAAO,MAAM,+BAA+B,muBAYqB,CAAC;AAElE,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,IAAI,EACV,gBAAgB,EAAE,gBAAgB,EAClC,gBAAgB,EAAE,mBAAmB,EAAE,GACtC,MAAM,CAiDR;AAED,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,UAAU,EAChB,IAAI,EAAE,IAAI,EACV,gBAAgB,EAAE,mBAAmB,EAAE,EACvC,YAAY,EAAE,MAAM,GACnB,MAAM,CAkCR"}
|
|
@@ -0,0 +1,505 @@
|
|
|
1
|
+
import { PLANNING_PRINCIPLE_SEQUENCE, PLANNING_TOTAL_STEPS, } from '../core/constants.js';
|
|
2
|
+
// ─── System Prompt ──────────────────────────────────────────────
|
|
3
|
+
export const EXECUTE_SYSTEM_PROMPT = `You are a Gestalt-trained execution planner. Your goal is to transform a validated Spec specification into a concrete, dependency-aware Execution Plan by applying Gestalt psychology principles as a structured planning framework.
|
|
4
|
+
|
|
5
|
+
## Planning Phases (in order)
|
|
6
|
+
1. **Figure-Ground**: Classify acceptance criteria as essential (figure) or supplementary (ground), assign priorities
|
|
7
|
+
2. **Closure**: Decompose ACs into atomic tasks, identify implicit sub-tasks not explicitly stated
|
|
8
|
+
3. **Proximity**: Group related atomic tasks into logical task groups by domain
|
|
9
|
+
4. **Continuity**: Validate the dependency DAG — ensure no cycles, no conflicts, clear execution order
|
|
10
|
+
|
|
11
|
+
## Rules
|
|
12
|
+
1. Each phase must complete before the next begins
|
|
13
|
+
2. Every acceptance criterion must be addressed
|
|
14
|
+
3. Atomic tasks must be independently executable units
|
|
15
|
+
4. All tasks must belong to exactly one group
|
|
16
|
+
5. The final DAG must be acyclic with a valid topological ordering
|
|
17
|
+
6. Always respond with ONLY a JSON object matching the specified schema`;
|
|
18
|
+
// ─── Step Prompts ───────────────────────────────────────────────
|
|
19
|
+
export function buildFigureGroundPrompt(spec) {
|
|
20
|
+
const acList = spec.acceptanceCriteria
|
|
21
|
+
.map((ac, i) => ` [${i}] ${ac}`)
|
|
22
|
+
.join('\n');
|
|
23
|
+
return `## Phase 1: Figure-Ground Classification
|
|
24
|
+
|
|
25
|
+
Classify each acceptance criterion as "figure" (essential, core functionality) or "ground" (supplementary, nice-to-have).
|
|
26
|
+
|
|
27
|
+
**Spec Goal**: ${spec.goal}
|
|
28
|
+
|
|
29
|
+
**Constraints**:
|
|
30
|
+
${spec.constraints.map((c) => `- ${c}`).join('\n')}
|
|
31
|
+
|
|
32
|
+
**Acceptance Criteria**:
|
|
33
|
+
${acList}
|
|
34
|
+
|
|
35
|
+
**Ontology Entities**: ${spec.ontologySchema.entities.map((e) => e.name).join(', ')}
|
|
36
|
+
|
|
37
|
+
Respond with ONLY a JSON object:
|
|
38
|
+
{
|
|
39
|
+
"principle": "figure_ground",
|
|
40
|
+
"classifiedACs": [
|
|
41
|
+
{
|
|
42
|
+
"acIndex": 0,
|
|
43
|
+
"acText": "the AC text",
|
|
44
|
+
"classification": "figure" | "ground",
|
|
45
|
+
"priority": "critical" | "high" | "medium" | "low",
|
|
46
|
+
"reasoning": "why this classification"
|
|
47
|
+
}
|
|
48
|
+
]
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
Rules:
|
|
52
|
+
- Every AC must be classified (indices 0 to ${spec.acceptanceCriteria.length - 1})
|
|
53
|
+
- "figure" ACs should be the minimum set needed for the goal
|
|
54
|
+
- Priority reflects execution order importance`;
|
|
55
|
+
}
|
|
56
|
+
export function buildClosurePrompt(spec, figureGroundResult) {
|
|
57
|
+
const classified = figureGroundResult
|
|
58
|
+
.map((ac) => ` [${ac.acIndex}] (${ac.classification}/${ac.priority}) ${ac.acText}`)
|
|
59
|
+
.join('\n');
|
|
60
|
+
return `## Phase 2: Closure — Atomic Task Decomposition
|
|
61
|
+
|
|
62
|
+
Decompose the classified acceptance criteria into atomic, independently executable tasks. Identify implicit sub-tasks that are required but not explicitly stated.
|
|
63
|
+
|
|
64
|
+
**Spec Goal**: ${spec.goal}
|
|
65
|
+
|
|
66
|
+
**Classified ACs**:
|
|
67
|
+
${classified}
|
|
68
|
+
|
|
69
|
+
**Ontology**:
|
|
70
|
+
- Entities: ${spec.ontologySchema.entities.map((e) => `${e.name} (${e.attributes.join(', ')})`).join('; ')}
|
|
71
|
+
- Relations: ${spec.ontologySchema.relations.map((r) => `${r.from} → ${r.to} [${r.type}]`).join('; ')}
|
|
72
|
+
|
|
73
|
+
Respond with ONLY a JSON object:
|
|
74
|
+
{
|
|
75
|
+
"principle": "closure",
|
|
76
|
+
"atomicTasks": [
|
|
77
|
+
{
|
|
78
|
+
"taskId": "task-1",
|
|
79
|
+
"title": "Short task title",
|
|
80
|
+
"description": "What needs to be done",
|
|
81
|
+
"sourceAC": [0, 1],
|
|
82
|
+
"isImplicit": false,
|
|
83
|
+
"estimatedComplexity": "low" | "medium" | "high",
|
|
84
|
+
"dependsOn": ["task-0"]
|
|
85
|
+
}
|
|
86
|
+
]
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
Rules:
|
|
90
|
+
- taskId must be unique (use "task-0", "task-1", ...)
|
|
91
|
+
- sourceAC references AC indices from the classification step
|
|
92
|
+
- isImplicit=true for tasks inferred but not directly stated in any AC
|
|
93
|
+
- dependsOn references other taskIds (can be empty)
|
|
94
|
+
- Each task should be a single, testable unit of work`;
|
|
95
|
+
}
|
|
96
|
+
export function buildProximityPrompt(spec, atomicTasks) {
|
|
97
|
+
const taskList = atomicTasks
|
|
98
|
+
.map((t) => ` ${t.taskId}: ${t.title} [${t.estimatedComplexity}] depends: [${t.dependsOn.join(', ')}]`)
|
|
99
|
+
.join('\n');
|
|
100
|
+
return `## Phase 3: Proximity — Task Grouping
|
|
101
|
+
|
|
102
|
+
Group related atomic tasks into logical task groups based on domain, functionality, or natural affinity.
|
|
103
|
+
|
|
104
|
+
**Spec Goal**: ${spec.goal}
|
|
105
|
+
|
|
106
|
+
**Atomic Tasks**:
|
|
107
|
+
${taskList}
|
|
108
|
+
|
|
109
|
+
**Ontology Entities**: ${spec.ontologySchema.entities.map((e) => e.name).join(', ')}
|
|
110
|
+
|
|
111
|
+
Respond with ONLY a JSON object:
|
|
112
|
+
{
|
|
113
|
+
"principle": "proximity",
|
|
114
|
+
"taskGroups": [
|
|
115
|
+
{
|
|
116
|
+
"groupId": "group-1",
|
|
117
|
+
"name": "Group Name",
|
|
118
|
+
"domain": "Domain area",
|
|
119
|
+
"taskIds": ["task-0", "task-1"],
|
|
120
|
+
"reasoning": "Why these tasks belong together"
|
|
121
|
+
}
|
|
122
|
+
]
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
Rules:
|
|
126
|
+
- Every task must belong to exactly one group
|
|
127
|
+
- groupId must be unique (use "group-0", "group-1", ...)
|
|
128
|
+
- taskIds must reference valid task IDs from the atomic tasks list
|
|
129
|
+
- Groups should reflect natural domain boundaries`;
|
|
130
|
+
}
|
|
131
|
+
export function buildContinuityPrompt(spec, atomicTasks, taskGroups) {
|
|
132
|
+
const taskList = atomicTasks
|
|
133
|
+
.map((t) => ` ${t.taskId}: ${t.title} → depends: [${t.dependsOn.join(', ')}]`)
|
|
134
|
+
.join('\n');
|
|
135
|
+
const groupList = taskGroups
|
|
136
|
+
.map((g) => ` ${g.groupId} (${g.name}): [${g.taskIds.join(', ')}]`)
|
|
137
|
+
.join('\n');
|
|
138
|
+
return `## Phase 4: Continuity — DAG Validation
|
|
139
|
+
|
|
140
|
+
Validate the dependency graph for consistency. Check for cycles, conflicts between groups, and compute the execution order.
|
|
141
|
+
|
|
142
|
+
**Spec Goal**: ${spec.goal}
|
|
143
|
+
|
|
144
|
+
**Tasks & Dependencies**:
|
|
145
|
+
${taskList}
|
|
146
|
+
|
|
147
|
+
**Task Groups**:
|
|
148
|
+
${groupList}
|
|
149
|
+
|
|
150
|
+
Respond with ONLY a JSON object:
|
|
151
|
+
{
|
|
152
|
+
"principle": "continuity",
|
|
153
|
+
"dagValidation": {
|
|
154
|
+
"isValid": true | false,
|
|
155
|
+
"hasCycles": true | false,
|
|
156
|
+
"cycleDetails": ["task-A → task-B → task-A"],
|
|
157
|
+
"hasConflicts": true | false,
|
|
158
|
+
"conflictDetails": ["description of conflict"],
|
|
159
|
+
"topologicalOrder": ["task-0", "task-2", "task-1"],
|
|
160
|
+
"criticalPath": ["task-0", "task-1", "task-3"]
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
Rules:
|
|
165
|
+
- topologicalOrder: valid ordering where each task comes after its dependencies
|
|
166
|
+
- criticalPath: the longest chain of dependent tasks (determines minimum execution time)
|
|
167
|
+
- If cycles or conflicts are found, isValid must be false
|
|
168
|
+
- cycleDetails/conflictDetails should describe the issues found`;
|
|
169
|
+
}
|
|
170
|
+
// ─── Execution Phase Prompts ────────────────────────────────────
|
|
171
|
+
export const EXECUTE_EXECUTION_SYSTEM_PROMPT = `You are a Gestalt-trained task executor. You implement atomic tasks from an execution plan one at a time. Apply the Similarity principle: leverage patterns from previously completed tasks to maintain consistency.
|
|
172
|
+
|
|
173
|
+
## Rules
|
|
174
|
+
1. Implement exactly what the task description specifies
|
|
175
|
+
2. Reference previous task outputs for consistent patterns
|
|
176
|
+
3. Respond with ONLY a JSON object matching the specified schema
|
|
177
|
+
4. Include file paths in artifacts when creating/modifying files`;
|
|
178
|
+
export function buildTaskExecutionPrompt(task, spec, completedResults, similarTasks) {
|
|
179
|
+
const completedSummary = completedResults.length > 0
|
|
180
|
+
? completedResults
|
|
181
|
+
.map((r) => ` ${r.taskId}: [${r.status}] ${r.output.slice(0, 200)}`)
|
|
182
|
+
.join('\n')
|
|
183
|
+
: ' (none)';
|
|
184
|
+
const similarContext = similarTasks.length > 0
|
|
185
|
+
? `\n**Similar completed tasks** (use for consistent patterns):\n${similarTasks
|
|
186
|
+
.map((t) => {
|
|
187
|
+
const result = completedResults.find((r) => r.taskId === t.taskId);
|
|
188
|
+
return ` ${t.taskId}: ${t.title} → ${result?.output.slice(0, 150) ?? 'N/A'}`;
|
|
189
|
+
})
|
|
190
|
+
.join('\n')}`
|
|
191
|
+
: '';
|
|
192
|
+
return `## Task Execution
|
|
193
|
+
|
|
194
|
+
**Spec Goal**: ${spec.goal}
|
|
195
|
+
|
|
196
|
+
**Current Task**:
|
|
197
|
+
- ID: ${task.taskId}
|
|
198
|
+
- Title: ${task.title}
|
|
199
|
+
- Description: ${task.description}
|
|
200
|
+
- Complexity: ${task.estimatedComplexity}
|
|
201
|
+
- Dependencies: [${task.dependsOn.join(', ')}]
|
|
202
|
+
|
|
203
|
+
**Completed Tasks**:
|
|
204
|
+
${completedSummary}
|
|
205
|
+
${similarContext}
|
|
206
|
+
|
|
207
|
+
Implement this task and respond with ONLY a JSON object:
|
|
208
|
+
{
|
|
209
|
+
"taskId": "${task.taskId}",
|
|
210
|
+
"status": "completed",
|
|
211
|
+
"output": "Description of what was implemented and key decisions made",
|
|
212
|
+
"artifacts": ["path/to/file1.ts", "path/to/file2.ts"]
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
If the task cannot be completed, use status "failed" and explain why in output.`;
|
|
216
|
+
}
|
|
217
|
+
// ─── Evaluate Phase Prompts ─────────────────────────────────────
|
|
218
|
+
export const EXECUTE_EVALUATION_SYSTEM_PROMPT = `You are a Gestalt-trained evaluator. You verify whether all acceptance criteria have been satisfied by the completed task results. Be thorough and evidence-based.
|
|
219
|
+
|
|
220
|
+
## Rules
|
|
221
|
+
1. Check each acceptance criterion against the completed task outputs
|
|
222
|
+
2. Provide specific evidence for satisfied criteria
|
|
223
|
+
3. Identify concrete gaps for unsatisfied criteria
|
|
224
|
+
4. The overall score should reflect the ratio of satisfied criteria weighted by priority
|
|
225
|
+
5. Respond with ONLY a JSON object matching the specified schema`;
|
|
226
|
+
export function buildEvaluationPrompt(spec, classifiedACs, taskResults) {
|
|
227
|
+
const acList = classifiedACs
|
|
228
|
+
.map((ac) => ` [${ac.acIndex}] (${ac.classification}/${ac.priority}) ${ac.acText}`)
|
|
229
|
+
.join('\n');
|
|
230
|
+
const resultSummary = taskResults
|
|
231
|
+
.map((r) => ` ${r.taskId}: [${r.status}] ${r.output}\n artifacts: [${r.artifacts.join(', ')}]`)
|
|
232
|
+
.join('\n');
|
|
233
|
+
return `## Evaluation — Acceptance Criteria Verification
|
|
234
|
+
|
|
235
|
+
**Spec Goal**: ${spec.goal}
|
|
236
|
+
|
|
237
|
+
**Acceptance Criteria**:
|
|
238
|
+
${acList}
|
|
239
|
+
|
|
240
|
+
**Completed Task Results**:
|
|
241
|
+
${resultSummary}
|
|
242
|
+
|
|
243
|
+
Verify each AC against the task results and respond with ONLY a JSON object:
|
|
244
|
+
{
|
|
245
|
+
"verifications": [
|
|
246
|
+
{
|
|
247
|
+
"acIndex": 0,
|
|
248
|
+
"satisfied": true,
|
|
249
|
+
"evidence": "Specific evidence from task results that this AC is met",
|
|
250
|
+
"gaps": []
|
|
251
|
+
},
|
|
252
|
+
{
|
|
253
|
+
"acIndex": 1,
|
|
254
|
+
"satisfied": false,
|
|
255
|
+
"evidence": "Partial evidence found",
|
|
256
|
+
"gaps": ["What is missing or incomplete"]
|
|
257
|
+
}
|
|
258
|
+
],
|
|
259
|
+
"overallScore": 0.85,
|
|
260
|
+
"recommendations": ["Suggestions for improvement if score < 1.0"]
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
Rules:
|
|
264
|
+
- Every AC index must be verified (indices 0 to ${spec.acceptanceCriteria.length - 1})
|
|
265
|
+
- overallScore: weighted ratio (figure/critical ACs weigh more)
|
|
266
|
+
- recommendations: actionable items if any gaps exist`;
|
|
267
|
+
}
|
|
268
|
+
export function buildDriftRetrospectivePrompt(spec, task, taskResult, driftScore) {
|
|
269
|
+
const dimSummary = driftScore.dimensions
|
|
270
|
+
.map((d) => ` ${d.name}: ${d.score.toFixed(3)} — ${d.detail}`)
|
|
271
|
+
.join('\n');
|
|
272
|
+
return `## Drift Retrospective
|
|
273
|
+
|
|
274
|
+
A task has exceeded the drift threshold (${driftScore.overall.toFixed(3)} > threshold).
|
|
275
|
+
|
|
276
|
+
**Spec Goal**: ${spec.goal}
|
|
277
|
+
|
|
278
|
+
**Constraints**: ${spec.constraints.join(', ')}
|
|
279
|
+
|
|
280
|
+
**Task**: ${task.taskId} — ${task.title}
|
|
281
|
+
**Task Description**: ${task.description}
|
|
282
|
+
**Task Output**: ${taskResult.output}
|
|
283
|
+
|
|
284
|
+
**Drift Dimensions**:
|
|
285
|
+
${dimSummary}
|
|
286
|
+
|
|
287
|
+
Analyze the drift and respond with ONLY a JSON object:
|
|
288
|
+
{
|
|
289
|
+
"taskId": "${task.taskId}",
|
|
290
|
+
"driftScore": ${JSON.stringify(driftScore)},
|
|
291
|
+
"causeAnalysis": "Explain why this task drifted from the Spec",
|
|
292
|
+
"correctionSuggestions": ["Concrete suggestion 1", "Concrete suggestion 2"]
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
Rules:
|
|
296
|
+
- causeAnalysis: specific, evidence-based explanation of the drift
|
|
297
|
+
- correctionSuggestions: actionable items to bring the task back in alignment`;
|
|
298
|
+
}
|
|
299
|
+
export function buildContextualEvaluationPrompt(spec, classifiedACs, taskResults, structuralResult) {
|
|
300
|
+
const acList = classifiedACs
|
|
301
|
+
.map((ac) => ` [${ac.acIndex}] (${ac.classification}/${ac.priority}) ${ac.acText}`)
|
|
302
|
+
.join('\n');
|
|
303
|
+
const resultSummary = taskResults
|
|
304
|
+
.map((r) => ` ${r.taskId}: [${r.status}] ${r.output}\n artifacts: [${r.artifacts.join(', ')}]`)
|
|
305
|
+
.join('\n');
|
|
306
|
+
const structuralSummary = structuralResult.commands
|
|
307
|
+
.map((c) => ` ${c.name}: ${c.exitCode === 0 ? 'PASS' : `FAIL (exit ${c.exitCode})`}`)
|
|
308
|
+
.join('\n');
|
|
309
|
+
return `## Contextual Evaluation — Semantic Verification
|
|
310
|
+
|
|
311
|
+
**Structural Check Results** (all passed):
|
|
312
|
+
${structuralSummary}
|
|
313
|
+
|
|
314
|
+
**Spec Goal**: ${spec.goal}
|
|
315
|
+
|
|
316
|
+
**Acceptance Criteria**:
|
|
317
|
+
${acList}
|
|
318
|
+
|
|
319
|
+
**Completed Task Results**:
|
|
320
|
+
${resultSummary}
|
|
321
|
+
|
|
322
|
+
Verify each AC against the task results and assess goal alignment. Respond with ONLY a JSON object:
|
|
323
|
+
{
|
|
324
|
+
"verifications": [
|
|
325
|
+
{
|
|
326
|
+
"acIndex": 0,
|
|
327
|
+
"satisfied": true,
|
|
328
|
+
"evidence": "Specific evidence from task results that this AC is met",
|
|
329
|
+
"gaps": []
|
|
330
|
+
}
|
|
331
|
+
],
|
|
332
|
+
"overallScore": 0.85,
|
|
333
|
+
"goalAlignment": 0.90,
|
|
334
|
+
"recommendations": ["Suggestions for improvement if score < 1.0"]
|
|
335
|
+
}
|
|
336
|
+
|
|
337
|
+
Rules:
|
|
338
|
+
- Every AC index must be verified (indices 0 to ${spec.acceptanceCriteria.length - 1})
|
|
339
|
+
- overallScore: weighted ratio (figure/critical ACs weigh more)
|
|
340
|
+
- goalAlignment: how well the overall implementation aligns with the Spec goal (0.0-1.0)
|
|
341
|
+
- recommendations: actionable items if any gaps exist`;
|
|
342
|
+
}
|
|
343
|
+
// ─── Dispatcher ─────────────────────────────────────────────────
|
|
344
|
+
export function buildPlanningStepPrompt(spec, stepNumber, previousSteps) {
|
|
345
|
+
const principle = PLANNING_PRINCIPLE_SEQUENCE[stepNumber - 1];
|
|
346
|
+
if (!principle) {
|
|
347
|
+
throw new Error(`Invalid step number: ${stepNumber}. Must be 1-${PLANNING_TOTAL_STEPS}`);
|
|
348
|
+
}
|
|
349
|
+
switch (stepNumber) {
|
|
350
|
+
case 1:
|
|
351
|
+
return buildFigureGroundPrompt(spec);
|
|
352
|
+
case 2: {
|
|
353
|
+
const fgResult = previousSteps.find((s) => s.principle === 'figure_ground');
|
|
354
|
+
return buildClosurePrompt(spec, fgResult?.classifiedACs ?? []);
|
|
355
|
+
}
|
|
356
|
+
case 3: {
|
|
357
|
+
const closureResult = previousSteps.find((s) => s.principle === 'closure');
|
|
358
|
+
return buildProximityPrompt(spec, closureResult?.atomicTasks ?? []);
|
|
359
|
+
}
|
|
360
|
+
case 4: {
|
|
361
|
+
const closureResult2 = previousSteps.find((s) => s.principle === 'closure');
|
|
362
|
+
const proximityResult = previousSteps.find((s) => s.principle === 'proximity');
|
|
363
|
+
return buildContinuityPrompt(spec, closureResult2?.atomicTasks ?? [], proximityResult?.taskGroups ?? []);
|
|
364
|
+
}
|
|
365
|
+
default:
|
|
366
|
+
throw new Error(`Invalid step number: ${stepNumber}`);
|
|
367
|
+
}
|
|
368
|
+
}
|
|
369
|
+
// ─── Evolution Loop Prompts ──────────────────────────────────
|
|
370
|
+
export const EVOLVE_STRUCTURAL_FIX_SYSTEM_PROMPT = `You are a Gestalt-trained structural fixer. You generate fix tasks for structural failures (lint, build, test). Each fix task should target a specific failed command and provide concrete instructions.
|
|
371
|
+
|
|
372
|
+
## Rules
|
|
373
|
+
1. Analyze each failed structural command and its error output
|
|
374
|
+
2. Generate a targeted fix task for each failure
|
|
375
|
+
3. Fix tasks should be independent and specific
|
|
376
|
+
4. Respond with ONLY a JSON array matching the specified schema`;
|
|
377
|
+
export function buildStructuralFixPrompt(spec, failedCommands, taskResults) {
|
|
378
|
+
const failedSummary = failedCommands
|
|
379
|
+
.map((c) => ` ${c.name}: "${c.command}" → exit ${c.exitCode}\n output: ${c.output.slice(0, 500)}`)
|
|
380
|
+
.join('\n');
|
|
381
|
+
const taskSummary = taskResults
|
|
382
|
+
.map((r) => ` ${r.taskId}: [${r.status}] ${r.output.slice(0, 150)}`)
|
|
383
|
+
.join('\n');
|
|
384
|
+
return `## Structural Fix Generation
|
|
385
|
+
|
|
386
|
+
**Spec Goal**: ${spec.goal}
|
|
387
|
+
|
|
388
|
+
**Failed Structural Commands**:
|
|
389
|
+
${failedSummary}
|
|
390
|
+
|
|
391
|
+
**Completed Task Results** (context):
|
|
392
|
+
${taskSummary}
|
|
393
|
+
|
|
394
|
+
Generate a fix task for each failed command. Respond with ONLY a JSON array:
|
|
395
|
+
[
|
|
396
|
+
{
|
|
397
|
+
"taskId": "fix-1",
|
|
398
|
+
"failedCommand": "the command that failed",
|
|
399
|
+
"errorOutput": "key error lines",
|
|
400
|
+
"fixDescription": "Concrete steps to fix this failure",
|
|
401
|
+
"artifacts": ["path/to/file-to-modify.ts"]
|
|
402
|
+
}
|
|
403
|
+
]
|
|
404
|
+
|
|
405
|
+
Rules:
|
|
406
|
+
- One fix task per failed command
|
|
407
|
+
- fixDescription must be specific and actionable
|
|
408
|
+
- artifacts: files that need modification`;
|
|
409
|
+
}
|
|
410
|
+
export const EVOLVE_CONTEXTUAL_SYSTEM_PROMPT = `You are a Gestalt-trained spec evolver. When evaluation shows unsatisfied acceptance criteria, you generate a Spec patch that addresses the gaps while preserving the original goal.
|
|
411
|
+
|
|
412
|
+
## Patch Scope Rules (CRITICAL)
|
|
413
|
+
- L1 (acceptanceCriteria): FREE — add, modify, or remove
|
|
414
|
+
- L2 (constraints): FREE — add, modify, or remove
|
|
415
|
+
- L3 (ontologySchema): SELECTIVE — add or modify entities/relations only, NEVER delete existing ones
|
|
416
|
+
- L4 (goal): FORBIDDEN — the goal must NEVER change
|
|
417
|
+
|
|
418
|
+
## Rules
|
|
419
|
+
1. Analyze evaluation gaps to identify what needs to change
|
|
420
|
+
2. Generate a minimal patch that addresses the gaps
|
|
421
|
+
3. Respect the patch scope rules strictly
|
|
422
|
+
4. Respond with ONLY a JSON object matching the specified schema`;
|
|
423
|
+
export function buildContextualEvolvePrompt(spec, evaluationResult, evolutionHistory) {
|
|
424
|
+
const unsatisfied = evaluationResult.verifications
|
|
425
|
+
.filter((v) => !v.satisfied)
|
|
426
|
+
.map((v) => ` [${v.acIndex}] ${spec.acceptanceCriteria[v.acIndex] ?? 'N/A'}\n gaps: ${v.gaps.join('; ')}`)
|
|
427
|
+
.join('\n');
|
|
428
|
+
const historySummary = evolutionHistory.length > 0
|
|
429
|
+
? `\n**Evolution History** (${evolutionHistory.length} generations):\n${evolutionHistory
|
|
430
|
+
.map((g) => ` Gen ${g.generation}: score=${g.evaluationScore.toFixed(2)}, goalAlign=${g.goalAlignment.toFixed(2)}, delta=[${g.delta.fieldsChanged.join(', ')}]`)
|
|
431
|
+
.join('\n')}`
|
|
432
|
+
: '';
|
|
433
|
+
return `## Contextual Evolution — Spec Patch Generation
|
|
434
|
+
|
|
435
|
+
**Spec Goal** (IMMUTABLE): ${spec.goal}
|
|
436
|
+
|
|
437
|
+
**Current Constraints**: ${spec.constraints.map((c, i) => `\n [${i}] ${c}`).join('')}
|
|
438
|
+
|
|
439
|
+
**Current Acceptance Criteria**: ${spec.acceptanceCriteria.map((ac, i) => `\n [${i}] ${ac}`).join('')}
|
|
440
|
+
|
|
441
|
+
**Current Ontology**:
|
|
442
|
+
- Entities: ${spec.ontologySchema.entities.map((e) => e.name).join(', ')}
|
|
443
|
+
- Relations: ${spec.ontologySchema.relations.map((r) => `${r.from}→${r.to}[${r.type}]`).join(', ')}
|
|
444
|
+
|
|
445
|
+
**Unsatisfied Criteria**:
|
|
446
|
+
${unsatisfied}
|
|
447
|
+
|
|
448
|
+
**Recommendations**: ${evaluationResult.recommendations.join('; ')}
|
|
449
|
+
|
|
450
|
+
**Evaluation Score**: ${evaluationResult.overallScore.toFixed(2)} | **Goal Alignment**: ${evaluationResult.goalAlignment.toFixed(2)}
|
|
451
|
+
${historySummary}
|
|
452
|
+
|
|
453
|
+
Generate a Spec patch to address the gaps. Respond with ONLY a JSON object:
|
|
454
|
+
{
|
|
455
|
+
"acceptanceCriteria": ["updated AC list if changed"],
|
|
456
|
+
"constraints": ["updated constraints if changed"],
|
|
457
|
+
"ontologySchema": {
|
|
458
|
+
"entities": [{"name": "...", "description": "...", "attributes": ["..."]}],
|
|
459
|
+
"relations": [{"from": "...", "to": "...", "type": "..."}]
|
|
460
|
+
}
|
|
461
|
+
}
|
|
462
|
+
|
|
463
|
+
Rules:
|
|
464
|
+
- Only include fields that need to change (omit unchanged fields)
|
|
465
|
+
- acceptanceCriteria/constraints: provide the FULL list (not just additions)
|
|
466
|
+
- ontologySchema.entities: must include ALL existing entities + any new ones
|
|
467
|
+
- ontologySchema.relations: must include ALL existing relations + any new ones
|
|
468
|
+
- Focus on addressing the specific gaps identified
|
|
469
|
+
- Keep changes minimal to avoid scope creep`;
|
|
470
|
+
}
|
|
471
|
+
export function buildReExecutionPrompt(task, spec, completedResults, patchSummary) {
|
|
472
|
+
const completedSummary = completedResults.length > 0
|
|
473
|
+
? completedResults
|
|
474
|
+
.map((r) => ` ${r.taskId}: [${r.status}] ${r.output.slice(0, 200)}`)
|
|
475
|
+
.join('\n')
|
|
476
|
+
: ' (none)';
|
|
477
|
+
return `## Re-Execution Task (Evolution Loop)
|
|
478
|
+
|
|
479
|
+
The Spec has been patched. Re-implement this task with the updated requirements.
|
|
480
|
+
|
|
481
|
+
**Spec Goal**: ${spec.goal}
|
|
482
|
+
|
|
483
|
+
**Spec Patch Summary**: ${patchSummary}
|
|
484
|
+
|
|
485
|
+
**Current Task**:
|
|
486
|
+
- ID: ${task.taskId}
|
|
487
|
+
- Title: ${task.title}
|
|
488
|
+
- Description: ${task.description}
|
|
489
|
+
- Complexity: ${task.estimatedComplexity}
|
|
490
|
+
- Dependencies: [${task.dependsOn.join(', ')}]
|
|
491
|
+
|
|
492
|
+
**Other Completed Tasks**:
|
|
493
|
+
${completedSummary}
|
|
494
|
+
|
|
495
|
+
Implement this task under the patched Spec and respond with ONLY a JSON object:
|
|
496
|
+
{
|
|
497
|
+
"taskId": "${task.taskId}",
|
|
498
|
+
"status": "completed",
|
|
499
|
+
"output": "Description of what was implemented and key decisions made",
|
|
500
|
+
"artifacts": ["path/to/file1.ts", "path/to/file2.ts"]
|
|
501
|
+
}
|
|
502
|
+
|
|
503
|
+
If the task cannot be completed, use status "failed" and explain why in output.`;
|
|
504
|
+
}
|
|
505
|
+
//# sourceMappingURL=prompts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../../src/execute/prompts.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { EventStore } from '../events/store.js';
|
|
2
|
+
import type { ExecuteSession } from '../core/types.js';
|
|
3
|
+
/**
|
|
4
|
+
* ExecuteSessionRepository — Event Replay 기반 ExecuteSession 재구성.
|
|
5
|
+
* 도메인 전용 Repository: aggregate_type='execute' 이벤트만 처리.
|
|
6
|
+
*/
|
|
7
|
+
export declare class ExecuteSessionRepository {
|
|
8
|
+
private eventStore;
|
|
9
|
+
constructor(eventStore: EventStore);
|
|
10
|
+
/**
|
|
11
|
+
* 이벤트를 fold하여 ExecuteSession 상태를 완전히 복원한다.
|
|
12
|
+
*/
|
|
13
|
+
reconstruct(sessionId: string): ExecuteSession | null;
|
|
14
|
+
/**
|
|
15
|
+
* 모든 Execute 세션 ID 목록을 반환한다.
|
|
16
|
+
*/
|
|
17
|
+
list(): string[];
|
|
18
|
+
/**
|
|
19
|
+
* 모든 Execute 세션을 재구성하여 반환한다.
|
|
20
|
+
*/
|
|
21
|
+
reconstructAll(): ExecuteSession[];
|
|
22
|
+
private foldEvents;
|
|
23
|
+
private applyEvent;
|
|
24
|
+
/**
|
|
25
|
+
* 이전 payload 형식(spec 전체 없음)을 위한 최소 Spec 생성.
|
|
26
|
+
* 재구성은 되지만 일부 데이터가 불완전할 수 있음.
|
|
27
|
+
*/
|
|
28
|
+
private buildMinimalSpec;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=repository.d.ts.map
|