spec-kitty-cli 0.12.1__py3-none-any.whl

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.
Files changed (242) hide show
  1. spec_kitty_cli-0.12.1.dist-info/METADATA +1767 -0
  2. spec_kitty_cli-0.12.1.dist-info/RECORD +242 -0
  3. spec_kitty_cli-0.12.1.dist-info/WHEEL +4 -0
  4. spec_kitty_cli-0.12.1.dist-info/entry_points.txt +2 -0
  5. spec_kitty_cli-0.12.1.dist-info/licenses/LICENSE +21 -0
  6. specify_cli/__init__.py +171 -0
  7. specify_cli/acceptance.py +627 -0
  8. specify_cli/agent_utils/README.md +157 -0
  9. specify_cli/agent_utils/__init__.py +9 -0
  10. specify_cli/agent_utils/status.py +356 -0
  11. specify_cli/cli/__init__.py +6 -0
  12. specify_cli/cli/commands/__init__.py +46 -0
  13. specify_cli/cli/commands/accept.py +189 -0
  14. specify_cli/cli/commands/agent/__init__.py +22 -0
  15. specify_cli/cli/commands/agent/config.py +382 -0
  16. specify_cli/cli/commands/agent/context.py +191 -0
  17. specify_cli/cli/commands/agent/feature.py +1057 -0
  18. specify_cli/cli/commands/agent/release.py +11 -0
  19. specify_cli/cli/commands/agent/tasks.py +1253 -0
  20. specify_cli/cli/commands/agent/workflow.py +801 -0
  21. specify_cli/cli/commands/context.py +246 -0
  22. specify_cli/cli/commands/dashboard.py +85 -0
  23. specify_cli/cli/commands/implement.py +973 -0
  24. specify_cli/cli/commands/init.py +827 -0
  25. specify_cli/cli/commands/init_help.py +62 -0
  26. specify_cli/cli/commands/merge.py +755 -0
  27. specify_cli/cli/commands/mission.py +240 -0
  28. specify_cli/cli/commands/ops.py +265 -0
  29. specify_cli/cli/commands/orchestrate.py +640 -0
  30. specify_cli/cli/commands/repair.py +175 -0
  31. specify_cli/cli/commands/research.py +165 -0
  32. specify_cli/cli/commands/sync.py +364 -0
  33. specify_cli/cli/commands/upgrade.py +249 -0
  34. specify_cli/cli/commands/validate_encoding.py +186 -0
  35. specify_cli/cli/commands/validate_tasks.py +186 -0
  36. specify_cli/cli/commands/verify.py +310 -0
  37. specify_cli/cli/helpers.py +123 -0
  38. specify_cli/cli/step_tracker.py +91 -0
  39. specify_cli/cli/ui.py +192 -0
  40. specify_cli/core/__init__.py +53 -0
  41. specify_cli/core/agent_context.py +311 -0
  42. specify_cli/core/config.py +96 -0
  43. specify_cli/core/context_validation.py +362 -0
  44. specify_cli/core/dependency_graph.py +351 -0
  45. specify_cli/core/git_ops.py +129 -0
  46. specify_cli/core/multi_parent_merge.py +323 -0
  47. specify_cli/core/paths.py +260 -0
  48. specify_cli/core/project_resolver.py +110 -0
  49. specify_cli/core/stale_detection.py +263 -0
  50. specify_cli/core/tool_checker.py +79 -0
  51. specify_cli/core/utils.py +43 -0
  52. specify_cli/core/vcs/__init__.py +114 -0
  53. specify_cli/core/vcs/detection.py +341 -0
  54. specify_cli/core/vcs/exceptions.py +85 -0
  55. specify_cli/core/vcs/git.py +1304 -0
  56. specify_cli/core/vcs/jujutsu.py +1208 -0
  57. specify_cli/core/vcs/protocol.py +285 -0
  58. specify_cli/core/vcs/types.py +249 -0
  59. specify_cli/core/version_checker.py +261 -0
  60. specify_cli/core/worktree.py +506 -0
  61. specify_cli/dashboard/__init__.py +28 -0
  62. specify_cli/dashboard/diagnostics.py +204 -0
  63. specify_cli/dashboard/handlers/__init__.py +17 -0
  64. specify_cli/dashboard/handlers/api.py +143 -0
  65. specify_cli/dashboard/handlers/base.py +65 -0
  66. specify_cli/dashboard/handlers/features.py +390 -0
  67. specify_cli/dashboard/handlers/router.py +81 -0
  68. specify_cli/dashboard/handlers/static.py +50 -0
  69. specify_cli/dashboard/lifecycle.py +541 -0
  70. specify_cli/dashboard/scanner.py +437 -0
  71. specify_cli/dashboard/server.py +123 -0
  72. specify_cli/dashboard/static/dashboard/dashboard.css +722 -0
  73. specify_cli/dashboard/static/dashboard/dashboard.js +1424 -0
  74. specify_cli/dashboard/static/spec-kitty.png +0 -0
  75. specify_cli/dashboard/templates/__init__.py +36 -0
  76. specify_cli/dashboard/templates/index.html +258 -0
  77. specify_cli/doc_generators.py +621 -0
  78. specify_cli/doc_state.py +408 -0
  79. specify_cli/frontmatter.py +384 -0
  80. specify_cli/gap_analysis.py +915 -0
  81. specify_cli/gitignore_manager.py +300 -0
  82. specify_cli/guards.py +145 -0
  83. specify_cli/legacy_detector.py +83 -0
  84. specify_cli/manifest.py +286 -0
  85. specify_cli/merge/__init__.py +63 -0
  86. specify_cli/merge/executor.py +653 -0
  87. specify_cli/merge/forecast.py +215 -0
  88. specify_cli/merge/ordering.py +126 -0
  89. specify_cli/merge/preflight.py +230 -0
  90. specify_cli/merge/state.py +185 -0
  91. specify_cli/merge/status_resolver.py +354 -0
  92. specify_cli/mission.py +654 -0
  93. specify_cli/missions/documentation/command-templates/implement.md +309 -0
  94. specify_cli/missions/documentation/command-templates/plan.md +275 -0
  95. specify_cli/missions/documentation/command-templates/review.md +344 -0
  96. specify_cli/missions/documentation/command-templates/specify.md +206 -0
  97. specify_cli/missions/documentation/command-templates/tasks.md +189 -0
  98. specify_cli/missions/documentation/mission.yaml +113 -0
  99. specify_cli/missions/documentation/templates/divio/explanation-template.md +192 -0
  100. specify_cli/missions/documentation/templates/divio/howto-template.md +168 -0
  101. specify_cli/missions/documentation/templates/divio/reference-template.md +179 -0
  102. specify_cli/missions/documentation/templates/divio/tutorial-template.md +146 -0
  103. specify_cli/missions/documentation/templates/generators/jsdoc.json.template +18 -0
  104. specify_cli/missions/documentation/templates/generators/sphinx-conf.py.template +36 -0
  105. specify_cli/missions/documentation/templates/plan-template.md +269 -0
  106. specify_cli/missions/documentation/templates/release-template.md +222 -0
  107. specify_cli/missions/documentation/templates/spec-template.md +172 -0
  108. specify_cli/missions/documentation/templates/task-prompt-template.md +140 -0
  109. specify_cli/missions/documentation/templates/tasks-template.md +159 -0
  110. specify_cli/missions/research/command-templates/merge.md +388 -0
  111. specify_cli/missions/research/command-templates/plan.md +125 -0
  112. specify_cli/missions/research/command-templates/review.md +144 -0
  113. specify_cli/missions/research/command-templates/tasks.md +225 -0
  114. specify_cli/missions/research/mission.yaml +115 -0
  115. specify_cli/missions/research/templates/data-model-template.md +33 -0
  116. specify_cli/missions/research/templates/plan-template.md +161 -0
  117. specify_cli/missions/research/templates/research/evidence-log.csv +18 -0
  118. specify_cli/missions/research/templates/research/source-register.csv +18 -0
  119. specify_cli/missions/research/templates/research-template.md +35 -0
  120. specify_cli/missions/research/templates/spec-template.md +64 -0
  121. specify_cli/missions/research/templates/task-prompt-template.md +148 -0
  122. specify_cli/missions/research/templates/tasks-template.md +114 -0
  123. specify_cli/missions/software-dev/command-templates/accept.md +75 -0
  124. specify_cli/missions/software-dev/command-templates/analyze.md +183 -0
  125. specify_cli/missions/software-dev/command-templates/checklist.md +286 -0
  126. specify_cli/missions/software-dev/command-templates/clarify.md +157 -0
  127. specify_cli/missions/software-dev/command-templates/constitution.md +432 -0
  128. specify_cli/missions/software-dev/command-templates/dashboard.md +101 -0
  129. specify_cli/missions/software-dev/command-templates/implement.md +41 -0
  130. specify_cli/missions/software-dev/command-templates/merge.md +383 -0
  131. specify_cli/missions/software-dev/command-templates/plan.md +171 -0
  132. specify_cli/missions/software-dev/command-templates/review.md +32 -0
  133. specify_cli/missions/software-dev/command-templates/specify.md +321 -0
  134. specify_cli/missions/software-dev/command-templates/tasks.md +566 -0
  135. specify_cli/missions/software-dev/mission.yaml +100 -0
  136. specify_cli/missions/software-dev/templates/plan-template.md +132 -0
  137. specify_cli/missions/software-dev/templates/spec-template.md +116 -0
  138. specify_cli/missions/software-dev/templates/task-prompt-template.md +140 -0
  139. specify_cli/missions/software-dev/templates/tasks-template.md +159 -0
  140. specify_cli/orchestrator/__init__.py +75 -0
  141. specify_cli/orchestrator/agent_config.py +224 -0
  142. specify_cli/orchestrator/agents/__init__.py +170 -0
  143. specify_cli/orchestrator/agents/augment.py +112 -0
  144. specify_cli/orchestrator/agents/base.py +243 -0
  145. specify_cli/orchestrator/agents/claude.py +112 -0
  146. specify_cli/orchestrator/agents/codex.py +106 -0
  147. specify_cli/orchestrator/agents/copilot.py +137 -0
  148. specify_cli/orchestrator/agents/cursor.py +139 -0
  149. specify_cli/orchestrator/agents/gemini.py +115 -0
  150. specify_cli/orchestrator/agents/kilocode.py +94 -0
  151. specify_cli/orchestrator/agents/opencode.py +132 -0
  152. specify_cli/orchestrator/agents/qwen.py +96 -0
  153. specify_cli/orchestrator/config.py +455 -0
  154. specify_cli/orchestrator/executor.py +642 -0
  155. specify_cli/orchestrator/integration.py +1230 -0
  156. specify_cli/orchestrator/monitor.py +898 -0
  157. specify_cli/orchestrator/scheduler.py +832 -0
  158. specify_cli/orchestrator/state.py +508 -0
  159. specify_cli/orchestrator/testing/__init__.py +122 -0
  160. specify_cli/orchestrator/testing/availability.py +346 -0
  161. specify_cli/orchestrator/testing/fixtures.py +684 -0
  162. specify_cli/orchestrator/testing/paths.py +218 -0
  163. specify_cli/plan_validation.py +107 -0
  164. specify_cli/scripts/debug-dashboard-scan.py +61 -0
  165. specify_cli/scripts/tasks/acceptance_support.py +695 -0
  166. specify_cli/scripts/tasks/task_helpers.py +506 -0
  167. specify_cli/scripts/tasks/tasks_cli.py +848 -0
  168. specify_cli/scripts/validate_encoding.py +180 -0
  169. specify_cli/task_metadata_validation.py +274 -0
  170. specify_cli/tasks_support.py +447 -0
  171. specify_cli/template/__init__.py +47 -0
  172. specify_cli/template/asset_generator.py +206 -0
  173. specify_cli/template/github_client.py +334 -0
  174. specify_cli/template/manager.py +193 -0
  175. specify_cli/template/renderer.py +99 -0
  176. specify_cli/templates/AGENTS.md +190 -0
  177. specify_cli/templates/POWERSHELL_SYNTAX.md +229 -0
  178. specify_cli/templates/agent-file-template.md +35 -0
  179. specify_cli/templates/checklist-template.md +42 -0
  180. specify_cli/templates/claudeignore-template +58 -0
  181. specify_cli/templates/command-templates/accept.md +141 -0
  182. specify_cli/templates/command-templates/analyze.md +253 -0
  183. specify_cli/templates/command-templates/checklist.md +352 -0
  184. specify_cli/templates/command-templates/clarify.md +224 -0
  185. specify_cli/templates/command-templates/constitution.md +432 -0
  186. specify_cli/templates/command-templates/dashboard.md +175 -0
  187. specify_cli/templates/command-templates/implement.md +190 -0
  188. specify_cli/templates/command-templates/merge.md +374 -0
  189. specify_cli/templates/command-templates/plan.md +171 -0
  190. specify_cli/templates/command-templates/research.md +88 -0
  191. specify_cli/templates/command-templates/review.md +510 -0
  192. specify_cli/templates/command-templates/specify.md +321 -0
  193. specify_cli/templates/command-templates/status.md +92 -0
  194. specify_cli/templates/command-templates/tasks.md +199 -0
  195. specify_cli/templates/git-hooks/pre-commit +22 -0
  196. specify_cli/templates/git-hooks/pre-commit-agent-check +37 -0
  197. specify_cli/templates/git-hooks/pre-commit-encoding-check +142 -0
  198. specify_cli/templates/plan-template.md +108 -0
  199. specify_cli/templates/spec-template.md +118 -0
  200. specify_cli/templates/task-prompt-template.md +165 -0
  201. specify_cli/templates/tasks-template.md +161 -0
  202. specify_cli/templates/vscode-settings.json +13 -0
  203. specify_cli/text_sanitization.py +225 -0
  204. specify_cli/upgrade/__init__.py +18 -0
  205. specify_cli/upgrade/detector.py +239 -0
  206. specify_cli/upgrade/metadata.py +182 -0
  207. specify_cli/upgrade/migrations/__init__.py +65 -0
  208. specify_cli/upgrade/migrations/base.py +80 -0
  209. specify_cli/upgrade/migrations/m_0_10_0_python_only.py +359 -0
  210. specify_cli/upgrade/migrations/m_0_10_12_constitution_cleanup.py +99 -0
  211. specify_cli/upgrade/migrations/m_0_10_14_update_implement_slash_command.py +176 -0
  212. specify_cli/upgrade/migrations/m_0_10_1_populate_slash_commands.py +174 -0
  213. specify_cli/upgrade/migrations/m_0_10_2_update_slash_commands.py +172 -0
  214. specify_cli/upgrade/migrations/m_0_10_6_workflow_simplification.py +174 -0
  215. specify_cli/upgrade/migrations/m_0_10_8_fix_memory_structure.py +252 -0
  216. specify_cli/upgrade/migrations/m_0_10_9_repair_templates.py +168 -0
  217. specify_cli/upgrade/migrations/m_0_11_0_workspace_per_wp.py +182 -0
  218. specify_cli/upgrade/migrations/m_0_11_1_improved_workflow_templates.py +173 -0
  219. specify_cli/upgrade/migrations/m_0_11_1_update_implement_slash_command.py +160 -0
  220. specify_cli/upgrade/migrations/m_0_11_2_improved_workflow_templates.py +173 -0
  221. specify_cli/upgrade/migrations/m_0_11_3_workflow_agent_flag.py +114 -0
  222. specify_cli/upgrade/migrations/m_0_12_0_documentation_mission.py +155 -0
  223. specify_cli/upgrade/migrations/m_0_12_1_remove_kitty_specs_from_gitignore.py +183 -0
  224. specify_cli/upgrade/migrations/m_0_2_0_specify_to_kittify.py +80 -0
  225. specify_cli/upgrade/migrations/m_0_4_8_gitignore_agents.py +118 -0
  226. specify_cli/upgrade/migrations/m_0_5_0_encoding_hooks.py +141 -0
  227. specify_cli/upgrade/migrations/m_0_6_5_commands_rename.py +169 -0
  228. specify_cli/upgrade/migrations/m_0_6_7_ensure_missions.py +228 -0
  229. specify_cli/upgrade/migrations/m_0_7_2_worktree_commands_dedup.py +89 -0
  230. specify_cli/upgrade/migrations/m_0_7_3_update_scripts.py +114 -0
  231. specify_cli/upgrade/migrations/m_0_8_0_remove_active_mission.py +82 -0
  232. specify_cli/upgrade/migrations/m_0_8_0_worktree_agents_symlink.py +148 -0
  233. specify_cli/upgrade/migrations/m_0_9_0_frontmatter_only_lanes.py +346 -0
  234. specify_cli/upgrade/migrations/m_0_9_1_complete_lane_migration.py +656 -0
  235. specify_cli/upgrade/migrations/m_0_9_2_research_mission_templates.py +221 -0
  236. specify_cli/upgrade/registry.py +121 -0
  237. specify_cli/upgrade/runner.py +284 -0
  238. specify_cli/validators/__init__.py +14 -0
  239. specify_cli/validators/paths.py +154 -0
  240. specify_cli/validators/research.py +428 -0
  241. specify_cli/verify_enhanced.py +270 -0
  242. specify_cli/workspace_context.py +224 -0
