@agile-vibe-coding/avc 0.1.1 → 0.3.1
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/cli/agent-loader.js +21 -0
- package/cli/agents/agent-selector.md +152 -0
- package/cli/agents/architecture-recommender.md +418 -0
- package/cli/agents/code-implementer.md +117 -0
- package/cli/agents/code-validator.md +80 -0
- package/cli/agents/context-reviewer-epic.md +101 -0
- package/cli/agents/context-reviewer-story.md +92 -0
- package/cli/agents/context-writer-epic.md +145 -0
- package/cli/agents/context-writer-story.md +111 -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/doc-writer-epic.md +42 -0
- package/cli/agents/doc-writer-story.md +43 -0
- package/cli/agents/documentation-updater.md +203 -0
- package/cli/agents/duplicate-detector.md +110 -0
- package/cli/agents/epic-story-decomposer.md +559 -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 +143 -0
- package/cli/agents/mission-scope-validator.md +146 -0
- package/cli/agents/project-context-extractor.md +122 -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/scaffolding-generator.md +99 -0
- package/cli/agents/seed-validator.md +71 -0
- package/cli/agents/story-doc-enricher.md +133 -0
- package/cli/agents/story-scope-reviewer.md +147 -0
- package/cli/agents/story-splitter.md +83 -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 +183 -0
- package/cli/agents/validator-documentation.md +455 -0
- package/cli/agents/validator-selector.md +211 -0
- package/cli/ansi-colors.js +21 -0
- package/cli/api-reference-tool.js +368 -0
- package/cli/build-docs.js +29 -8
- package/cli/ceremony-history.js +369 -0
- package/cli/checks/catalog.json +76 -0
- package/cli/checks/code/quality.json +26 -0
- package/cli/checks/code/testing.json +14 -0
- package/cli/checks/code/traceability.json +26 -0
- package/cli/checks/cross-refs/epic.json +171 -0
- package/cli/checks/cross-refs/story.json +149 -0
- package/cli/checks/epic/api.json +114 -0
- package/cli/checks/epic/backend.json +126 -0
- package/cli/checks/epic/cloud.json +126 -0
- package/cli/checks/epic/data.json +102 -0
- package/cli/checks/epic/database.json +114 -0
- package/cli/checks/epic/developer.json +182 -0
- package/cli/checks/epic/devops.json +174 -0
- package/cli/checks/epic/frontend.json +162 -0
- package/cli/checks/epic/mobile.json +102 -0
- package/cli/checks/epic/qa.json +90 -0
- package/cli/checks/epic/security.json +184 -0
- package/cli/checks/epic/solution-architect.json +192 -0
- package/cli/checks/epic/test-architect.json +90 -0
- package/cli/checks/epic/ui.json +102 -0
- package/cli/checks/epic/ux.json +90 -0
- package/cli/checks/fixes/epic-fix-template.md +10 -0
- package/cli/checks/fixes/story-fix-template.md +10 -0
- package/cli/checks/story/api.json +186 -0
- package/cli/checks/story/backend.json +102 -0
- package/cli/checks/story/cloud.json +102 -0
- package/cli/checks/story/data.json +210 -0
- package/cli/checks/story/database.json +102 -0
- package/cli/checks/story/developer.json +168 -0
- package/cli/checks/story/devops.json +102 -0
- package/cli/checks/story/frontend.json +174 -0
- package/cli/checks/story/mobile.json +102 -0
- package/cli/checks/story/qa.json +210 -0
- package/cli/checks/story/security.json +198 -0
- package/cli/checks/story/solution-architect.json +230 -0
- package/cli/checks/story/test-architect.json +210 -0
- package/cli/checks/story/ui.json +102 -0
- package/cli/checks/story/ux.json +102 -0
- package/cli/coding-order.js +401 -0
- package/cli/command-logger.js +49 -12
- package/cli/components/static-output.js +63 -0
- package/cli/console-output-manager.js +94 -0
- package/cli/dependency-checker.js +72 -0
- package/cli/docs-sync.js +306 -0
- package/cli/epic-story-validator.js +659 -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/init-model-config.js +704 -0
- package/cli/init.js +1737 -278
- package/cli/kanban-server-manager.js +227 -0
- package/cli/llm-claude.js +150 -1
- package/cli/llm-gemini.js +109 -0
- package/cli/llm-local.js +493 -0
- package/cli/llm-mock.js +233 -0
- package/cli/llm-openai.js +454 -0
- package/cli/llm-provider.js +379 -3
- package/cli/llm-token-limits.js +211 -0
- package/cli/llm-verifier.js +662 -0
- package/cli/llm-xiaomi.js +143 -0
- package/cli/message-constants.js +49 -0
- package/cli/message-manager.js +334 -0
- package/cli/message-types.js +96 -0
- package/cli/messaging-api.js +291 -0
- package/cli/micro-check-fixer.js +335 -0
- package/cli/micro-check-runner.js +449 -0
- package/cli/micro-check-scorer.js +148 -0
- package/cli/micro-check-validator.js +538 -0
- package/cli/model-pricing.js +192 -0
- package/cli/model-query-engine.js +468 -0
- package/cli/model-recommendation-analyzer.js +495 -0
- package/cli/model-selector.js +270 -0
- package/cli/output-buffer.js +107 -0
- package/cli/process-manager.js +73 -2
- package/cli/prompt-logger.js +57 -0
- package/cli/repl-ink.js +4625 -1094
- package/cli/repl-old.js +3 -4
- package/cli/seed-processor.js +962 -0
- package/cli/sprint-planning-processor.js +4162 -0
- package/cli/template-processor.js +2149 -105
- package/cli/templates/project.md +25 -8
- package/cli/templates/vitepress-config.mts.template +5 -4
- package/cli/token-tracker.js +547 -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 +667 -0
- package/cli/verification-tracker.js +563 -0
- package/cli/worktree-runner.js +654 -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-D_KC5EQT.css +1 -0
- package/kanban/client/dist/assets/index-DjY5zqW7.js +351 -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 +651 -0
- package/kanban/client/src/components/ProjectFileEditorPopup.jsx +117 -0
- package/kanban/client/src/components/ceremony/AskArchPopup.jsx +420 -0
- package/kanban/client/src/components/ceremony/AskModelPopup.jsx +629 -0
- package/kanban/client/src/components/ceremony/CeremonyWorkflowModal.jsx +1133 -0
- package/kanban/client/src/components/ceremony/EpicStorySelectionModal.jsx +254 -0
- package/kanban/client/src/components/ceremony/ProviderSwitcherButton.jsx +290 -0
- package/kanban/client/src/components/ceremony/SponsorCallModal.jsx +686 -0
- package/kanban/client/src/components/ceremony/SprintPlanningModal.jsx +838 -0
- package/kanban/client/src/components/ceremony/steps/ArchitectureStep.jsx +150 -0
- package/kanban/client/src/components/ceremony/steps/CompleteStep.jsx +136 -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 +329 -0
- package/kanban/client/src/components/ceremony/steps/RunningStep.jsx +249 -0
- package/kanban/client/src/components/kanban/CardDetailModal.jsx +646 -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 +63 -0
- package/kanban/client/src/components/kanban/KanbanBoard.jsx +211 -0
- package/kanban/client/src/components/kanban/KanbanCard.jsx +147 -0
- package/kanban/client/src/components/kanban/KanbanColumn.jsx +90 -0
- package/kanban/client/src/components/kanban/RefineWorkItemPopup.jsx +784 -0
- package/kanban/client/src/components/kanban/RunButton.jsx +162 -0
- package/kanban/client/src/components/kanban/SeedButton.jsx +176 -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 +381 -0
- package/kanban/client/src/components/settings/ApiKeysTab.jsx +142 -0
- package/kanban/client/src/components/settings/CeremonyModelsTab.jsx +105 -0
- package/kanban/client/src/components/settings/CheckEditorPopup.jsx +507 -0
- package/kanban/client/src/components/settings/CostThresholdsTab.jsx +95 -0
- package/kanban/client/src/components/settings/ModelPricingTab.jsx +269 -0
- package/kanban/client/src/components/settings/OpenAIAuthSection.jsx +412 -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 +384 -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 +177 -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 +515 -0
- package/kanban/client/src/lib/status-grouping.js +154 -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 +123 -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 +537 -0
- package/kanban/server/routes/ceremony.js +454 -0
- package/kanban/server/routes/costs.js +163 -0
- package/kanban/server/routes/openai-oauth.js +366 -0
- package/kanban/server/routes/processes.js +50 -0
- package/kanban/server/routes/settings.js +736 -0
- package/kanban/server/routes/websocket.js +281 -0
- package/kanban/server/routes/work-items.js +487 -0
- package/kanban/server/services/CeremonyService.js +1441 -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/TaskRunnerService.js +261 -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/run-task-worker.js +121 -0
- package/kanban/server/workers/seed-worker.js +94 -0
- package/kanban/server/workers/sponsor-call-worker.js +92 -0
- package/kanban/server/workers/sprint-planning-worker.js +212 -0
- package/package.json +19 -7
- package/cli/agents/documentation.md +0 -302
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
{
|
|
2
|
+
"perspective": "test-architect",
|
|
3
|
+
"scope": "epic",
|
|
4
|
+
"checks": [
|
|
5
|
+
{
|
|
6
|
+
"id": "ta-epic-01",
|
|
7
|
+
"tier": 1,
|
|
8
|
+
"perspective": "test-architect",
|
|
9
|
+
"severity": "critical",
|
|
10
|
+
"category": "completeness",
|
|
11
|
+
"universal": false,
|
|
12
|
+
"applicabilityQuestion": "Does this epic involve test infrastructure, automation frameworks, or test architecture? (Does it define test frameworks, CI/CD test integration, or test data strategy?)",
|
|
13
|
+
"question": "Does the epic scope clearly define test architecture boundaries?",
|
|
14
|
+
"failDescription": "Test architecture boundaries are not defined — unclear which test infrastructure and frameworks are in scope",
|
|
15
|
+
"failSuggestion": "Define test architecture boundaries: test frameworks, CI/CD integration, test data management, test environments"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"id": "ta-epic-02",
|
|
19
|
+
"tier": 1,
|
|
20
|
+
"perspective": "test-architect",
|
|
21
|
+
"severity": "critical",
|
|
22
|
+
"category": "completeness",
|
|
23
|
+
"universal": false,
|
|
24
|
+
"applicabilityQuestion": "Does this epic involve test infrastructure, automation frameworks, or test architecture?",
|
|
25
|
+
"question": "Are all critical test architecture features identified?",
|
|
26
|
+
"failDescription": "Critical test architecture features are missing — framework selection, CI integration, or test data strategy not identified",
|
|
27
|
+
"failSuggestion": "Identify critical features: test framework, CI/CD integration, test data management, parallel execution, reporting"
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"id": "ta-epic-03",
|
|
31
|
+
"tier": 1,
|
|
32
|
+
"perspective": "test-architect",
|
|
33
|
+
"severity": "major",
|
|
34
|
+
"category": "completeness",
|
|
35
|
+
"universal": false,
|
|
36
|
+
"applicabilityQuestion": "Does this epic depend on test infrastructure or services?",
|
|
37
|
+
"question": "Are dependencies on test architecture services/infrastructure explicit?",
|
|
38
|
+
"failDescription": "Test infrastructure dependencies are not explicit",
|
|
39
|
+
"failSuggestion": "Make test dependencies explicit: test framework, CI/CD runner, test database, mock services, browser drivers"
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"id": "ta-epic-04",
|
|
43
|
+
"tier": 1,
|
|
44
|
+
"perspective": "test-architect",
|
|
45
|
+
"severity": "major",
|
|
46
|
+
"category": "completeness",
|
|
47
|
+
"universal": false,
|
|
48
|
+
"applicabilityQuestion": "Does this epic involve test infrastructure, automation frameworks, or test architecture?",
|
|
49
|
+
"question": "Are test architecture success criteria measurable?",
|
|
50
|
+
"failDescription": "Test architecture success criteria are not measurable",
|
|
51
|
+
"failSuggestion": "Define measurable criteria: test execution time, flakiness rate, coverage targets, CI/CD integration status"
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"id": "ta-epic-05",
|
|
55
|
+
"tier": 1,
|
|
56
|
+
"perspective": "test-architect",
|
|
57
|
+
"severity": "major",
|
|
58
|
+
"category": "technical-depth",
|
|
59
|
+
"universal": false,
|
|
60
|
+
"applicabilityQuestion": "Does this epic involve test architecture design?",
|
|
61
|
+
"question": "Are test architecture patterns considered?",
|
|
62
|
+
"failDescription": "Test architecture patterns are not considered",
|
|
63
|
+
"failSuggestion": "Consider test patterns: page object model, test data factories, fixture management, parallel execution strategy"
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"id": "ta-epic-06",
|
|
67
|
+
"tier": 1,
|
|
68
|
+
"perspective": "test-architect",
|
|
69
|
+
"severity": "minor",
|
|
70
|
+
"category": "consistency",
|
|
71
|
+
"universal": false,
|
|
72
|
+
"applicabilityQuestion": "Does this epic involve test infrastructure, automation frameworks, or test architecture?",
|
|
73
|
+
"question": "Does the test architecture approach align with project context?",
|
|
74
|
+
"failDescription": "Test architecture approach does not align with project context",
|
|
75
|
+
"failSuggestion": "Ensure test architecture aligns with project: consistent frameworks, patterns, and CI/CD pipeline"
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"id": "ta-epic-07",
|
|
79
|
+
"tier": 1,
|
|
80
|
+
"perspective": "test-architect",
|
|
81
|
+
"severity": "minor",
|
|
82
|
+
"category": "best-practices",
|
|
83
|
+
"universal": false,
|
|
84
|
+
"applicabilityQuestion": "Does this epic involve test infrastructure, automation frameworks, or test architecture?",
|
|
85
|
+
"question": "Are industry-standard test architecture patterns followed (DRY tests, test pyramid, BDD)?",
|
|
86
|
+
"failDescription": "Test architecture best practices are not followed",
|
|
87
|
+
"failSuggestion": "Follow test architecture best practices: DRY test helpers, test pyramid, BDD patterns, deterministic tests"
|
|
88
|
+
}
|
|
89
|
+
]
|
|
90
|
+
}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
{
|
|
2
|
+
"perspective": "ui",
|
|
3
|
+
"scope": "epic",
|
|
4
|
+
"checks": [
|
|
5
|
+
{
|
|
6
|
+
"id": "ui-epic-01",
|
|
7
|
+
"tier": 1,
|
|
8
|
+
"perspective": "ui",
|
|
9
|
+
"severity": "critical",
|
|
10
|
+
"category": "completeness",
|
|
11
|
+
"universal": false,
|
|
12
|
+
"applicabilityQuestion": "Does this epic involve visual design, UI components, or design systems? (Does it include UI specifications, component libraries, or visual design?)",
|
|
13
|
+
"question": "Does the epic scope clearly define UI boundaries?",
|
|
14
|
+
"failDescription": "UI boundaries are not defined — unclear which components and visual elements are in scope",
|
|
15
|
+
"failSuggestion": "Define UI boundaries: which components, pages, and visual elements belong to this epic"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"id": "ui-epic-02",
|
|
19
|
+
"tier": 1,
|
|
20
|
+
"perspective": "ui",
|
|
21
|
+
"severity": "critical",
|
|
22
|
+
"category": "completeness",
|
|
23
|
+
"universal": false,
|
|
24
|
+
"applicabilityQuestion": "Does this epic involve visual design, UI components, or design systems?",
|
|
25
|
+
"question": "Are all critical UI features identified?",
|
|
26
|
+
"failDescription": "Critical UI features are missing — component specs, design tokens, or responsive rules not identified",
|
|
27
|
+
"failSuggestion": "Identify critical UI features: component library, design tokens (colors, spacing, typography), responsive breakpoints"
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"id": "ui-epic-03",
|
|
31
|
+
"tier": 1,
|
|
32
|
+
"perspective": "ui",
|
|
33
|
+
"severity": "major",
|
|
34
|
+
"category": "completeness",
|
|
35
|
+
"universal": false,
|
|
36
|
+
"applicabilityQuestion": "Does this epic depend on UI libraries or design systems?",
|
|
37
|
+
"question": "Are dependencies on UI services/infrastructure explicit?",
|
|
38
|
+
"failDescription": "UI dependencies are not explicit — component library, icon set, or font requirements missing",
|
|
39
|
+
"failSuggestion": "Make UI dependencies explicit: component library (MUI, Ant Design), icon set, font family, design system"
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"id": "ui-epic-04",
|
|
43
|
+
"tier": 1,
|
|
44
|
+
"perspective": "ui",
|
|
45
|
+
"severity": "major",
|
|
46
|
+
"category": "completeness",
|
|
47
|
+
"universal": false,
|
|
48
|
+
"applicabilityQuestion": "Does this epic involve visual design, UI components, or design systems?",
|
|
49
|
+
"question": "Are UI success criteria measurable?",
|
|
50
|
+
"failDescription": "UI success criteria are not measurable",
|
|
51
|
+
"failSuggestion": "Define measurable UI criteria: design consistency score, accessibility audit pass rate, responsive breakpoint coverage"
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"id": "ui-epic-05",
|
|
55
|
+
"tier": 1,
|
|
56
|
+
"perspective": "ui",
|
|
57
|
+
"severity": "major",
|
|
58
|
+
"category": "technical-depth",
|
|
59
|
+
"universal": false,
|
|
60
|
+
"applicabilityQuestion": "Does this epic involve UI design patterns or component architecture?",
|
|
61
|
+
"question": "Are UI architectural patterns considered?",
|
|
62
|
+
"failDescription": "UI architectural patterns are not considered",
|
|
63
|
+
"failSuggestion": "Consider UI patterns: design system tokens, component composition, responsive layout strategy, theming"
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"id": "ui-epic-06",
|
|
67
|
+
"tier": 1,
|
|
68
|
+
"perspective": "ui",
|
|
69
|
+
"severity": "minor",
|
|
70
|
+
"category": "technical-depth",
|
|
71
|
+
"universal": false,
|
|
72
|
+
"applicabilityQuestion": "Does this epic involve UI components that need to render efficiently?",
|
|
73
|
+
"question": "Are performance/scalability concerns for UI addressed?",
|
|
74
|
+
"failDescription": "UI performance concerns are not addressed — rendering, animation, or large list handling missing",
|
|
75
|
+
"failSuggestion": "Address UI performance: virtualized lists, optimized re-renders, animation performance, image optimization"
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"id": "ui-epic-07",
|
|
79
|
+
"tier": 1,
|
|
80
|
+
"perspective": "ui",
|
|
81
|
+
"severity": "minor",
|
|
82
|
+
"category": "consistency",
|
|
83
|
+
"universal": false,
|
|
84
|
+
"applicabilityQuestion": "Does this epic involve visual design, UI components, or design systems?",
|
|
85
|
+
"question": "Does the UI approach align with project context?",
|
|
86
|
+
"failDescription": "UI approach does not align with project context",
|
|
87
|
+
"failSuggestion": "Ensure UI approach aligns with project: consistent component library, design tokens, and visual language"
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"id": "ui-epic-08",
|
|
91
|
+
"tier": 1,
|
|
92
|
+
"perspective": "ui",
|
|
93
|
+
"severity": "minor",
|
|
94
|
+
"category": "best-practices",
|
|
95
|
+
"universal": false,
|
|
96
|
+
"applicabilityQuestion": "Does this epic involve visual design, UI components, or design systems?",
|
|
97
|
+
"question": "Are industry-standard UI patterns followed (visual hierarchy, contrast, spacing)?",
|
|
98
|
+
"failDescription": "UI best practices are not followed",
|
|
99
|
+
"failSuggestion": "Follow UI best practices: visual hierarchy, sufficient contrast, consistent spacing, clear typography scale"
|
|
100
|
+
}
|
|
101
|
+
]
|
|
102
|
+
}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
{
|
|
2
|
+
"perspective": "ux",
|
|
3
|
+
"scope": "epic",
|
|
4
|
+
"checks": [
|
|
5
|
+
{
|
|
6
|
+
"id": "ux-epic-01",
|
|
7
|
+
"tier": 1,
|
|
8
|
+
"perspective": "ux",
|
|
9
|
+
"severity": "critical",
|
|
10
|
+
"category": "completeness",
|
|
11
|
+
"universal": false,
|
|
12
|
+
"applicabilityQuestion": "Does this epic involve user-facing features or user interactions? (Does it include user flows, navigation, or user research?)",
|
|
13
|
+
"question": "Does the epic scope clearly define UX boundaries?",
|
|
14
|
+
"failDescription": "UX boundaries are not defined — unclear which user flows and interactions are in scope",
|
|
15
|
+
"failSuggestion": "Define UX boundaries: which user flows, personas, and interaction patterns are in scope"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"id": "ux-epic-02",
|
|
19
|
+
"tier": 1,
|
|
20
|
+
"perspective": "ux",
|
|
21
|
+
"severity": "critical",
|
|
22
|
+
"category": "completeness",
|
|
23
|
+
"universal": false,
|
|
24
|
+
"applicabilityQuestion": "Does this epic involve user-facing features or user interactions?",
|
|
25
|
+
"question": "Are all critical UX features identified?",
|
|
26
|
+
"failDescription": "Critical UX features are missing — user flows, navigation, or feedback mechanisms not identified",
|
|
27
|
+
"failSuggestion": "Identify critical UX features: primary user flows, navigation structure, feedback mechanisms, error recovery"
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"id": "ux-epic-03",
|
|
31
|
+
"tier": 1,
|
|
32
|
+
"perspective": "ux",
|
|
33
|
+
"severity": "major",
|
|
34
|
+
"category": "completeness",
|
|
35
|
+
"universal": false,
|
|
36
|
+
"applicabilityQuestion": "Does this epic involve user-facing features or user interactions?",
|
|
37
|
+
"question": "Are UX success criteria measurable?",
|
|
38
|
+
"failDescription": "UX success criteria are not measurable",
|
|
39
|
+
"failSuggestion": "Define measurable UX criteria: task completion rate, time-on-task, error rate, user satisfaction score"
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"id": "ux-epic-04",
|
|
43
|
+
"tier": 1,
|
|
44
|
+
"perspective": "ux",
|
|
45
|
+
"severity": "major",
|
|
46
|
+
"category": "technical-depth",
|
|
47
|
+
"universal": false,
|
|
48
|
+
"applicabilityQuestion": "Does this epic involve UX design patterns or interaction design?",
|
|
49
|
+
"question": "Are UX architectural patterns considered?",
|
|
50
|
+
"failDescription": "UX patterns are not considered — information architecture, navigation patterns, or interaction models missing",
|
|
51
|
+
"failSuggestion": "Consider UX patterns: information architecture, navigation model, progressive disclosure, feedback loops"
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"id": "ux-epic-05",
|
|
55
|
+
"tier": 1,
|
|
56
|
+
"perspective": "ux",
|
|
57
|
+
"severity": "minor",
|
|
58
|
+
"category": "clarity",
|
|
59
|
+
"universal": false,
|
|
60
|
+
"applicabilityQuestion": "Does this epic involve user-facing features or user interactions?",
|
|
61
|
+
"question": "Is UX terminology used correctly?",
|
|
62
|
+
"failDescription": "UX terminology is used incorrectly or inconsistently",
|
|
63
|
+
"failSuggestion": "Review UX terminology for accuracy: user flow, persona, journey map, affordance, mental model"
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"id": "ux-epic-06",
|
|
67
|
+
"tier": 1,
|
|
68
|
+
"perspective": "ux",
|
|
69
|
+
"severity": "minor",
|
|
70
|
+
"category": "consistency",
|
|
71
|
+
"universal": false,
|
|
72
|
+
"applicabilityQuestion": "Does this epic involve user-facing features or user interactions?",
|
|
73
|
+
"question": "Does the UX approach align with project context?",
|
|
74
|
+
"failDescription": "UX approach does not align with project context",
|
|
75
|
+
"failSuggestion": "Ensure UX approach aligns with project: consistent interaction patterns, user expectations, platform conventions"
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"id": "ux-epic-07",
|
|
79
|
+
"tier": 1,
|
|
80
|
+
"perspective": "ux",
|
|
81
|
+
"severity": "minor",
|
|
82
|
+
"category": "best-practices",
|
|
83
|
+
"universal": false,
|
|
84
|
+
"applicabilityQuestion": "Does this epic involve user-facing features or user interactions?",
|
|
85
|
+
"question": "Are industry-standard UX patterns followed (cognitive load, user control, consistency)?",
|
|
86
|
+
"failDescription": "UX best practices are not followed",
|
|
87
|
+
"failSuggestion": "Follow UX best practices: minimize cognitive load, provide user control, maintain consistency, support error recovery"
|
|
88
|
+
}
|
|
89
|
+
]
|
|
90
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# Epic Micro-Fix Agent
|
|
2
|
+
|
|
3
|
+
You are fixing exactly ONE issue in an epic definition.
|
|
4
|
+
|
|
5
|
+
## Rules
|
|
6
|
+
- Make the MINIMUM change to pass the failed check
|
|
7
|
+
- Do NOT remove existing features — only add or clarify
|
|
8
|
+
- Do NOT add unrelated improvements
|
|
9
|
+
- Each feature must be a single concise sentence (max 30 words)
|
|
10
|
+
- Return the complete epic as JSON: { description, features, dependencies }
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# Story Micro-Fix Agent
|
|
2
|
+
|
|
3
|
+
You are fixing exactly ONE issue in a story definition.
|
|
4
|
+
|
|
5
|
+
## Rules
|
|
6
|
+
- Make the MINIMUM change to pass the failed check
|
|
7
|
+
- Do NOT remove existing acceptance criteria — only add or clarify
|
|
8
|
+
- Do NOT add unrelated improvements
|
|
9
|
+
- Keep each acceptance criterion specific, testable, and atomic
|
|
10
|
+
- Return the complete story as JSON: { description, acceptanceCriteria, dependencies }
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
{
|
|
2
|
+
"perspective": "api",
|
|
3
|
+
"scope": "story",
|
|
4
|
+
"checks": [
|
|
5
|
+
{
|
|
6
|
+
"id": "api-story-01",
|
|
7
|
+
"tier": 1,
|
|
8
|
+
"perspective": "api",
|
|
9
|
+
"severity": "critical",
|
|
10
|
+
"category": "endpoint-contract",
|
|
11
|
+
"universal": false,
|
|
12
|
+
"applicabilityQuestion": "Does this story define or modify API endpoints? (Does it involve HTTP requests, REST endpoints, or API operations?)",
|
|
13
|
+
"question": "Does every endpoint have HTTP method and full path stated (e.g. POST /api/v1/customers)?",
|
|
14
|
+
"failDescription": "Endpoint contract missing HTTP method or full path",
|
|
15
|
+
"failSuggestion": "State HTTP method and full path for every endpoint: e.g. POST /api/v1/customers"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"id": "api-story-02",
|
|
19
|
+
"tier": 1,
|
|
20
|
+
"perspective": "api",
|
|
21
|
+
"severity": "critical",
|
|
22
|
+
"category": "endpoint-contract",
|
|
23
|
+
"universal": false,
|
|
24
|
+
"applicabilityQuestion": "Does this story define or modify API endpoints?",
|
|
25
|
+
"question": "Does every endpoint have success status code + key response fields named (e.g. 201 { id, name, createdAt })?",
|
|
26
|
+
"failDescription": "Endpoint contract missing success status code or response field names",
|
|
27
|
+
"failSuggestion": "State success status code and key response fields: e.g. 201 { id, name, createdAt }"
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"id": "api-story-03",
|
|
31
|
+
"tier": 1,
|
|
32
|
+
"perspective": "api",
|
|
33
|
+
"severity": "major",
|
|
34
|
+
"category": "endpoint-contract",
|
|
35
|
+
"universal": false,
|
|
36
|
+
"applicabilityQuestion": "Does this story accept request payloads?",
|
|
37
|
+
"question": "Are request payload fields named with type, required/optional, and format constraint?",
|
|
38
|
+
"failDescription": "Request payload fields lack type, required/optional status, or format constraints",
|
|
39
|
+
"failSuggestion": "Name payload fields with constraints: e.g. 'phone: E.164 string, required; bio: string, optional, max 500 chars'"
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"id": "api-story-04",
|
|
43
|
+
"tier": 1,
|
|
44
|
+
"perspective": "api",
|
|
45
|
+
"severity": "minor",
|
|
46
|
+
"category": "endpoint-contract",
|
|
47
|
+
"universal": false,
|
|
48
|
+
"applicabilityQuestion": "Does this story define or modify API endpoints?",
|
|
49
|
+
"question": "Is API versioning consistent with the project's convention (e.g. /api/v1/ prefix)?",
|
|
50
|
+
"failDescription": "API versioning is inconsistent with project convention",
|
|
51
|
+
"failSuggestion": "Ensure API versioning matches project convention: e.g. /api/v1/ prefix on all endpoints"
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"id": "api-story-05",
|
|
55
|
+
"tier": 1,
|
|
56
|
+
"perspective": "api",
|
|
57
|
+
"severity": "critical",
|
|
58
|
+
"category": "error-contract-completeness",
|
|
59
|
+
"universal": false,
|
|
60
|
+
"applicabilityQuestion": "Does this story define or modify API endpoints?",
|
|
61
|
+
"question": "Does the error contract cover at minimum: one validation error (400/422), one auth error (401), one authz error (403), one not-found (404)?",
|
|
62
|
+
"failDescription": "Error contract is incomplete — missing required error status codes",
|
|
63
|
+
"failSuggestion": "Cover minimum error contract: 422 (validation), 401 (auth), 403 (authz), 404 (not found)"
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"id": "api-story-06",
|
|
67
|
+
"tier": 1,
|
|
68
|
+
"perspective": "api",
|
|
69
|
+
"severity": "major",
|
|
70
|
+
"category": "error-contract-completeness",
|
|
71
|
+
"universal": false,
|
|
72
|
+
"applicabilityQuestion": "Does this story define error responses?",
|
|
73
|
+
"question": "Is the error body shape consistent: { error: 'MACHINE_READABLE_CODE' } or { error: 'CODE', field: '...' }?",
|
|
74
|
+
"failDescription": "Error body shape is inconsistent or not machine-readable",
|
|
75
|
+
"failSuggestion": "Use consistent error shape: { error: 'MACHINE_READABLE_CODE' } for general errors, add 'field' for validation errors"
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"id": "api-story-07",
|
|
79
|
+
"tier": 1,
|
|
80
|
+
"perspective": "api",
|
|
81
|
+
"severity": "minor",
|
|
82
|
+
"category": "error-contract-completeness",
|
|
83
|
+
"universal": false,
|
|
84
|
+
"applicabilityQuestion": "Does this story involve operations that could conflict? (duplicate keys, stale writes, concurrent operations)",
|
|
85
|
+
"question": "Are conflict scenarios (409) addressed (duplicate key, stale write, concurrent booking)?",
|
|
86
|
+
"failDescription": "Conflict scenarios (409) are not addressed",
|
|
87
|
+
"failSuggestion": "Address conflict scenarios: 409 for duplicate key, stale write (optimistic lock), or concurrent resource booking"
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"id": "api-story-08",
|
|
91
|
+
"tier": 1,
|
|
92
|
+
"perspective": "api",
|
|
93
|
+
"severity": "minor",
|
|
94
|
+
"category": "error-contract-completeness",
|
|
95
|
+
"universal": false,
|
|
96
|
+
"applicabilityQuestion": "Does this story involve rate-limited endpoints?",
|
|
97
|
+
"question": "Is the rate limit response (429) specified with retryAfter or Retry-After header?",
|
|
98
|
+
"failDescription": "Rate limit response is not specified",
|
|
99
|
+
"failSuggestion": "Specify rate limit response: 429 with Retry-After header indicating when to retry"
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
"id": "api-story-09",
|
|
103
|
+
"tier": 1,
|
|
104
|
+
"perspective": "api",
|
|
105
|
+
"severity": "major",
|
|
106
|
+
"category": "pagination-contract",
|
|
107
|
+
"universal": false,
|
|
108
|
+
"applicabilityQuestion": "Does this story return a paginated list? (Does it involve listing or searching through collections?)",
|
|
109
|
+
"question": "Is cursor encoding documented (opaque base64, what fields encoded)?",
|
|
110
|
+
"failDescription": "Cursor encoding is not documented for paginated endpoint",
|
|
111
|
+
"failSuggestion": "Document cursor encoding: e.g. 'opaque base64 encoding of (createdAt, id)'"
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
"id": "api-story-10",
|
|
115
|
+
"tier": 1,
|
|
116
|
+
"perspective": "api",
|
|
117
|
+
"severity": "major",
|
|
118
|
+
"category": "pagination-contract",
|
|
119
|
+
"universal": false,
|
|
120
|
+
"applicabilityQuestion": "Does this story return a paginated list?",
|
|
121
|
+
"question": "Are default and max limit values stated?",
|
|
122
|
+
"failDescription": "Default and max pagination limit values are not stated",
|
|
123
|
+
"failSuggestion": "State pagination limits: e.g. 'default: 20, max: 100'"
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
"id": "api-story-11",
|
|
127
|
+
"tier": 1,
|
|
128
|
+
"perspective": "api",
|
|
129
|
+
"severity": "minor",
|
|
130
|
+
"category": "pagination-contract",
|
|
131
|
+
"universal": false,
|
|
132
|
+
"applicabilityQuestion": "Does this story return a paginated list?",
|
|
133
|
+
"question": "Is a stable sort defined so pagination is deterministic?",
|
|
134
|
+
"failDescription": "Stable sort is not defined — pagination may be non-deterministic",
|
|
135
|
+
"failSuggestion": "Define stable sort: e.g. 'ORDER BY createdAt DESC, id DESC' for deterministic pagination"
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
"id": "api-story-12",
|
|
139
|
+
"tier": 1,
|
|
140
|
+
"perspective": "api",
|
|
141
|
+
"severity": "minor",
|
|
142
|
+
"category": "pagination-contract",
|
|
143
|
+
"universal": false,
|
|
144
|
+
"applicabilityQuestion": "Does this story return a paginated list?",
|
|
145
|
+
"question": "Does nextCursor: null explicitly signal the last page?",
|
|
146
|
+
"failDescription": "Last page signal is not explicitly defined",
|
|
147
|
+
"failSuggestion": "Specify last page: 'nextCursor: null signals the last page'"
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
"id": "api-story-13",
|
|
151
|
+
"tier": 1,
|
|
152
|
+
"perspective": "api",
|
|
153
|
+
"severity": "minor",
|
|
154
|
+
"category": "api-design-consistency",
|
|
155
|
+
"universal": false,
|
|
156
|
+
"applicabilityQuestion": "Does this story define or modify API endpoints?",
|
|
157
|
+
"question": "Is the field naming convention consistent (camelCase or snake_case matching project convention)?",
|
|
158
|
+
"failDescription": "Field naming convention is inconsistent with project convention",
|
|
159
|
+
"failSuggestion": "Ensure consistent field naming: use camelCase or snake_case matching the project convention throughout"
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
"id": "api-story-14",
|
|
163
|
+
"tier": 1,
|
|
164
|
+
"perspective": "api",
|
|
165
|
+
"severity": "minor",
|
|
166
|
+
"category": "api-design-consistency",
|
|
167
|
+
"universal": false,
|
|
168
|
+
"applicabilityQuestion": "Does this story return datetime values?",
|
|
169
|
+
"question": "Is the datetime format stated (ISO-8601 UTC, Unix timestamp)?",
|
|
170
|
+
"failDescription": "Datetime format is not stated",
|
|
171
|
+
"failSuggestion": "State datetime format: ISO-8601 UTC (e.g. '2024-01-15T10:30:00Z') or Unix timestamp"
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
"id": "api-story-15",
|
|
175
|
+
"tier": 1,
|
|
176
|
+
"perspective": "api",
|
|
177
|
+
"severity": "minor",
|
|
178
|
+
"category": "api-design-consistency",
|
|
179
|
+
"universal": false,
|
|
180
|
+
"applicabilityQuestion": "Does this story define fields with constrained values?",
|
|
181
|
+
"question": "Are enum values for constrained fields listed explicitly in ACs?",
|
|
182
|
+
"failDescription": "Enum values for constrained fields are not listed",
|
|
183
|
+
"failSuggestion": "List enum values explicitly: e.g. 'status: \"active\" | \"inactive\" | \"pending\"'"
|
|
184
|
+
}
|
|
185
|
+
]
|
|
186
|
+
}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
{
|
|
2
|
+
"perspective": "backend",
|
|
3
|
+
"scope": "story",
|
|
4
|
+
"checks": [
|
|
5
|
+
{
|
|
6
|
+
"id": "be-story-01",
|
|
7
|
+
"tier": 1,
|
|
8
|
+
"perspective": "backend",
|
|
9
|
+
"severity": "critical",
|
|
10
|
+
"category": "acceptance-criteria",
|
|
11
|
+
"universal": false,
|
|
12
|
+
"applicabilityQuestion": "Does this story involve server-side logic or backend services? (Does it include API endpoints, business logic, or data processing?)",
|
|
13
|
+
"question": "Is each acceptance criterion testable and measurable?",
|
|
14
|
+
"failDescription": "One or more acceptance criteria are not testable or measurable",
|
|
15
|
+
"failSuggestion": "Make each AC testable: specify HTTP status codes, DB state changes, or observable backend outcomes"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"id": "be-story-02",
|
|
19
|
+
"tier": 1,
|
|
20
|
+
"perspective": "backend",
|
|
21
|
+
"severity": "major",
|
|
22
|
+
"category": "acceptance-criteria",
|
|
23
|
+
"universal": false,
|
|
24
|
+
"applicabilityQuestion": "Does this story involve server-side logic or backend services?",
|
|
25
|
+
"question": "Do criteria cover happy path, edge cases, and error scenarios?",
|
|
26
|
+
"failDescription": "Criteria do not cover edge cases or error scenarios",
|
|
27
|
+
"failSuggestion": "Add backend error scenarios: DB constraint violations, service timeouts, invalid input, auth failures"
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"id": "be-story-03",
|
|
31
|
+
"tier": 1,
|
|
32
|
+
"perspective": "backend",
|
|
33
|
+
"severity": "major",
|
|
34
|
+
"category": "acceptance-criteria",
|
|
35
|
+
"universal": false,
|
|
36
|
+
"applicabilityQuestion": "Does this story involve server-side logic or backend services?",
|
|
37
|
+
"question": "Are backend requirements explicitly stated?",
|
|
38
|
+
"failDescription": "Backend requirements are not explicitly stated",
|
|
39
|
+
"failSuggestion": "State backend requirements: API endpoint details, data validation rules, error response format, logging"
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"id": "be-story-04",
|
|
43
|
+
"tier": 1,
|
|
44
|
+
"perspective": "backend",
|
|
45
|
+
"severity": "major",
|
|
46
|
+
"category": "implementation-clarity",
|
|
47
|
+
"universal": false,
|
|
48
|
+
"applicabilityQuestion": "Does this story involve server-side logic or backend services?",
|
|
49
|
+
"question": "Does the story provide enough backend detail for implementation?",
|
|
50
|
+
"failDescription": "Insufficient backend detail for implementation",
|
|
51
|
+
"failSuggestion": "Add backend details: service layer structure, data access pattern, error handling approach, transaction boundaries"
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"id": "be-story-05",
|
|
55
|
+
"tier": 1,
|
|
56
|
+
"perspective": "backend",
|
|
57
|
+
"severity": "minor",
|
|
58
|
+
"category": "implementation-clarity",
|
|
59
|
+
"universal": false,
|
|
60
|
+
"applicabilityQuestion": "Does this story involve server-side logic or backend services?",
|
|
61
|
+
"question": "Are backend patterns and approaches specified?",
|
|
62
|
+
"failDescription": "Backend patterns and approaches are not specified",
|
|
63
|
+
"failSuggestion": "Specify backend patterns: middleware chain, service layer, repository pattern, async processing"
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"id": "be-story-06",
|
|
67
|
+
"tier": 1,
|
|
68
|
+
"perspective": "backend",
|
|
69
|
+
"severity": "major",
|
|
70
|
+
"category": "testability",
|
|
71
|
+
"universal": false,
|
|
72
|
+
"applicabilityQuestion": "Does this story involve server-side logic or backend services?",
|
|
73
|
+
"question": "Does the story have a test-boundary AC naming specific scenarios a developer must test?",
|
|
74
|
+
"failDescription": "Story lacks a test-boundary AC",
|
|
75
|
+
"failSuggestion": "Add test-boundary AC: 'Tests must cover: (1) happy path, (2) validation error, (3) auth failure, (4) DB error, (5) edge cases'"
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"id": "be-story-07",
|
|
79
|
+
"tier": 1,
|
|
80
|
+
"perspective": "backend",
|
|
81
|
+
"severity": "minor",
|
|
82
|
+
"category": "scope-dependencies",
|
|
83
|
+
"universal": false,
|
|
84
|
+
"applicabilityQuestion": "Does this story involve server-side logic or backend services?",
|
|
85
|
+
"question": "Are dependencies on other stories explicit?",
|
|
86
|
+
"failDescription": "Dependencies on other stories are not explicit",
|
|
87
|
+
"failSuggestion": "Make dependencies explicit: reference specific story IDs and what contracts or services they provide"
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"id": "be-story-08",
|
|
91
|
+
"tier": 1,
|
|
92
|
+
"perspective": "backend",
|
|
93
|
+
"severity": "minor",
|
|
94
|
+
"category": "best-practices",
|
|
95
|
+
"universal": false,
|
|
96
|
+
"applicabilityQuestion": "Does this story involve server-side logic or backend services?",
|
|
97
|
+
"question": "Does the story follow backend best practices?",
|
|
98
|
+
"failDescription": "Backend best practices are not followed",
|
|
99
|
+
"failSuggestion": "Follow backend best practices: separation of concerns, proper error handling, input validation, logging"
|
|
100
|
+
}
|
|
101
|
+
]
|
|
102
|
+
}
|