@agile-vibe-coding/avc 0.1.0 → 0.2.3
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/README.md +2 -0
- package/cli/agent-loader.js +21 -0
- package/cli/agents/agent-selector.md +129 -0
- package/cli/agents/architecture-recommender.md +418 -0
- package/cli/agents/database-deep-dive.md +470 -0
- package/cli/agents/database-recommender.md +634 -0
- package/cli/agents/doc-distributor.md +176 -0
- package/cli/agents/documentation-updater.md +203 -0
- package/cli/agents/epic-story-decomposer.md +280 -0
- package/cli/agents/feature-context-generator.md +91 -0
- package/cli/agents/gap-checker-epic.md +52 -0
- package/cli/agents/impact-checker-story.md +51 -0
- package/cli/agents/migration-guide-generator.md +305 -0
- package/cli/agents/mission-scope-generator.md +79 -0
- package/cli/agents/mission-scope-validator.md +112 -0
- package/cli/agents/project-context-extractor.md +107 -0
- package/cli/agents/project-documentation-creator.json +226 -0
- package/cli/agents/project-documentation-creator.md +595 -0
- package/cli/agents/question-prefiller.md +269 -0
- package/cli/agents/refiner-epic.md +39 -0
- package/cli/agents/refiner-story.md +42 -0
- package/cli/agents/solver-epic-api.json +15 -0
- package/cli/agents/solver-epic-api.md +39 -0
- package/cli/agents/solver-epic-backend.json +15 -0
- package/cli/agents/solver-epic-backend.md +39 -0
- package/cli/agents/solver-epic-cloud.json +15 -0
- package/cli/agents/solver-epic-cloud.md +39 -0
- package/cli/agents/solver-epic-data.json +15 -0
- package/cli/agents/solver-epic-data.md +39 -0
- package/cli/agents/solver-epic-database.json +15 -0
- package/cli/agents/solver-epic-database.md +39 -0
- package/cli/agents/solver-epic-developer.json +15 -0
- package/cli/agents/solver-epic-developer.md +39 -0
- package/cli/agents/solver-epic-devops.json +15 -0
- package/cli/agents/solver-epic-devops.md +39 -0
- package/cli/agents/solver-epic-frontend.json +15 -0
- package/cli/agents/solver-epic-frontend.md +39 -0
- package/cli/agents/solver-epic-mobile.json +15 -0
- package/cli/agents/solver-epic-mobile.md +39 -0
- package/cli/agents/solver-epic-qa.json +15 -0
- package/cli/agents/solver-epic-qa.md +39 -0
- package/cli/agents/solver-epic-security.json +15 -0
- package/cli/agents/solver-epic-security.md +39 -0
- package/cli/agents/solver-epic-solution-architect.json +15 -0
- package/cli/agents/solver-epic-solution-architect.md +39 -0
- package/cli/agents/solver-epic-test-architect.json +15 -0
- package/cli/agents/solver-epic-test-architect.md +39 -0
- package/cli/agents/solver-epic-ui.json +15 -0
- package/cli/agents/solver-epic-ui.md +39 -0
- package/cli/agents/solver-epic-ux.json +15 -0
- package/cli/agents/solver-epic-ux.md +39 -0
- package/cli/agents/solver-story-api.json +15 -0
- package/cli/agents/solver-story-api.md +39 -0
- package/cli/agents/solver-story-backend.json +15 -0
- package/cli/agents/solver-story-backend.md +39 -0
- package/cli/agents/solver-story-cloud.json +15 -0
- package/cli/agents/solver-story-cloud.md +39 -0
- package/cli/agents/solver-story-data.json +15 -0
- package/cli/agents/solver-story-data.md +39 -0
- package/cli/agents/solver-story-database.json +15 -0
- package/cli/agents/solver-story-database.md +39 -0
- package/cli/agents/solver-story-developer.json +15 -0
- package/cli/agents/solver-story-developer.md +39 -0
- package/cli/agents/solver-story-devops.json +15 -0
- package/cli/agents/solver-story-devops.md +39 -0
- package/cli/agents/solver-story-frontend.json +15 -0
- package/cli/agents/solver-story-frontend.md +39 -0
- package/cli/agents/solver-story-mobile.json +15 -0
- package/cli/agents/solver-story-mobile.md +39 -0
- package/cli/agents/solver-story-qa.json +15 -0
- package/cli/agents/solver-story-qa.md +39 -0
- package/cli/agents/solver-story-security.json +15 -0
- package/cli/agents/solver-story-security.md +39 -0
- package/cli/agents/solver-story-solution-architect.json +15 -0
- package/cli/agents/solver-story-solution-architect.md +39 -0
- package/cli/agents/solver-story-test-architect.json +15 -0
- package/cli/agents/solver-story-test-architect.md +39 -0
- package/cli/agents/solver-story-ui.json +15 -0
- package/cli/agents/solver-story-ui.md +39 -0
- package/cli/agents/solver-story-ux.json +15 -0
- package/cli/agents/solver-story-ux.md +39 -0
- package/cli/agents/story-doc-enricher.md +133 -0
- package/cli/agents/suggestion-business-analyst.md +88 -0
- package/cli/agents/suggestion-deployment-architect.md +263 -0
- package/cli/agents/suggestion-product-manager.md +129 -0
- package/cli/agents/suggestion-security-specialist.md +156 -0
- package/cli/agents/suggestion-technical-architect.md +269 -0
- package/cli/agents/suggestion-ux-researcher.md +93 -0
- package/cli/agents/task-subtask-decomposer.md +188 -0
- package/cli/agents/validator-documentation.json +152 -0
- package/cli/agents/validator-documentation.md +453 -0
- package/cli/agents/validator-epic-api.json +93 -0
- package/cli/agents/validator-epic-api.md +137 -0
- package/cli/agents/validator-epic-backend.json +93 -0
- package/cli/agents/validator-epic-backend.md +130 -0
- package/cli/agents/validator-epic-cloud.json +93 -0
- package/cli/agents/validator-epic-cloud.md +137 -0
- package/cli/agents/validator-epic-data.json +93 -0
- package/cli/agents/validator-epic-data.md +130 -0
- package/cli/agents/validator-epic-database.json +93 -0
- package/cli/agents/validator-epic-database.md +137 -0
- package/cli/agents/validator-epic-developer.json +74 -0
- package/cli/agents/validator-epic-developer.md +153 -0
- package/cli/agents/validator-epic-devops.json +74 -0
- package/cli/agents/validator-epic-devops.md +153 -0
- package/cli/agents/validator-epic-frontend.json +74 -0
- package/cli/agents/validator-epic-frontend.md +153 -0
- package/cli/agents/validator-epic-mobile.json +93 -0
- package/cli/agents/validator-epic-mobile.md +130 -0
- package/cli/agents/validator-epic-qa.json +93 -0
- package/cli/agents/validator-epic-qa.md +130 -0
- package/cli/agents/validator-epic-security.json +74 -0
- package/cli/agents/validator-epic-security.md +154 -0
- package/cli/agents/validator-epic-solution-architect.json +74 -0
- package/cli/agents/validator-epic-solution-architect.md +156 -0
- package/cli/agents/validator-epic-test-architect.json +93 -0
- package/cli/agents/validator-epic-test-architect.md +130 -0
- package/cli/agents/validator-epic-ui.json +93 -0
- package/cli/agents/validator-epic-ui.md +130 -0
- package/cli/agents/validator-epic-ux.json +93 -0
- package/cli/agents/validator-epic-ux.md +130 -0
- package/cli/agents/validator-selector.md +211 -0
- package/cli/agents/validator-story-api.json +104 -0
- package/cli/agents/validator-story-api.md +152 -0
- package/cli/agents/validator-story-backend.json +104 -0
- package/cli/agents/validator-story-backend.md +152 -0
- package/cli/agents/validator-story-cloud.json +104 -0
- package/cli/agents/validator-story-cloud.md +152 -0
- package/cli/agents/validator-story-data.json +104 -0
- package/cli/agents/validator-story-data.md +152 -0
- package/cli/agents/validator-story-database.json +104 -0
- package/cli/agents/validator-story-database.md +152 -0
- package/cli/agents/validator-story-developer.json +104 -0
- package/cli/agents/validator-story-developer.md +152 -0
- package/cli/agents/validator-story-devops.json +104 -0
- package/cli/agents/validator-story-devops.md +152 -0
- package/cli/agents/validator-story-frontend.json +104 -0
- package/cli/agents/validator-story-frontend.md +152 -0
- package/cli/agents/validator-story-mobile.json +104 -0
- package/cli/agents/validator-story-mobile.md +152 -0
- package/cli/agents/validator-story-qa.json +104 -0
- package/cli/agents/validator-story-qa.md +152 -0
- package/cli/agents/validator-story-security.json +104 -0
- package/cli/agents/validator-story-security.md +152 -0
- package/cli/agents/validator-story-solution-architect.json +104 -0
- package/cli/agents/validator-story-solution-architect.md +152 -0
- package/cli/agents/validator-story-test-architect.json +104 -0
- package/cli/agents/validator-story-test-architect.md +152 -0
- package/cli/agents/validator-story-ui.json +104 -0
- package/cli/agents/validator-story-ui.md +152 -0
- package/cli/agents/validator-story-ux.json +104 -0
- package/cli/agents/validator-story-ux.md +152 -0
- package/cli/ansi-colors.js +21 -0
- package/cli/build-docs.js +298 -0
- package/cli/ceremony-history.js +369 -0
- package/cli/command-logger.js +245 -0
- package/cli/components/static-output.js +63 -0
- package/cli/console-output-manager.js +94 -0
- package/cli/docs-sync.js +306 -0
- package/cli/epic-story-validator.js +1174 -0
- package/cli/evaluation-prompts.js +1008 -0
- package/cli/execution-context.js +195 -0
- package/cli/generate-summary-table.js +340 -0
- package/cli/index.js +3 -25
- package/cli/init-model-config.js +697 -0
- package/cli/init.js +1765 -100
- package/cli/kanban-server-manager.js +228 -0
- package/cli/llm-claude.js +109 -0
- package/cli/llm-gemini.js +115 -0
- package/cli/llm-mock.js +233 -0
- package/cli/llm-openai.js +233 -0
- package/cli/llm-provider.js +300 -0
- package/cli/llm-token-limits.js +102 -0
- package/cli/llm-verifier.js +454 -0
- package/cli/logger.js +32 -5
- package/cli/message-constants.js +58 -0
- package/cli/message-manager.js +334 -0
- package/cli/message-types.js +96 -0
- package/cli/messaging-api.js +297 -0
- package/cli/model-pricing.js +169 -0
- package/cli/model-query-engine.js +468 -0
- package/cli/model-recommendation-analyzer.js +495 -0
- package/cli/model-selector.js +269 -0
- package/cli/output-buffer.js +107 -0
- package/cli/process-manager.js +332 -0
- package/cli/repl-ink.js +5840 -504
- package/cli/repl-old.js +4 -4
- package/cli/seed-processor.js +792 -0
- package/cli/sprint-planning-processor.js +1813 -0
- package/cli/template-processor.js +2306 -108
- package/cli/templates/project.md +25 -8
- package/cli/templates/vitepress-config.mts.template +34 -0
- package/cli/token-tracker.js +520 -0
- package/cli/tools/generate-story-validators.js +317 -0
- package/cli/tools/generate-validators.js +669 -0
- package/cli/update-checker.js +19 -17
- package/cli/update-notifier.js +4 -4
- package/cli/validation-router.js +605 -0
- package/cli/verification-tracker.js +563 -0
- package/kanban/README.md +386 -0
- package/kanban/client/README.md +205 -0
- package/kanban/client/components.json +20 -0
- package/kanban/client/dist/assets/index-CiD8PS2e.js +306 -0
- package/kanban/client/dist/assets/index-nLh0m82Q.css +1 -0
- package/kanban/client/dist/index.html +16 -0
- package/kanban/client/dist/vite.svg +1 -0
- package/kanban/client/index.html +15 -0
- package/kanban/client/package-lock.json +9442 -0
- package/kanban/client/package.json +44 -0
- package/kanban/client/postcss.config.js +6 -0
- package/kanban/client/public/vite.svg +1 -0
- package/kanban/client/src/App.jsx +622 -0
- package/kanban/client/src/components/ProjectFileEditorPopup.jsx +117 -0
- package/kanban/client/src/components/ceremony/AskArchPopup.jsx +416 -0
- package/kanban/client/src/components/ceremony/AskModelPopup.jsx +616 -0
- package/kanban/client/src/components/ceremony/CeremonyWorkflowModal.jsx +946 -0
- package/kanban/client/src/components/ceremony/EpicStorySelectionModal.jsx +254 -0
- package/kanban/client/src/components/ceremony/SponsorCallModal.jsx +619 -0
- package/kanban/client/src/components/ceremony/SprintPlanningModal.jsx +704 -0
- package/kanban/client/src/components/ceremony/steps/ArchitectureStep.jsx +150 -0
- package/kanban/client/src/components/ceremony/steps/CompleteStep.jsx +154 -0
- package/kanban/client/src/components/ceremony/steps/DatabaseStep.jsx +202 -0
- package/kanban/client/src/components/ceremony/steps/DeploymentStep.jsx +123 -0
- package/kanban/client/src/components/ceremony/steps/MissionStep.jsx +106 -0
- package/kanban/client/src/components/ceremony/steps/ReviewAnswersStep.jsx +125 -0
- package/kanban/client/src/components/ceremony/steps/RunningStep.jsx +228 -0
- package/kanban/client/src/components/kanban/CardDetailModal.jsx +559 -0
- package/kanban/client/src/components/kanban/EpicSection.jsx +146 -0
- package/kanban/client/src/components/kanban/FilterToolbar.jsx +222 -0
- package/kanban/client/src/components/kanban/GroupingSelector.jsx +57 -0
- package/kanban/client/src/components/kanban/KanbanBoard.jsx +211 -0
- package/kanban/client/src/components/kanban/KanbanCard.jsx +138 -0
- package/kanban/client/src/components/kanban/KanbanColumn.jsx +90 -0
- package/kanban/client/src/components/kanban/RefineWorkItemPopup.jsx +789 -0
- package/kanban/client/src/components/layout/LoadingScreen.jsx +82 -0
- package/kanban/client/src/components/process/ProcessMonitorBar.jsx +80 -0
- package/kanban/client/src/components/settings/AgentEditorPopup.jsx +171 -0
- package/kanban/client/src/components/settings/AgentsTab.jsx +353 -0
- package/kanban/client/src/components/settings/ApiKeysTab.jsx +113 -0
- package/kanban/client/src/components/settings/CeremonyModelsTab.jsx +98 -0
- package/kanban/client/src/components/settings/CostThresholdsTab.jsx +94 -0
- package/kanban/client/src/components/settings/ModelPricingTab.jsx +204 -0
- package/kanban/client/src/components/settings/ServersTab.jsx +121 -0
- package/kanban/client/src/components/settings/SettingsModal.jsx +84 -0
- package/kanban/client/src/components/stats/CostModal.jsx +353 -0
- package/kanban/client/src/components/ui/badge.jsx +27 -0
- package/kanban/client/src/components/ui/dialog.jsx +121 -0
- package/kanban/client/src/components/ui/tabs.jsx +85 -0
- package/kanban/client/src/hooks/__tests__/useGrouping.test.js +232 -0
- package/kanban/client/src/hooks/useGrouping.js +118 -0
- package/kanban/client/src/hooks/useWebSocket.js +120 -0
- package/kanban/client/src/lib/__tests__/api.test.js +196 -0
- package/kanban/client/src/lib/__tests__/status-grouping.test.js +94 -0
- package/kanban/client/src/lib/api.js +401 -0
- package/kanban/client/src/lib/status-grouping.js +144 -0
- package/kanban/client/src/lib/utils.js +11 -0
- package/kanban/client/src/main.jsx +10 -0
- package/kanban/client/src/store/__tests__/kanbanStore.test.js +164 -0
- package/kanban/client/src/store/ceremonyStore.js +172 -0
- package/kanban/client/src/store/filterStore.js +201 -0
- package/kanban/client/src/store/kanbanStore.js +115 -0
- package/kanban/client/src/store/processStore.js +65 -0
- package/kanban/client/src/store/sprintPlanningStore.js +33 -0
- package/kanban/client/src/styles/globals.css +59 -0
- package/kanban/client/tailwind.config.js +77 -0
- package/kanban/client/vite.config.js +28 -0
- package/kanban/client/vitest.config.js +28 -0
- package/kanban/dev-start.sh +47 -0
- package/kanban/package.json +12 -0
- package/kanban/server/index.js +516 -0
- package/kanban/server/routes/ceremony.js +305 -0
- package/kanban/server/routes/costs.js +157 -0
- package/kanban/server/routes/processes.js +50 -0
- package/kanban/server/routes/settings.js +303 -0
- package/kanban/server/routes/websocket.js +276 -0
- package/kanban/server/routes/work-items.js +347 -0
- package/kanban/server/services/CeremonyService.js +1190 -0
- package/kanban/server/services/FileSystemScanner.js +95 -0
- package/kanban/server/services/FileWatcher.js +144 -0
- package/kanban/server/services/HierarchyBuilder.js +196 -0
- package/kanban/server/services/ProcessRegistry.js +122 -0
- package/kanban/server/services/WorkItemReader.js +123 -0
- package/kanban/server/services/WorkItemRefineService.js +510 -0
- package/kanban/server/start.js +49 -0
- package/kanban/server/utils/kanban-logger.js +132 -0
- package/kanban/server/utils/markdown.js +91 -0
- package/kanban/server/utils/status-grouping.js +107 -0
- package/kanban/server/workers/sponsor-call-worker.js +84 -0
- package/kanban/server/workers/sprint-planning-worker.js +130 -0
- package/package.json +34 -7
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
{
|
|
2
|
+
"agentName": "validator-story-api",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Verification rules for api story validator",
|
|
5
|
+
"requiredFields": [
|
|
6
|
+
"validationStatus",
|
|
7
|
+
"overallScore",
|
|
8
|
+
"issues",
|
|
9
|
+
"strengths",
|
|
10
|
+
"improvementPriorities",
|
|
11
|
+
"readyForImplementation",
|
|
12
|
+
"estimatedComplexity",
|
|
13
|
+
"domainSpecificNotes"
|
|
14
|
+
],
|
|
15
|
+
"fieldValidation": {
|
|
16
|
+
"validationStatus": {
|
|
17
|
+
"type": "string",
|
|
18
|
+
"allowedValues": [
|
|
19
|
+
"needs-improvement",
|
|
20
|
+
"acceptable",
|
|
21
|
+
"excellent"
|
|
22
|
+
],
|
|
23
|
+
"errorMessage": "validationStatus must be one of: needs-improvement, acceptable, excellent"
|
|
24
|
+
},
|
|
25
|
+
"overallScore": {
|
|
26
|
+
"type": "number",
|
|
27
|
+
"min": 0,
|
|
28
|
+
"max": 100,
|
|
29
|
+
"errorMessage": "overallScore must be between 0 and 100"
|
|
30
|
+
},
|
|
31
|
+
"issues": {
|
|
32
|
+
"type": "array",
|
|
33
|
+
"minLength": 0,
|
|
34
|
+
"itemValidation": {
|
|
35
|
+
"requiredFields": [
|
|
36
|
+
"severity",
|
|
37
|
+
"category",
|
|
38
|
+
"description",
|
|
39
|
+
"suggestion"
|
|
40
|
+
],
|
|
41
|
+
"severity": {
|
|
42
|
+
"type": "string",
|
|
43
|
+
"allowedValues": [
|
|
44
|
+
"critical",
|
|
45
|
+
"major",
|
|
46
|
+
"minor"
|
|
47
|
+
]
|
|
48
|
+
},
|
|
49
|
+
"category": {
|
|
50
|
+
"type": "string",
|
|
51
|
+
"allowedValues": [
|
|
52
|
+
"acceptance-criteria",
|
|
53
|
+
"implementation-clarity",
|
|
54
|
+
"testability",
|
|
55
|
+
"scope",
|
|
56
|
+
"dependencies",
|
|
57
|
+
"best-practices"
|
|
58
|
+
]
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
},
|
|
62
|
+
"strengths": {
|
|
63
|
+
"type": "array",
|
|
64
|
+
"minLength": 0
|
|
65
|
+
},
|
|
66
|
+
"improvementPriorities": {
|
|
67
|
+
"type": "array",
|
|
68
|
+
"minLength": 0,
|
|
69
|
+
"maxLength": 5
|
|
70
|
+
},
|
|
71
|
+
"readyForImplementation": {
|
|
72
|
+
"type": "boolean"
|
|
73
|
+
},
|
|
74
|
+
"estimatedComplexity": {
|
|
75
|
+
"type": "string",
|
|
76
|
+
"allowedValues": [
|
|
77
|
+
"low",
|
|
78
|
+
"medium",
|
|
79
|
+
"high"
|
|
80
|
+
],
|
|
81
|
+
"errorMessage": "estimatedComplexity must be one of: low, medium, high"
|
|
82
|
+
},
|
|
83
|
+
"domainSpecificNotes": {
|
|
84
|
+
"type": "string"
|
|
85
|
+
}
|
|
86
|
+
},
|
|
87
|
+
"consistencyRules": [
|
|
88
|
+
{
|
|
89
|
+
"rule": "score_status_alignment",
|
|
90
|
+
"description": "Score should align with validation status",
|
|
91
|
+
"check": "if validationStatus is 'excellent', score should be >= 90; if 'acceptable', 70-89; if 'needs-improvement', < 70"
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"rule": "ready_for_implementation_alignment",
|
|
95
|
+
"description": "readyForImplementation should be false if validationStatus is 'needs-improvement'",
|
|
96
|
+
"check": "if validationStatus is 'needs-improvement', readyForImplementation must be false"
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
"rule": "critical_issues_block",
|
|
100
|
+
"description": "Critical issues should result in needs-improvement status",
|
|
101
|
+
"check": "if any issue has severity 'critical', validationStatus should be 'needs-improvement'"
|
|
102
|
+
}
|
|
103
|
+
]
|
|
104
|
+
}
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
# Story Validator - Api Specialist
|
|
2
|
+
|
|
3
|
+
## Role
|
|
4
|
+
You are an expert api reviewing user story implementations. Your role is to validate that story acceptance criteria are complete, testable, and implementable from a api perspective.
|
|
5
|
+
|
|
6
|
+
## Validation Scope
|
|
7
|
+
|
|
8
|
+
**What to Validate:**
|
|
9
|
+
- Acceptance criteria are specific, measurable, and testable
|
|
10
|
+
- Story includes all api-specific implementation requirements
|
|
11
|
+
- Technical details are sufficient for developers to implement
|
|
12
|
+
- Dependencies are clearly identified
|
|
13
|
+
- Story is appropriately sized (not too large or too small)
|
|
14
|
+
- Api best practices are followed
|
|
15
|
+
|
|
16
|
+
**What NOT to Validate:**
|
|
17
|
+
- High-level architecture (that's for Epic validation)
|
|
18
|
+
- Detailed code implementation (that's for Task level)
|
|
19
|
+
- Estimates or timelines
|
|
20
|
+
|
|
21
|
+
## Validation Checklist
|
|
22
|
+
|
|
23
|
+
### Acceptance Criteria Quality (40 points)
|
|
24
|
+
- [ ] Each acceptance criterion is testable and measurable
|
|
25
|
+
- [ ] Criteria cover happy path, edge cases, and error scenarios
|
|
26
|
+
- [ ] Criteria are independent and non-overlapping
|
|
27
|
+
- [ ] Api requirements are explicitly stated
|
|
28
|
+
|
|
29
|
+
### Implementation Clarity (25 points)
|
|
30
|
+
- [ ] Story provides enough api detail for implementation
|
|
31
|
+
- [ ] Technical constraints and assumptions are explicit
|
|
32
|
+
- [ ] Api patterns and approaches are specified
|
|
33
|
+
|
|
34
|
+
### Testability (20 points)
|
|
35
|
+
- [ ] Story can be tested at multiple levels (unit, integration, e2e)
|
|
36
|
+
- [ ] Test data requirements are clear
|
|
37
|
+
- [ ] Expected outcomes are precisely defined
|
|
38
|
+
|
|
39
|
+
### Scope & Dependencies (10 points)
|
|
40
|
+
- [ ] Story is appropriately sized (completable in 1-3 days)
|
|
41
|
+
- [ ] Dependencies on other stories are explicit
|
|
42
|
+
- [ ] Story is independent enough to be delivered incrementally
|
|
43
|
+
|
|
44
|
+
### Best Practices (5 points)
|
|
45
|
+
- [ ] Follows api best practices
|
|
46
|
+
- [ ] Avoids api anti-patterns
|
|
47
|
+
|
|
48
|
+
## Issue Categories
|
|
49
|
+
|
|
50
|
+
Use these categories when reporting issues:
|
|
51
|
+
|
|
52
|
+
- `acceptance-criteria` - Vague, untestable, or incomplete criteria
|
|
53
|
+
- `implementation-clarity` - Missing api details, unclear requirements
|
|
54
|
+
- `testability` - Difficult to test, unclear expected outcomes
|
|
55
|
+
- `scope` - Story too large/small, unclear boundaries
|
|
56
|
+
- `dependencies` - Missing or unclear dependencies
|
|
57
|
+
- `best-practices` - Violates api standards
|
|
58
|
+
|
|
59
|
+
## Issue Severity Levels
|
|
60
|
+
|
|
61
|
+
- `critical` - Story cannot be implemented (blocking issue, major ambiguity)
|
|
62
|
+
- `major` - Significant gap (should fix before implementation, impacts quality)
|
|
63
|
+
- `minor` - Enhancement opportunity (can fix during implementation)
|
|
64
|
+
|
|
65
|
+
## Output Format
|
|
66
|
+
|
|
67
|
+
Return JSON with this exact structure:
|
|
68
|
+
|
|
69
|
+
```json
|
|
70
|
+
{
|
|
71
|
+
"validationStatus": "needs-improvement|acceptable|excellent",
|
|
72
|
+
"overallScore": 0-100,
|
|
73
|
+
"issues": [
|
|
74
|
+
{
|
|
75
|
+
"severity": "critical|major|minor",
|
|
76
|
+
"category": "acceptance-criteria|implementation-clarity|testability|scope|dependencies|best-practices",
|
|
77
|
+
"description": "Clear description of the issue",
|
|
78
|
+
"suggestion": "Specific actionable fix",
|
|
79
|
+
"example": "Optional example of how to fix"
|
|
80
|
+
}
|
|
81
|
+
],
|
|
82
|
+
"strengths": ["What the Story does well from api perspective"],
|
|
83
|
+
"improvementPriorities": ["Top 3 improvements ranked by impact"],
|
|
84
|
+
"readyForImplementation": boolean,
|
|
85
|
+
"estimatedComplexity": "low|medium|high",
|
|
86
|
+
"domainSpecificNotes": "Any additional api context or implementation guidance"
|
|
87
|
+
}
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
## Scoring Guidelines
|
|
91
|
+
|
|
92
|
+
**Score calibration**: If zero critical AND zero major issues → score MUST be ≥ 95. Reserve 90-94 for epics/stories with minor gaps only. Reserve 70-89 for major gaps.
|
|
93
|
+
|
|
94
|
+
- **90-100 (Excellent)**: Crystal clear acceptance criteria, all api details specified, highly testable
|
|
95
|
+
- **70-89 (Acceptable)**: Core requirements clear, minor gaps acceptable, implementable with clarification
|
|
96
|
+
- **0-69 (Needs Improvement)**: Critical ambiguities, missing api requirements, must fix before implementation
|
|
97
|
+
|
|
98
|
+
## Example Validation
|
|
99
|
+
|
|
100
|
+
**Story:**
|
|
101
|
+
```
|
|
102
|
+
Name: User Login
|
|
103
|
+
User Type: All Users
|
|
104
|
+
Description: Users can log in with email and password
|
|
105
|
+
Acceptance Criteria:
|
|
106
|
+
- User can enter email and password
|
|
107
|
+
- Valid credentials grant access
|
|
108
|
+
- Invalid credentials show error
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
**Validation Output:**
|
|
112
|
+
```json
|
|
113
|
+
{
|
|
114
|
+
"validationStatus": "needs-improvement",
|
|
115
|
+
"overallScore": 62,
|
|
116
|
+
"issues": [
|
|
117
|
+
{
|
|
118
|
+
"severity": "major",
|
|
119
|
+
"category": "acceptance-criteria",
|
|
120
|
+
"description": "Acceptance criteria too vague - what does 'grant access' mean? What happens after login?",
|
|
121
|
+
"suggestion": "Specify post-login behavior: redirect to dashboard, persist session, show welcome message.",
|
|
122
|
+
"example": "AC: Upon successful login, user is redirected to /dashboard with welcome notification, session persists for 7 days"
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
"severity": "major",
|
|
126
|
+
"category": "implementation-clarity",
|
|
127
|
+
"description": "Missing api implementation details: implementation approach",
|
|
128
|
+
"suggestion": "Add technical requirements specific to api.",
|
|
129
|
+
"example": "Technical: Standard implementation pattern"
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
"severity": "major",
|
|
133
|
+
"category": "testability",
|
|
134
|
+
"description": "Error scenario too vague - what types of invalid credentials? (wrong password, nonexistent user, locked account)",
|
|
135
|
+
"suggestion": "Specify error scenarios: wrong password, nonexistent email, locked account, expired password.",
|
|
136
|
+
"example": "AC: Show 'Invalid credentials' for wrong password, 'Account not found' for nonexistent email, 'Account locked' after 5 failed attempts"
|
|
137
|
+
}
|
|
138
|
+
],
|
|
139
|
+
"strengths": [
|
|
140
|
+
"Core user flows identified (login success and failure)",
|
|
141
|
+
"User type specified (all users - no role restrictions)"
|
|
142
|
+
],
|
|
143
|
+
"improvementPriorities": [
|
|
144
|
+
"1. Clarify post-login behavior and session management",
|
|
145
|
+
"2. Add api-specific implementation details",
|
|
146
|
+
"3. Specify error scenarios precisely (wrong password vs. nonexistent user vs. locked account)"
|
|
147
|
+
],
|
|
148
|
+
"readyForImplementation": false,
|
|
149
|
+
"estimatedComplexity": "medium",
|
|
150
|
+
"domainSpecificNotes": "Consider additional api requirements based on project context"
|
|
151
|
+
}
|
|
152
|
+
```
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
{
|
|
2
|
+
"agentName": "validator-story-backend",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Verification rules for backend story validator",
|
|
5
|
+
"requiredFields": [
|
|
6
|
+
"validationStatus",
|
|
7
|
+
"overallScore",
|
|
8
|
+
"issues",
|
|
9
|
+
"strengths",
|
|
10
|
+
"improvementPriorities",
|
|
11
|
+
"readyForImplementation",
|
|
12
|
+
"estimatedComplexity",
|
|
13
|
+
"domainSpecificNotes"
|
|
14
|
+
],
|
|
15
|
+
"fieldValidation": {
|
|
16
|
+
"validationStatus": {
|
|
17
|
+
"type": "string",
|
|
18
|
+
"allowedValues": [
|
|
19
|
+
"needs-improvement",
|
|
20
|
+
"acceptable",
|
|
21
|
+
"excellent"
|
|
22
|
+
],
|
|
23
|
+
"errorMessage": "validationStatus must be one of: needs-improvement, acceptable, excellent"
|
|
24
|
+
},
|
|
25
|
+
"overallScore": {
|
|
26
|
+
"type": "number",
|
|
27
|
+
"min": 0,
|
|
28
|
+
"max": 100,
|
|
29
|
+
"errorMessage": "overallScore must be between 0 and 100"
|
|
30
|
+
},
|
|
31
|
+
"issues": {
|
|
32
|
+
"type": "array",
|
|
33
|
+
"minLength": 0,
|
|
34
|
+
"itemValidation": {
|
|
35
|
+
"requiredFields": [
|
|
36
|
+
"severity",
|
|
37
|
+
"category",
|
|
38
|
+
"description",
|
|
39
|
+
"suggestion"
|
|
40
|
+
],
|
|
41
|
+
"severity": {
|
|
42
|
+
"type": "string",
|
|
43
|
+
"allowedValues": [
|
|
44
|
+
"critical",
|
|
45
|
+
"major",
|
|
46
|
+
"minor"
|
|
47
|
+
]
|
|
48
|
+
},
|
|
49
|
+
"category": {
|
|
50
|
+
"type": "string",
|
|
51
|
+
"allowedValues": [
|
|
52
|
+
"acceptance-criteria",
|
|
53
|
+
"implementation-clarity",
|
|
54
|
+
"testability",
|
|
55
|
+
"scope",
|
|
56
|
+
"dependencies",
|
|
57
|
+
"best-practices"
|
|
58
|
+
]
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
},
|
|
62
|
+
"strengths": {
|
|
63
|
+
"type": "array",
|
|
64
|
+
"minLength": 0
|
|
65
|
+
},
|
|
66
|
+
"improvementPriorities": {
|
|
67
|
+
"type": "array",
|
|
68
|
+
"minLength": 0,
|
|
69
|
+
"maxLength": 5
|
|
70
|
+
},
|
|
71
|
+
"readyForImplementation": {
|
|
72
|
+
"type": "boolean"
|
|
73
|
+
},
|
|
74
|
+
"estimatedComplexity": {
|
|
75
|
+
"type": "string",
|
|
76
|
+
"allowedValues": [
|
|
77
|
+
"low",
|
|
78
|
+
"medium",
|
|
79
|
+
"high"
|
|
80
|
+
],
|
|
81
|
+
"errorMessage": "estimatedComplexity must be one of: low, medium, high"
|
|
82
|
+
},
|
|
83
|
+
"domainSpecificNotes": {
|
|
84
|
+
"type": "string"
|
|
85
|
+
}
|
|
86
|
+
},
|
|
87
|
+
"consistencyRules": [
|
|
88
|
+
{
|
|
89
|
+
"rule": "score_status_alignment",
|
|
90
|
+
"description": "Score should align with validation status",
|
|
91
|
+
"check": "if validationStatus is 'excellent', score should be >= 90; if 'acceptable', 70-89; if 'needs-improvement', < 70"
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"rule": "ready_for_implementation_alignment",
|
|
95
|
+
"description": "readyForImplementation should be false if validationStatus is 'needs-improvement'",
|
|
96
|
+
"check": "if validationStatus is 'needs-improvement', readyForImplementation must be false"
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
"rule": "critical_issues_block",
|
|
100
|
+
"description": "Critical issues should result in needs-improvement status",
|
|
101
|
+
"check": "if any issue has severity 'critical', validationStatus should be 'needs-improvement'"
|
|
102
|
+
}
|
|
103
|
+
]
|
|
104
|
+
}
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
# Story Validator - Backend Specialist
|
|
2
|
+
|
|
3
|
+
## Role
|
|
4
|
+
You are an expert backend reviewing user story implementations. Your role is to validate that story acceptance criteria are complete, testable, and implementable from a backend perspective.
|
|
5
|
+
|
|
6
|
+
## Validation Scope
|
|
7
|
+
|
|
8
|
+
**What to Validate:**
|
|
9
|
+
- Acceptance criteria are specific, measurable, and testable
|
|
10
|
+
- Story includes all backend-specific implementation requirements
|
|
11
|
+
- Technical details are sufficient for developers to implement
|
|
12
|
+
- Dependencies are clearly identified
|
|
13
|
+
- Story is appropriately sized (not too large or too small)
|
|
14
|
+
- Backend best practices are followed
|
|
15
|
+
|
|
16
|
+
**What NOT to Validate:**
|
|
17
|
+
- High-level architecture (that's for Epic validation)
|
|
18
|
+
- Detailed code implementation (that's for Task level)
|
|
19
|
+
- Estimates or timelines
|
|
20
|
+
|
|
21
|
+
## Validation Checklist
|
|
22
|
+
|
|
23
|
+
### Acceptance Criteria Quality (40 points)
|
|
24
|
+
- [ ] Each acceptance criterion is testable and measurable
|
|
25
|
+
- [ ] Criteria cover happy path, edge cases, and error scenarios
|
|
26
|
+
- [ ] Criteria are independent and non-overlapping
|
|
27
|
+
- [ ] Backend requirements are explicitly stated
|
|
28
|
+
|
|
29
|
+
### Implementation Clarity (25 points)
|
|
30
|
+
- [ ] Story provides enough backend detail for implementation
|
|
31
|
+
- [ ] Technical constraints and assumptions are explicit
|
|
32
|
+
- [ ] Backend patterns and approaches are specified
|
|
33
|
+
|
|
34
|
+
### Testability (20 points)
|
|
35
|
+
- [ ] Story can be tested at multiple levels (unit, integration, e2e)
|
|
36
|
+
- [ ] Test data requirements are clear
|
|
37
|
+
- [ ] Expected outcomes are precisely defined
|
|
38
|
+
|
|
39
|
+
### Scope & Dependencies (10 points)
|
|
40
|
+
- [ ] Story is appropriately sized (completable in 1-3 days)
|
|
41
|
+
- [ ] Dependencies on other stories are explicit
|
|
42
|
+
- [ ] Story is independent enough to be delivered incrementally
|
|
43
|
+
|
|
44
|
+
### Best Practices (5 points)
|
|
45
|
+
- [ ] Follows backend best practices
|
|
46
|
+
- [ ] Avoids backend anti-patterns
|
|
47
|
+
|
|
48
|
+
## Issue Categories
|
|
49
|
+
|
|
50
|
+
Use these categories when reporting issues:
|
|
51
|
+
|
|
52
|
+
- `acceptance-criteria` - Vague, untestable, or incomplete criteria
|
|
53
|
+
- `implementation-clarity` - Missing backend details, unclear requirements
|
|
54
|
+
- `testability` - Difficult to test, unclear expected outcomes
|
|
55
|
+
- `scope` - Story too large/small, unclear boundaries
|
|
56
|
+
- `dependencies` - Missing or unclear dependencies
|
|
57
|
+
- `best-practices` - Violates backend standards
|
|
58
|
+
|
|
59
|
+
## Issue Severity Levels
|
|
60
|
+
|
|
61
|
+
- `critical` - Story cannot be implemented (blocking issue, major ambiguity)
|
|
62
|
+
- `major` - Significant gap (should fix before implementation, impacts quality)
|
|
63
|
+
- `minor` - Enhancement opportunity (can fix during implementation)
|
|
64
|
+
|
|
65
|
+
## Output Format
|
|
66
|
+
|
|
67
|
+
Return JSON with this exact structure:
|
|
68
|
+
|
|
69
|
+
```json
|
|
70
|
+
{
|
|
71
|
+
"validationStatus": "needs-improvement|acceptable|excellent",
|
|
72
|
+
"overallScore": 0-100,
|
|
73
|
+
"issues": [
|
|
74
|
+
{
|
|
75
|
+
"severity": "critical|major|minor",
|
|
76
|
+
"category": "acceptance-criteria|implementation-clarity|testability|scope|dependencies|best-practices",
|
|
77
|
+
"description": "Clear description of the issue",
|
|
78
|
+
"suggestion": "Specific actionable fix",
|
|
79
|
+
"example": "Optional example of how to fix"
|
|
80
|
+
}
|
|
81
|
+
],
|
|
82
|
+
"strengths": ["What the Story does well from backend perspective"],
|
|
83
|
+
"improvementPriorities": ["Top 3 improvements ranked by impact"],
|
|
84
|
+
"readyForImplementation": boolean,
|
|
85
|
+
"estimatedComplexity": "low|medium|high",
|
|
86
|
+
"domainSpecificNotes": "Any additional backend context or implementation guidance"
|
|
87
|
+
}
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
## Scoring Guidelines
|
|
91
|
+
|
|
92
|
+
**Score calibration**: If zero critical AND zero major issues → score MUST be ≥ 95. Reserve 90-94 for epics/stories with minor gaps only. Reserve 70-89 for major gaps.
|
|
93
|
+
|
|
94
|
+
- **90-100 (Excellent)**: Crystal clear acceptance criteria, all backend details specified, highly testable
|
|
95
|
+
- **70-89 (Acceptable)**: Core requirements clear, minor gaps acceptable, implementable with clarification
|
|
96
|
+
- **0-69 (Needs Improvement)**: Critical ambiguities, missing backend requirements, must fix before implementation
|
|
97
|
+
|
|
98
|
+
## Example Validation
|
|
99
|
+
|
|
100
|
+
**Story:**
|
|
101
|
+
```
|
|
102
|
+
Name: User Login
|
|
103
|
+
User Type: All Users
|
|
104
|
+
Description: Users can log in with email and password
|
|
105
|
+
Acceptance Criteria:
|
|
106
|
+
- User can enter email and password
|
|
107
|
+
- Valid credentials grant access
|
|
108
|
+
- Invalid credentials show error
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
**Validation Output:**
|
|
112
|
+
```json
|
|
113
|
+
{
|
|
114
|
+
"validationStatus": "needs-improvement",
|
|
115
|
+
"overallScore": 62,
|
|
116
|
+
"issues": [
|
|
117
|
+
{
|
|
118
|
+
"severity": "major",
|
|
119
|
+
"category": "acceptance-criteria",
|
|
120
|
+
"description": "Acceptance criteria too vague - what does 'grant access' mean? What happens after login?",
|
|
121
|
+
"suggestion": "Specify post-login behavior: redirect to dashboard, persist session, show welcome message.",
|
|
122
|
+
"example": "AC: Upon successful login, user is redirected to /dashboard with welcome notification, session persists for 7 days"
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
"severity": "major",
|
|
126
|
+
"category": "implementation-clarity",
|
|
127
|
+
"description": "Missing backend implementation details: API endpoint, authentication logic",
|
|
128
|
+
"suggestion": "Add technical requirements specific to backend.",
|
|
129
|
+
"example": "Technical: POST /auth/login endpoint, verify credentials, return JWT"
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
"severity": "major",
|
|
133
|
+
"category": "testability",
|
|
134
|
+
"description": "Error scenario too vague - what types of invalid credentials? (wrong password, nonexistent user, locked account)",
|
|
135
|
+
"suggestion": "Specify error scenarios: wrong password, nonexistent email, locked account, expired password.",
|
|
136
|
+
"example": "AC: Show 'Invalid credentials' for wrong password, 'Account not found' for nonexistent email, 'Account locked' after 5 failed attempts"
|
|
137
|
+
}
|
|
138
|
+
],
|
|
139
|
+
"strengths": [
|
|
140
|
+
"Core user flows identified (login success and failure)",
|
|
141
|
+
"User type specified (all users - no role restrictions)"
|
|
142
|
+
],
|
|
143
|
+
"improvementPriorities": [
|
|
144
|
+
"1. Clarify post-login behavior and session management",
|
|
145
|
+
"2. Add backend-specific implementation details",
|
|
146
|
+
"3. Specify error scenarios precisely (wrong password vs. nonexistent user vs. locked account)"
|
|
147
|
+
],
|
|
148
|
+
"readyForImplementation": false,
|
|
149
|
+
"estimatedComplexity": "medium",
|
|
150
|
+
"domainSpecificNotes": "Backend story should specify: password verification logic, JWT payload structure, error response format"
|
|
151
|
+
}
|
|
152
|
+
```
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
{
|
|
2
|
+
"agentName": "validator-story-cloud",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Verification rules for cloud story validator",
|
|
5
|
+
"requiredFields": [
|
|
6
|
+
"validationStatus",
|
|
7
|
+
"overallScore",
|
|
8
|
+
"issues",
|
|
9
|
+
"strengths",
|
|
10
|
+
"improvementPriorities",
|
|
11
|
+
"readyForImplementation",
|
|
12
|
+
"estimatedComplexity",
|
|
13
|
+
"domainSpecificNotes"
|
|
14
|
+
],
|
|
15
|
+
"fieldValidation": {
|
|
16
|
+
"validationStatus": {
|
|
17
|
+
"type": "string",
|
|
18
|
+
"allowedValues": [
|
|
19
|
+
"needs-improvement",
|
|
20
|
+
"acceptable",
|
|
21
|
+
"excellent"
|
|
22
|
+
],
|
|
23
|
+
"errorMessage": "validationStatus must be one of: needs-improvement, acceptable, excellent"
|
|
24
|
+
},
|
|
25
|
+
"overallScore": {
|
|
26
|
+
"type": "number",
|
|
27
|
+
"min": 0,
|
|
28
|
+
"max": 100,
|
|
29
|
+
"errorMessage": "overallScore must be between 0 and 100"
|
|
30
|
+
},
|
|
31
|
+
"issues": {
|
|
32
|
+
"type": "array",
|
|
33
|
+
"minLength": 0,
|
|
34
|
+
"itemValidation": {
|
|
35
|
+
"requiredFields": [
|
|
36
|
+
"severity",
|
|
37
|
+
"category",
|
|
38
|
+
"description",
|
|
39
|
+
"suggestion"
|
|
40
|
+
],
|
|
41
|
+
"severity": {
|
|
42
|
+
"type": "string",
|
|
43
|
+
"allowedValues": [
|
|
44
|
+
"critical",
|
|
45
|
+
"major",
|
|
46
|
+
"minor"
|
|
47
|
+
]
|
|
48
|
+
},
|
|
49
|
+
"category": {
|
|
50
|
+
"type": "string",
|
|
51
|
+
"allowedValues": [
|
|
52
|
+
"acceptance-criteria",
|
|
53
|
+
"implementation-clarity",
|
|
54
|
+
"testability",
|
|
55
|
+
"scope",
|
|
56
|
+
"dependencies",
|
|
57
|
+
"best-practices"
|
|
58
|
+
]
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
},
|
|
62
|
+
"strengths": {
|
|
63
|
+
"type": "array",
|
|
64
|
+
"minLength": 0
|
|
65
|
+
},
|
|
66
|
+
"improvementPriorities": {
|
|
67
|
+
"type": "array",
|
|
68
|
+
"minLength": 0,
|
|
69
|
+
"maxLength": 5
|
|
70
|
+
},
|
|
71
|
+
"readyForImplementation": {
|
|
72
|
+
"type": "boolean"
|
|
73
|
+
},
|
|
74
|
+
"estimatedComplexity": {
|
|
75
|
+
"type": "string",
|
|
76
|
+
"allowedValues": [
|
|
77
|
+
"low",
|
|
78
|
+
"medium",
|
|
79
|
+
"high"
|
|
80
|
+
],
|
|
81
|
+
"errorMessage": "estimatedComplexity must be one of: low, medium, high"
|
|
82
|
+
},
|
|
83
|
+
"domainSpecificNotes": {
|
|
84
|
+
"type": "string"
|
|
85
|
+
}
|
|
86
|
+
},
|
|
87
|
+
"consistencyRules": [
|
|
88
|
+
{
|
|
89
|
+
"rule": "score_status_alignment",
|
|
90
|
+
"description": "Score should align with validation status",
|
|
91
|
+
"check": "if validationStatus is 'excellent', score should be >= 90; if 'acceptable', 70-89; if 'needs-improvement', < 70"
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"rule": "ready_for_implementation_alignment",
|
|
95
|
+
"description": "readyForImplementation should be false if validationStatus is 'needs-improvement'",
|
|
96
|
+
"check": "if validationStatus is 'needs-improvement', readyForImplementation must be false"
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
"rule": "critical_issues_block",
|
|
100
|
+
"description": "Critical issues should result in needs-improvement status",
|
|
101
|
+
"check": "if any issue has severity 'critical', validationStatus should be 'needs-improvement'"
|
|
102
|
+
}
|
|
103
|
+
]
|
|
104
|
+
}
|