@@ -0,0 +1,148 @@
1
+ ---
2
+ work_package_id: "WPxx"
3
+ subtasks:
4
+ - "Txxx"
5
+ title: "Replace with work package title"
6
+ phase: "Phase N - Replace with phase name"
7
+ lane: "planned" # DO NOT EDIT - use: spec-kitty agent tasks move-task <WPID> --to <lane>
8
+ assignee: "" # Optional friendly name when in doing/for_review
9
+ agent: "" # CLI agent identifier (claude, codex, etc.)
10
+ shell_pid: "" # PID captured when the task moved to the current lane
11
+ review_status: "" # empty | has_feedback | acknowledged (populated by reviewers/implementers)
12
+ reviewed_by: "" # Agent ID of the reviewer (if reviewed)
13
+ history:
14
+ - timestamp: "{{TIMESTAMP}}"
15
+ lane: "planned"
16
+ agent: "system"
17
+ shell_pid: ""
18
+ action: "Prompt generated via /spec-kitty.tasks"
19
+ ---
20
+
21
+ # Research Work Package: {{work_package_id}} – {{title}}
22
+
23
+ ## Review Feedback Status
24
+
25
+ **Read this first if you are working on this research task!**
26
+
27
+ - **Has review feedback?**: Check the `review_status` field above. If it says `has_feedback`, scroll to the **Review Feedback** section immediately (right below this notice).
28
+ - **You must address all feedback** before your work is complete. Feedback items are your research TODO list.
29
+ - **Mark as acknowledged**: When you understand the feedback and begin addressing it, update `review_status: acknowledged` in the frontmatter.
30
+ - **Report progress**: As you address each feedback item, update the Activity Log explaining what you changed.
31
+
32
+ ---
33
+
34
+ ## Review Feedback
35
+
36
+ > **Populated by `/spec-kitty.review`** – Reviewers add detailed feedback here when research needs revision. Each item must be addressed before returning for re-review.
37
+
38
+ *[This section is empty initially. Reviewers will populate it if the work is returned from review. If you see feedback here, treat each item as a must-do before completion.]*
39
+
40
+ ---
41
+
42
+ ## Markdown Formatting
43
+ Wrap HTML/XML tags in backticks: `` `<div>` ``, `` `<script>` ``
44
+ Use language identifiers in code blocks: ````python`, ````bash`
45
+
46
+ ---
47
+
48
+ ## Research Objectives & Success Criteria
49
+
50
+ - Summarize the exact outcomes that mark this research work package complete.
51
+ - Call out key acceptance criteria or quality metrics (e.g., minimum sources, confidence thresholds).
52
+
53
+ ## Context & Methodology
54
+
55
+ - Reference prerequisite work and related documents.
56
+ - Link to supporting specs: `.kittify/memory/constitution.md`, `kitty-specs/.../plan.md` (methodology), `kitty-specs/.../spec.md` (research question), `research.md`, `data-model.md`.
57
+ - Highlight methodological constraints or quality requirements.
58
+
59
+ ## Evidence Tracking Requirements
60
+
61
+ - **Source Register**: All sources MUST be recorded in `research/source-register.csv`
62
+ - **Evidence Log**: All findings MUST be recorded in `research/evidence-log.csv`
63
+ - **Citations**: Every claim must link to evidence rows
64
+
65
+ ## Subtasks & Detailed Guidance
66
+
67
+ ### Subtask TXXX – Replace with summary
68
+ - **Purpose**: Explain why this research subtask exists.
69
+ - **Steps**: Detailed, actionable instructions for conducting research.
70
+ - **Sources**: Types of sources to search (academic, industry, gray literature).
71
+ - **Output**: What artifact to update (source-register.csv, evidence-log.csv, findings.md).
72
+ - **Parallel?**: Note if this can run alongside others (e.g., different databases).
73
+ - **Quality Criteria**: Minimum requirements for this subtask.
74
+
75
+ ### Subtask TYYY – Replace with summary
76
+ - Repeat the structure above for every included `Txxx` entry.
77
+
78
+ ## Quality & Validation
79
+
80
+ - Specify minimum source requirements.
81
+ - Define confidence level thresholds.
82
+ - Document methodology adherence checkpoints.
83
+
84
+ ## Risks & Mitigations
85
+
86
+ - List known pitfalls (bias, incomplete coverage, contradictory findings).
87
+ - Provide mitigation strategies.
88
+
89
+ ## Review Guidance
90
+
91
+ - Key acceptance checkpoints for `/spec-kitty.review`.
92
+ - Methodology adherence verification points.
93
+ - Any context reviewers should consider.
94
+
95
+ ## Activity Log
96
+
97
+ > **CRITICAL**: Activity log entries MUST be in chronological order (oldest first, newest last).
98
+
99
+ ### How to Add Activity Log Entries
100
+
101
+ **When adding an entry**:
102
+ 1. Scroll to the bottom of this file (Activity Log section below "Valid lanes")
103
+ 2. **APPEND the new entry at the END** (do NOT prepend or insert in middle)
104
+ 3. Use exact format: `- YYYY-MM-DDTHH:MM:SSZ – agent_id – lane=<lane> – <action>`
105
+ 4. Timestamp MUST be current time in UTC (check with `date -u "+%Y-%m-%dT%H:%M:%SZ"`)
106
+ 5. Lane MUST match the frontmatter `lane:` field exactly
107
+ 6. Agent ID should identify who made the change (claude-sonnet-4-5, codex, etc.)
108
+
109
+ **Format**:
110
+ ```
111
+ - YYYY-MM-DDTHH:MM:SSZ – <agent_id> – lane=<lane> – <brief action description>
112
+ ```
113
+
114
+ **Example (correct chronological order)**:
115
+ ```
116
+ - 2026-01-12T10:00:00Z – system – lane=planned – Prompt created
117
+ - 2026-01-12T10:30:00Z – claude – lane=doing – Started literature search
118
+ - 2026-01-12T11:00:00Z – claude – lane=for_review – Research complete, ready for review
119
+ - 2026-01-12T11:30:00Z – codex – lane=done – Review passed, findings validated <- LATEST (at bottom)
120
+ ```
121
+
122
+ **Common mistakes (DO NOT DO THIS)**:
123
+ - Adding new entry at the top (breaks chronological order)
124
+ - Using future timestamps (causes acceptance validation to fail)
125
+ - Lane mismatch: frontmatter says `lane: "done"` but log entry says `lane=doing`
126
+ - Inserting in middle instead of appending to end
127
+
128
+ **Why this matters**: The acceptance system reads the LAST activity log entry as the current state. If entries are out of order, acceptance will fail even when the work is complete.
129
+
130
+ **Initial entry**:
131
+ - {{TIMESTAMP}} – system – lane=planned – Prompt created.
132
+
133
+ ---
134
+
135
+ ### Updating Lane Status
136
+
137
+ To change a work package's lane, either:
138
+
139
+ 1. **Edit directly**: Change the `lane:` field in frontmatter AND append activity log entry (at the end)
140
+ 2. **Use CLI**: `spec-kitty agent tasks move-task <WPID> --to <lane> --note "message"` (recommended)
141
+
142
+ The CLI command updates both frontmatter and activity log automatically.
143
+
144
+ **Valid lanes**: `planned`, `doing`, `for_review`, `done`
145
+
146
+ ### File Structure
147
+
148
+ All WP files live in a flat `tasks/` directory. The lane is determined by the `lane:` frontmatter field, not the directory location.
@@ -0,0 +1,114 @@
1
+ ---
2
+ description: "Work package task list template for research methodology execution"
3
+ ---
4
+
5
+ # Work Packages: [RESEARCH QUESTION]
6
+
7
+ **Inputs**: Research documents from `/kitty-specs/[###-research]/`
8
+ **Prerequisites**: plan.md (methodology), spec.md (research question), research.md (background), data-model.md, quickstart.md
9
+
10
+ **Evidence Tracking**: All sources MUST be recorded in `research/source-register.csv` and findings in `research/evidence-log.csv`.
11
+
12
+ **Organization**: Research work packages organized by methodology phase. Each work package must be independently deliverable and testable (e.g., literature search complete before analysis).
13
+
14
+ ## Subtask Format: `[Txxx] [P?] Description`
15
+ - **[P]** indicates the subtask can proceed in parallel (different sources/analysts).
16
+ - Always reference the file or artifact impacted (e.g., `research/evidence-log.csv`).
17
+ - Use research terminology: phases, findings, synthesis, methodology.
18
+
19
+ ## Path Conventions
20
+ - **Workspace**: `research/`
21
+ - **Data**: `data/`
22
+ - **Deliverables**: `findings/`
23
+ - Adjust additional paths to match mission.yaml definitions.
24
+
25
+ ---
26
+
27
+ ## Work Package WP01: Literature Search & Source Collection (Priority: P1) 🎯 Foundation
28
+
29
+ **Goal**: Identify and collect all relevant sources for the research question.
30
+ **Independent Test**: `research/source-register.csv` contains the minimum required high-quality sources with relevance ratings.
31
+ **Prompt**: `/tasks/WP01-literature-search.md`
32
+
33
+ ### Included Subtasks
34
+ - [ ] T001 Define search keywords and inclusion/exclusion criteria
35
+ - [ ] T002 [P] Search academic database 1 (IEEE, PubMed, arXiv, etc.)
36
+ - [ ] T003 [P] Search academic database 2
37
+ - [ ] T004 [P] Search gray literature and industry sources
38
+ - [ ] T005 Screen collected sources for relevance
39
+ - [ ] T006 Populate source-register.csv with all candidate sources
40
+ - [ ] T007 Prioritize sources by relevance rating and status
41
+
42
+ ### Implementation Notes
43
+ - Document search queries and filters.
44
+ - Capture DOIs/URLs and access dates in the source register.
45
+
46
+ ---
47
+
48
+ ## Work Package WP02: Source Review & Evidence Extraction (Priority: P1)
49
+
50
+ **Goal**: Review prioritized sources and extract key findings.
51
+ **Independent Test**: `research/evidence-log.csv` contains findings from all high-relevance sources with confidence levels.
52
+ **Prompt**: `/tasks/WP02-source-review.md`
53
+
54
+ ### Included Subtasks
55
+ - [ ] T008 [P] Review high-relevance sources (parallelizable by researcher/source)
56
+ - [ ] T009 Extract key findings into evidence-log.csv
57
+ - [ ] T010 Assign confidence levels to findings
58
+ - [ ] T011 Document limitations and caveats in notes column
59
+ - [ ] T012 Identify patterns/themes emerging from evidence
60
+
61
+ ### Implementation Notes
62
+ - Reference source IDs from source-register.csv within each evidence row.
63
+ - Flag contradictory findings for deeper analysis.
64
+
65
+ ---
66
+
67
+ ## Work Package WP03: Analysis & Synthesis (Priority: P1)
68
+
69
+ **Goal**: Synthesize findings and answer the research question.
70
+ **Independent Test**: findings.md contains synthesized conclusions backed by citations.
71
+ **Prompt**: `/tasks/WP03-analysis-synthesis.md`
72
+
73
+ ### Included Subtasks
74
+ - [ ] T013 Code findings by theme/category
75
+ - [ ] T014 Identify patterns across sources and confidence levels
76
+ - [ ] T015 Assess strength of evidence supporting each claim
77
+ - [ ] T016 Draw conclusions mapped to sub-questions
78
+ - [ ] T017 Document limitations and threats to validity
79
+ - [ ] T018 Write findings.md with synthesis and bibliography references
80
+
81
+ ### Implementation Notes
82
+ - Link every conclusion to evidence rows.
83
+ - Summarize methodology adherence and outstanding questions.
84
+
85
+ ---
86
+
87
+ ## Additional Work Packages (Add as needed)
88
+
89
+ - **WP0X – Methodology Refinement**: Update plan.md, adjust phases, incorporate new data collection methods.
90
+ - **WP0Y – Publication Prep**: Create findings/report deliverables, prepare presentation, finalize bibliography.
91
+ - **WP0Z – Empirical Study Support**: For empirical work, capture experiment setup, data collection logs, statistical analysis.
92
+
93
+ ---
94
+
95
+ ## Dependency & Execution Summary
96
+
97
+ - **Sequence**: WP01 (literature search) → WP02 (evidence extraction) → WP03 (analysis & synthesis) → WP0X (publication/polish).
98
+ - **Parallelization**: Database searches, source reviews, and evidence extraction subtasks can run concurrently when using clear ownership per source.
99
+ - **Quality Gates**: Do not advance phases until acceptance criteria for the current work package are satisfied.
100
+
101
+ ---
102
+
103
+ ## Subtask Index (Reference)
104
+
105
+ | Subtask ID | Summary | Work Package | Priority | Parallel? |
106
+ |------------|---------|--------------|----------|-----------|
107
+ | T001 | Define search parameters | WP01 | P1 | No |
108
+ | T002 | Search academic database 1 | WP01 | P1 | Yes |
109
+ | T008 | Review high-relevance sources | WP02 | P1 | Yes |
110
+ | T013 | Code findings by theme | WP03 | P1 | No |
111
+
112
+ ---
113
+
114
+ > Replace placeholder text with research-specific content. Keep this structure so downstream automation can parse work packages and maintain rigorous research workflows.
@@ -0,0 +1,75 @@
1
+ ---
2
+ description: Validate feature readiness and guide final acceptance steps.
3
+ ---
4
+
5
+ # /spec-kitty.accept - Validate Feature Readiness
6
+
7
+ **Version**: 0.11.0+
8
+ **Purpose**: Validate all work packages are complete and feature is ready to merge.
9
+
10
+ ## 📍 WORKING DIRECTORY: Run from MAIN repository
11
+
12
+ **IMPORTANT**: Accept runs from the main repository root, NOT from a WP worktree.
13
+
14
+ ```bash
15
+ # If you're in a worktree, return to main first:
16
+ cd $(git rev-parse --show-toplevel)
17
+
18
+ # Then run accept:
19
+ spec-kitty accept
20
+ ```
21
+
22
+ ## User Input
23
+
24
+ ```text
25
+ $ARGUMENTS
26
+ ```
27
+
28
+ You **MUST** consider the user input before proceeding (if not empty).
29
+
30
+ ## Discovery (mandatory)
31
+
32
+ Before running the acceptance workflow, gather the following:
33
+
34
+ 1. **Feature slug** (e.g., `005-awesome-thing`). If omitted, detect automatically.
35
+ 2. **Acceptance mode**:
36
+ - `pr` when the feature will merge via hosted pull request.
37
+ - `local` when the feature will merge locally without a PR.
38
+ - `checklist` to run the readiness checklist without committing or producing merge instructions.
39
+ 3. **Validation commands executed** (tests/builds). Collect each command verbatim; omit if none.
40
+ 4. **Acceptance actor** (optional, defaults to the current agent name).
41
+
42
+ Ask one focused question per item and confirm the summary before continuing. End the discovery turn with `WAITING_FOR_ACCEPTANCE_INPUT` until all answers are provided.
43
+
44
+ ## Execution Plan
45
+
46
+ 1. Compile the acceptance options into an argument list:
47
+ - Always include `--actor "__AGENT__"`.
48
+ - Append `--feature "<slug>"` when the user supplied a slug.
49
+ - Append `--mode <mode>` (`pr`, `local`, or `checklist`).
50
+ - Append `--test "<command>"` for each validation command provided.
51
+ 2. Run `{SCRIPT}` (the CLI wrapper) with the assembled arguments **and** `--json`.
52
+ 3. Parse the JSON response. It contains:
53
+ - `summary.ok` (boolean) and other readiness details.
54
+ - `summary.outstanding` categories when issues remain.
55
+ - `instructions` (merge steps) and `cleanup_instructions`.
56
+ - `notes` (e.g., acceptance commit hash).
57
+ 4. Present the outcome:
58
+ - If `summary.ok` is `false`, list each outstanding category with bullet points and advise the user to resolve them before retrying acceptance.
59
+ - If `summary.ok` is `true`, display:
60
+ - Acceptance timestamp, actor, and (if present) acceptance commit hash.
61
+ - Merge instructions and cleanup instructions as ordered steps.
62
+ - Validation commands executed (if any).
63
+ 5. When the mode is `checklist`, make it clear no commits or merge instructions were produced.
64
+
65
+ ## Output Requirements
66
+
67
+ - Summaries must be in plain text (no tables). Use short bullet lists for instructions.
68
+ - Surface outstanding issues before any congratulations or success messages.
69
+ - If the JSON payload includes warnings, surface them under an explicit **Warnings** section.
70
+ - Never fabricate results; only report what the JSON contains.
71
+
72
+ ## Error Handling
73
+
74
+ - If the command fails or returns invalid JSON, report the failure and request user guidance (do not retry automatically).
75
+ - When outstanding issues exist, do **not** attempt to force acceptance—return the checklist and prompt the user to fix the blockers.
@@ -0,0 +1,183 @@
1
+ ---
2
+ description: Perform a non-destructive cross-artifact consistency and quality analysis across spec.md, plan.md, and tasks.md after task generation.
3
+ ---
4
+
5
+ ## User Input
6
+
7
+ ```text
8
+ $ARGUMENTS
9
+ ```
10
+
11
+ You **MUST** consider the user input before proceeding (if not empty).
12
+
13
+ ## Goal
14
+
15
+ Identify inconsistencies, duplications, ambiguities, and underspecified items across the three core artifacts (`spec.md`, `plan.md`, `tasks.md`) before implementation. This command MUST run only after `/tasks` has successfully produced a complete `tasks.md`.
16
+
17
+ ## Operating Constraints
18
+
19
+ **STRICTLY READ-ONLY**: Do **not** modify any files. Output a structured analysis report. Offer an optional remediation plan (user must explicitly approve before any follow-up editing commands would be invoked manually).
20
+
21
+ **Constitution Authority**: The project constitution (`/memory/constitution.md`) is **non-negotiable** within this analysis scope. Constitution conflicts are automatically CRITICAL and require adjustment of the spec, plan, or tasks—not dilution, reinterpretation, or silent ignoring of the principle. If a principle itself needs to change, that must occur in a separate, explicit constitution update outside `/analyze`.
22
+
23
+ ## Execution Steps
24
+
25
+ ### 1. Initialize Analysis Context
26
+
27
+ Run `{SCRIPT}` once from repo root and parse JSON for FEATURE_DIR and AVAILABLE_DOCS. Derive absolute paths:
28
+
29
+ - SPEC = FEATURE_DIR/spec.md
30
+ - PLAN = FEATURE_DIR/plan.md
31
+ - TASKS = FEATURE_DIR/tasks.md
32
+
33
+ Abort with an error message if any required file is missing (instruct the user to run missing prerequisite command).
34
+
35
+ ### 2. Load Artifacts (Progressive Disclosure)
36
+
37
+ Load only the minimal necessary context from each artifact:
38
+
39
+ **From spec.md:**
40
+
41
+ - Overview/Context
42
+ - Functional Requirements
43
+ - Non-Functional Requirements
44
+ - User Stories
45
+ - Edge Cases (if present)
46
+
47
+ **From plan.md:**
48
+
49
+ - Architecture/stack choices
50
+ - Data Model references
51
+ - Phases
52
+ - Technical constraints
53
+
54
+ **From tasks.md:**
55
+
56
+ - Task IDs
57
+ - Descriptions
58
+ - Phase grouping
59
+ - Parallel markers [P]
60
+ - Referenced file paths
61
+
62
+ **From constitution:**
63
+
64
+ - Load `/memory/constitution.md` for principle validation
65
+
66
+ ### 3. Build Semantic Models
67
+
68
+ Create internal representations (do not include raw artifacts in output):
69
+
70
+ - **Requirements inventory**: Each functional + non-functional requirement with a stable key (derive slug based on imperative phrase; e.g., "User can upload file" → `user-can-upload-file`)
71
+ - **User story/action inventory**: Discrete user actions with acceptance criteria
72
+ - **Task coverage mapping**: Map each task to one or more requirements or stories (inference by keyword / explicit reference patterns like IDs or key phrases)
73
+ - **Constitution rule set**: Extract principle names and MUST/SHOULD normative statements
74
+
75
+ ### 4. Detection Passes (Token-Efficient Analysis)
76
+
77
+ Focus on high-signal findings. Limit to 50 findings total; aggregate remainder in overflow summary.
78
+
79
+ #### A. Duplication Detection
80
+
81
+ - Identify near-duplicate requirements
82
+ - Mark lower-quality phrasing for consolidation
83
+
84
+ #### B. Ambiguity Detection
85
+
86
+ - Flag vague adjectives (fast, scalable, secure, intuitive, robust) lacking measurable criteria
87
+ - Flag unresolved placeholders (TODO, TKTK, ???, `<placeholder>`, etc.)
88
+
89
+ #### C. Underspecification
90
+
91
+ - Requirements with verbs but missing object or measurable outcome
92
+ - User stories missing acceptance criteria alignment
93
+ - Tasks referencing files or components not defined in spec/plan
94
+
95
+ #### D. Constitution Alignment
96
+
97
+ - Any requirement or plan element conflicting with a MUST principle
98
+ - Missing mandated sections or quality gates from constitution
99
+
100
+ #### E. Coverage Gaps
101
+
102
+ - Requirements with zero associated tasks
103
+ - Tasks with no mapped requirement/story
104
+ - Non-functional requirements not reflected in tasks (e.g., performance, security)
105
+
106
+ #### F. Inconsistency
107
+
108
+ - Terminology drift (same concept named differently across files)
109
+ - Data entities referenced in plan but absent in spec (or vice versa)
110
+ - Task ordering contradictions (e.g., integration tasks before foundational setup tasks without dependency note)
111
+ - Conflicting requirements (e.g., one requires Next.js while other specifies Vue)
112
+
113
+ ### 5. Severity Assignment
114
+
115
+ Use this heuristic to prioritize findings:
116
+
117
+ - **CRITICAL**: Violates constitution MUST, missing core spec artifact, or requirement with zero coverage that blocks baseline functionality
118
+ - **HIGH**: Duplicate or conflicting requirement, ambiguous security/performance attribute, untestable acceptance criterion
119
+ - **MEDIUM**: Terminology drift, missing non-functional task coverage, underspecified edge case
120
+ - **LOW**: Style/wording improvements, minor redundancy not affecting execution order
121
+
122
+ ### 6. Produce Compact Analysis Report
123
+
124
+ Output a Markdown report (no file writes) with the following structure:
125
+
126
+ ## Specification Analysis Report
127
+
128
+ | ID | Category | Severity | Location(s) | Summary | Recommendation |
129
+ |----|----------|----------|-------------|---------|----------------|
130
+ | A1 | Duplication | HIGH | spec.md:L120-134 | Two similar requirements ... | Merge phrasing; keep clearer version |
131
+
132
+ (Add one row per finding; generate stable IDs prefixed by category initial.)
133
+
134
+ **Coverage Summary Table:**
135
+
136
+ | Requirement Key | Has Task? | Task IDs | Notes |
137
+ |-----------------|-----------|----------|-------|
138
+
139
+ **Constitution Alignment Issues:** (if any)
140
+
141
+ **Unmapped Tasks:** (if any)
142
+
143
+ **Metrics:**
144
+
145
+ - Total Requirements
146
+ - Total Tasks
147
+ - Coverage % (requirements with >=1 task)
148
+ - Ambiguity Count
149
+ - Duplication Count
150
+ - Critical Issues Count
151
+
152
+ ### 7. Provide Next Actions
153
+
154
+ At end of report, output a concise Next Actions block:
155
+
156
+ - If CRITICAL issues exist: Recommend resolving before `/implement`
157
+ - If only LOW/MEDIUM: User may proceed, but provide improvement suggestions
158
+ - Provide explicit command suggestions: e.g., "Run /spec-kitty.specify with refinement", "Run /plan to adjust architecture", "Manually edit tasks.md to add coverage for 'performance-metrics'"
159
+
160
+ ### 8. Offer Remediation
161
+
162
+ Ask the user: "Would you like me to suggest concrete remediation edits for the top N issues?" (Do NOT apply them automatically.)
163
+
164
+ ## Operating Principles
165
+
166
+ ### Context Efficiency
167
+
168
+ - **Minimal high-signal tokens**: Focus on actionable findings, not exhaustive documentation
169
+ - **Progressive disclosure**: Load artifacts incrementally; don't dump all content into analysis
170
+ - **Token-efficient output**: Limit findings table to 50 rows; summarize overflow
171
+ - **Deterministic results**: Rerunning without changes should produce consistent IDs and counts
172
+
173
+ ### Analysis Guidelines
174
+
175
+ - **NEVER modify files** (this is read-only analysis)
176
+ - **NEVER hallucinate missing sections** (if absent, report them accurately)
177
+ - **Prioritize constitution violations** (these are always CRITICAL)
178
+ - **Use examples over exhaustive rules** (cite specific instances, not generic patterns)
179
+ - **Report zero issues gracefully** (emit success report with coverage statistics)
180
+
181
+ ## Context
182
+
183
+ {ARGS}