summaryrefslogtreecommitdiff
path: root/internal/api/elaborate.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/api/elaborate.go')
-rw-r--r--internal/api/elaborate.go8
1 files changed, 6 insertions, 2 deletions
diff --git a/internal/api/elaborate.go b/internal/api/elaborate.go
index 37380c2..6ddb64f 100644
--- a/internal/api/elaborate.go
+++ b/internal/api/elaborate.go
@@ -327,7 +327,9 @@ Output ONLY valid JSON matching this schema:
],
"validation": {
"type": "build|test|smoke",
- "acceptance_criteria": [{"name": "...", "verification": "...", "test_ref": "optional"}],
+ "acceptance_criteria": [
+ {"name": "criterion name", "verification": "how to verify (e.g. run test X, curl Y)", "test_ref": "optional: TestFuncName or file:line"}
+ ],
"success_criteria": "what success looks like"
}
}
@@ -337,7 +339,9 @@ Rules:
- Subtasks within a task are order-dependent and run sequentially
- Instructions must include specific file paths, function names, and exact changes
- Instructions must end with: git add -A && git commit -m "..." && git push origin <branch>
-- Validation should match the scope: small change = build check; new feature = smoke test`
+- Validation should match the scope: small change = build check; new feature = smoke test
+- Each acceptance criterion must be independently verifiable (e.g. a curl command, a specific test run, a file check)
+- Include a test_ref when a specific test covers the criterion (e.g. "TestFoo" or "internal/api/foo_test.go:42")`
}
func (s *Server) elaborateStoryWithClaude(ctx context.Context, workDir, goal string) (*elaboratedStory, error) {