raise-cli 2.2.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 (264) hide show
  1. raise_cli/__init__.py +38 -0
  2. raise_cli/__main__.py +30 -0
  3. raise_cli/adapters/__init__.py +91 -0
  4. raise_cli/adapters/declarative/__init__.py +26 -0
  5. raise_cli/adapters/declarative/adapter.py +267 -0
  6. raise_cli/adapters/declarative/discovery.py +94 -0
  7. raise_cli/adapters/declarative/expressions.py +150 -0
  8. raise_cli/adapters/declarative/reference/__init__.py +1 -0
  9. raise_cli/adapters/declarative/reference/github.yaml +143 -0
  10. raise_cli/adapters/declarative/schema.py +98 -0
  11. raise_cli/adapters/filesystem.py +299 -0
  12. raise_cli/adapters/mcp_bridge.py +10 -0
  13. raise_cli/adapters/mcp_confluence.py +246 -0
  14. raise_cli/adapters/mcp_jira.py +405 -0
  15. raise_cli/adapters/models.py +205 -0
  16. raise_cli/adapters/protocols.py +180 -0
  17. raise_cli/adapters/registry.py +90 -0
  18. raise_cli/adapters/sync.py +149 -0
  19. raise_cli/agents/__init__.py +14 -0
  20. raise_cli/agents/antigravity.yaml +8 -0
  21. raise_cli/agents/claude.yaml +8 -0
  22. raise_cli/agents/copilot.yaml +8 -0
  23. raise_cli/agents/copilot_plugin.py +124 -0
  24. raise_cli/agents/cursor.yaml +7 -0
  25. raise_cli/agents/roo.yaml +8 -0
  26. raise_cli/agents/windsurf.yaml +8 -0
  27. raise_cli/artifacts/__init__.py +30 -0
  28. raise_cli/artifacts/models.py +43 -0
  29. raise_cli/artifacts/reader.py +55 -0
  30. raise_cli/artifacts/renderer.py +104 -0
  31. raise_cli/artifacts/story_design.py +69 -0
  32. raise_cli/artifacts/writer.py +45 -0
  33. raise_cli/backlog/__init__.py +1 -0
  34. raise_cli/backlog/sync.py +115 -0
  35. raise_cli/cli/__init__.py +3 -0
  36. raise_cli/cli/commands/__init__.py +3 -0
  37. raise_cli/cli/commands/_resolve.py +153 -0
  38. raise_cli/cli/commands/adapters.py +362 -0
  39. raise_cli/cli/commands/artifact.py +137 -0
  40. raise_cli/cli/commands/backlog.py +333 -0
  41. raise_cli/cli/commands/base.py +31 -0
  42. raise_cli/cli/commands/discover.py +551 -0
  43. raise_cli/cli/commands/docs.py +130 -0
  44. raise_cli/cli/commands/doctor.py +177 -0
  45. raise_cli/cli/commands/gate.py +223 -0
  46. raise_cli/cli/commands/graph.py +1086 -0
  47. raise_cli/cli/commands/info.py +81 -0
  48. raise_cli/cli/commands/init.py +746 -0
  49. raise_cli/cli/commands/journal.py +167 -0
  50. raise_cli/cli/commands/mcp.py +524 -0
  51. raise_cli/cli/commands/memory.py +467 -0
  52. raise_cli/cli/commands/pattern.py +348 -0
  53. raise_cli/cli/commands/profile.py +59 -0
  54. raise_cli/cli/commands/publish.py +80 -0
  55. raise_cli/cli/commands/release.py +338 -0
  56. raise_cli/cli/commands/session.py +528 -0
  57. raise_cli/cli/commands/signal.py +410 -0
  58. raise_cli/cli/commands/skill.py +350 -0
  59. raise_cli/cli/commands/skill_set.py +145 -0
  60. raise_cli/cli/error_handler.py +158 -0
  61. raise_cli/cli/main.py +163 -0
  62. raise_cli/compat.py +66 -0
  63. raise_cli/config/__init__.py +41 -0
  64. raise_cli/config/agent_plugin.py +105 -0
  65. raise_cli/config/agent_registry.py +233 -0
  66. raise_cli/config/agents.py +120 -0
  67. raise_cli/config/ide.py +32 -0
  68. raise_cli/config/paths.py +379 -0
  69. raise_cli/config/settings.py +180 -0
  70. raise_cli/context/__init__.py +42 -0
  71. raise_cli/context/analyzers/__init__.py +16 -0
  72. raise_cli/context/analyzers/models.py +36 -0
  73. raise_cli/context/analyzers/protocol.py +43 -0
  74. raise_cli/context/analyzers/python.py +292 -0
  75. raise_cli/context/builder.py +1569 -0
  76. raise_cli/context/diff.py +213 -0
  77. raise_cli/context/extractors/__init__.py +13 -0
  78. raise_cli/context/extractors/skills.py +121 -0
  79. raise_cli/core/__init__.py +37 -0
  80. raise_cli/core/files.py +66 -0
  81. raise_cli/core/text.py +174 -0
  82. raise_cli/core/tools.py +441 -0
  83. raise_cli/discovery/__init__.py +50 -0
  84. raise_cli/discovery/analyzer.py +691 -0
  85. raise_cli/discovery/drift.py +355 -0
  86. raise_cli/discovery/scanner.py +1687 -0
  87. raise_cli/doctor/__init__.py +4 -0
  88. raise_cli/doctor/checks/__init__.py +1 -0
  89. raise_cli/doctor/checks/environment.py +110 -0
  90. raise_cli/doctor/checks/project.py +238 -0
  91. raise_cli/doctor/fix.py +80 -0
  92. raise_cli/doctor/models.py +56 -0
  93. raise_cli/doctor/protocol.py +43 -0
  94. raise_cli/doctor/registry.py +100 -0
  95. raise_cli/doctor/report.py +141 -0
  96. raise_cli/doctor/runner.py +95 -0
  97. raise_cli/engines/__init__.py +3 -0
  98. raise_cli/exceptions.py +215 -0
  99. raise_cli/gates/__init__.py +19 -0
  100. raise_cli/gates/builtin/__init__.py +1 -0
  101. raise_cli/gates/builtin/coverage.py +52 -0
  102. raise_cli/gates/builtin/lint.py +48 -0
  103. raise_cli/gates/builtin/tests.py +48 -0
  104. raise_cli/gates/builtin/types.py +48 -0
  105. raise_cli/gates/models.py +40 -0
  106. raise_cli/gates/protocol.py +41 -0
  107. raise_cli/gates/registry.py +141 -0
  108. raise_cli/governance/__init__.py +11 -0
  109. raise_cli/governance/extractor.py +412 -0
  110. raise_cli/governance/models.py +134 -0
  111. raise_cli/governance/parsers/__init__.py +35 -0
  112. raise_cli/governance/parsers/_convert.py +38 -0
  113. raise_cli/governance/parsers/adr.py +274 -0
  114. raise_cli/governance/parsers/backlog.py +356 -0
  115. raise_cli/governance/parsers/constitution.py +119 -0
  116. raise_cli/governance/parsers/epic.py +323 -0
  117. raise_cli/governance/parsers/glossary.py +316 -0
  118. raise_cli/governance/parsers/guardrails.py +345 -0
  119. raise_cli/governance/parsers/prd.py +112 -0
  120. raise_cli/governance/parsers/roadmap.py +118 -0
  121. raise_cli/governance/parsers/vision.py +116 -0
  122. raise_cli/graph/__init__.py +1 -0
  123. raise_cli/graph/backends/__init__.py +57 -0
  124. raise_cli/graph/backends/api.py +137 -0
  125. raise_cli/graph/backends/dual.py +139 -0
  126. raise_cli/graph/backends/pending.py +84 -0
  127. raise_cli/handlers/__init__.py +3 -0
  128. raise_cli/hooks/__init__.py +54 -0
  129. raise_cli/hooks/builtin/__init__.py +1 -0
  130. raise_cli/hooks/builtin/backlog.py +216 -0
  131. raise_cli/hooks/builtin/gate_bridge.py +83 -0
  132. raise_cli/hooks/builtin/jira_sync.py +127 -0
  133. raise_cli/hooks/builtin/memory.py +117 -0
  134. raise_cli/hooks/builtin/telemetry.py +72 -0
  135. raise_cli/hooks/emitter.py +184 -0
  136. raise_cli/hooks/events.py +262 -0
  137. raise_cli/hooks/protocol.py +38 -0
  138. raise_cli/hooks/registry.py +117 -0
  139. raise_cli/mcp/__init__.py +33 -0
  140. raise_cli/mcp/bridge.py +218 -0
  141. raise_cli/mcp/models.py +43 -0
  142. raise_cli/mcp/registry.py +77 -0
  143. raise_cli/mcp/schema.py +41 -0
  144. raise_cli/memory/__init__.py +58 -0
  145. raise_cli/memory/loader.py +247 -0
  146. raise_cli/memory/migration.py +241 -0
  147. raise_cli/memory/models.py +169 -0
  148. raise_cli/memory/writer.py +598 -0
  149. raise_cli/onboarding/__init__.py +103 -0
  150. raise_cli/onboarding/bootstrap.py +324 -0
  151. raise_cli/onboarding/claudemd.py +17 -0
  152. raise_cli/onboarding/conventions.py +742 -0
  153. raise_cli/onboarding/detection.py +374 -0
  154. raise_cli/onboarding/governance.py +443 -0
  155. raise_cli/onboarding/instructions.py +672 -0
  156. raise_cli/onboarding/manifest.py +201 -0
  157. raise_cli/onboarding/memory_md.py +399 -0
  158. raise_cli/onboarding/migration.py +207 -0
  159. raise_cli/onboarding/profile.py +624 -0
  160. raise_cli/onboarding/skill_conflict.py +100 -0
  161. raise_cli/onboarding/skill_manifest.py +176 -0
  162. raise_cli/onboarding/skills.py +437 -0
  163. raise_cli/onboarding/workflows.py +101 -0
  164. raise_cli/output/__init__.py +28 -0
  165. raise_cli/output/console.py +394 -0
  166. raise_cli/output/formatters/__init__.py +9 -0
  167. raise_cli/output/formatters/adapters.py +135 -0
  168. raise_cli/output/formatters/discover.py +439 -0
  169. raise_cli/output/formatters/skill.py +298 -0
  170. raise_cli/publish/__init__.py +3 -0
  171. raise_cli/publish/changelog.py +80 -0
  172. raise_cli/publish/check.py +179 -0
  173. raise_cli/publish/version.py +172 -0
  174. raise_cli/rai_base/__init__.py +22 -0
  175. raise_cli/rai_base/framework/__init__.py +7 -0
  176. raise_cli/rai_base/framework/methodology.yaml +233 -0
  177. raise_cli/rai_base/governance/__init__.py +1 -0
  178. raise_cli/rai_base/governance/architecture/__init__.py +1 -0
  179. raise_cli/rai_base/governance/architecture/domain-model.md +20 -0
  180. raise_cli/rai_base/governance/architecture/system-context.md +34 -0
  181. raise_cli/rai_base/governance/architecture/system-design.md +24 -0
  182. raise_cli/rai_base/governance/backlog.md +8 -0
  183. raise_cli/rai_base/governance/guardrails.md +17 -0
  184. raise_cli/rai_base/governance/prd.md +25 -0
  185. raise_cli/rai_base/governance/vision.md +16 -0
  186. raise_cli/rai_base/identity/__init__.py +8 -0
  187. raise_cli/rai_base/identity/core.md +119 -0
  188. raise_cli/rai_base/identity/perspective.md +119 -0
  189. raise_cli/rai_base/memory/__init__.py +7 -0
  190. raise_cli/rai_base/memory/patterns-base.jsonl +55 -0
  191. raise_cli/schemas/__init__.py +3 -0
  192. raise_cli/schemas/journal.py +49 -0
  193. raise_cli/schemas/session_state.py +117 -0
  194. raise_cli/session/__init__.py +5 -0
  195. raise_cli/session/bundle.py +820 -0
  196. raise_cli/session/close.py +268 -0
  197. raise_cli/session/journal.py +119 -0
  198. raise_cli/session/resolver.py +126 -0
  199. raise_cli/session/state.py +187 -0
  200. raise_cli/skills/__init__.py +44 -0
  201. raise_cli/skills/locator.py +141 -0
  202. raise_cli/skills/name_checker.py +199 -0
  203. raise_cli/skills/parser.py +145 -0
  204. raise_cli/skills/scaffold.py +212 -0
  205. raise_cli/skills/schema.py +132 -0
  206. raise_cli/skills/skillsets.py +195 -0
  207. raise_cli/skills/validator.py +197 -0
  208. raise_cli/skills_base/__init__.py +80 -0
  209. raise_cli/skills_base/contract-template.md +60 -0
  210. raise_cli/skills_base/preamble.md +37 -0
  211. raise_cli/skills_base/rai-architecture-review/SKILL.md +137 -0
  212. raise_cli/skills_base/rai-debug/SKILL.md +171 -0
  213. raise_cli/skills_base/rai-discover/SKILL.md +167 -0
  214. raise_cli/skills_base/rai-discover-document/SKILL.md +128 -0
  215. raise_cli/skills_base/rai-discover-scan/SKILL.md +147 -0
  216. raise_cli/skills_base/rai-discover-start/SKILL.md +145 -0
  217. raise_cli/skills_base/rai-discover-validate/SKILL.md +142 -0
  218. raise_cli/skills_base/rai-docs-update/SKILL.md +142 -0
  219. raise_cli/skills_base/rai-doctor/SKILL.md +120 -0
  220. raise_cli/skills_base/rai-epic-close/SKILL.md +165 -0
  221. raise_cli/skills_base/rai-epic-close/templates/retrospective.md +68 -0
  222. raise_cli/skills_base/rai-epic-design/SKILL.md +146 -0
  223. raise_cli/skills_base/rai-epic-design/templates/design.md +24 -0
  224. raise_cli/skills_base/rai-epic-design/templates/scope.md +76 -0
  225. raise_cli/skills_base/rai-epic-plan/SKILL.md +153 -0
  226. raise_cli/skills_base/rai-epic-plan/_references/sequencing-strategies.md +67 -0
  227. raise_cli/skills_base/rai-epic-plan/templates/plan-section.md +49 -0
  228. raise_cli/skills_base/rai-epic-run/SKILL.md +208 -0
  229. raise_cli/skills_base/rai-epic-start/SKILL.md +136 -0
  230. raise_cli/skills_base/rai-epic-start/templates/brief.md +34 -0
  231. raise_cli/skills_base/rai-mcp-add/SKILL.md +176 -0
  232. raise_cli/skills_base/rai-mcp-remove/SKILL.md +120 -0
  233. raise_cli/skills_base/rai-mcp-status/SKILL.md +147 -0
  234. raise_cli/skills_base/rai-problem-shape/SKILL.md +138 -0
  235. raise_cli/skills_base/rai-project-create/SKILL.md +144 -0
  236. raise_cli/skills_base/rai-project-onboard/SKILL.md +162 -0
  237. raise_cli/skills_base/rai-quality-review/SKILL.md +189 -0
  238. raise_cli/skills_base/rai-research/SKILL.md +143 -0
  239. raise_cli/skills_base/rai-research/references/research-prompt-template.md +317 -0
  240. raise_cli/skills_base/rai-session-close/SKILL.md +176 -0
  241. raise_cli/skills_base/rai-session-start/SKILL.md +110 -0
  242. raise_cli/skills_base/rai-story-close/SKILL.md +198 -0
  243. raise_cli/skills_base/rai-story-design/SKILL.md +203 -0
  244. raise_cli/skills_base/rai-story-design/references/tech-design-story-v2.md +293 -0
  245. raise_cli/skills_base/rai-story-implement/SKILL.md +115 -0
  246. raise_cli/skills_base/rai-story-plan/SKILL.md +135 -0
  247. raise_cli/skills_base/rai-story-review/SKILL.md +178 -0
  248. raise_cli/skills_base/rai-story-run/SKILL.md +282 -0
  249. raise_cli/skills_base/rai-story-start/SKILL.md +166 -0
  250. raise_cli/skills_base/rai-story-start/templates/story.md +38 -0
  251. raise_cli/skills_base/rai-welcome/SKILL.md +134 -0
  252. raise_cli/telemetry/__init__.py +42 -0
  253. raise_cli/telemetry/schemas.py +285 -0
  254. raise_cli/telemetry/writer.py +217 -0
  255. raise_cli/tier/__init__.py +0 -0
  256. raise_cli/tier/context.py +134 -0
  257. raise_cli/viz/__init__.py +7 -0
  258. raise_cli/viz/generator.py +406 -0
  259. raise_cli-2.2.1.dist-info/METADATA +433 -0
  260. raise_cli-2.2.1.dist-info/RECORD +264 -0
  261. raise_cli-2.2.1.dist-info/WHEEL +4 -0
  262. raise_cli-2.2.1.dist-info/entry_points.txt +40 -0
  263. raise_cli-2.2.1.dist-info/licenses/LICENSE +190 -0
  264. raise_cli-2.2.1.dist-info/licenses/NOTICE +4 -0
@@ -0,0 +1,146 @@
1
+ ---
2
+ name: rai-epic-design
3
+ description: >
4
+ Design an epic from strategic objective to feature breakdown. Use when
5
+ starting a new body of work spanning multiple features (3-10), requiring
6
+ architectural decisions, or when establishing technical direction for
7
+ significant capability delivery.
8
+
9
+ license: MIT
10
+
11
+ metadata:
12
+ raise.work_cycle: epic
13
+ raise.frequency: per-epic
14
+ raise.fase: "3"
15
+ raise.prerequisites: project-backlog
16
+ raise.next: epic-plan
17
+ raise.gate: ""
18
+ raise.adaptable: "true"
19
+ raise.version: "2.1.0"
20
+ raise.visibility: public
21
+ raise.inputs: |
22
+ - brief: file_path, optional, previous_skill
23
+ - scope: file_path, required, previous_skill
24
+ raise.outputs: |
25
+ - scope: file_path, next_skill
26
+ - design: file_path, optional, next_skill
27
+ ---
28
+
29
+ # Epic Design
30
+
31
+ ## Purpose
32
+
33
+ Design an epic that bridges strategic objectives to executable stories, making key architectural decisions and defining bounded scope for incremental delivery.
34
+
35
+ ## Mastery Levels (ShuHaRi)
36
+
37
+ - **Shu**: Follow all steps, create full scope document and ADRs
38
+ - **Ha/Ri**: Adjust depth based on complexity, lightweight ADRs, custom patterns
39
+
40
+ ## Context
41
+
42
+ **When to use:** Starting work spanning 3-10 stories, requiring architectural decisions, or establishing technical direction.
43
+
44
+ **When to skip:** Single-story work → `/rai-story-design`. Bug fixes → issue tracker. High uncertainty → `/rai-research` first.
45
+
46
+ **Inputs:** Business objective, project backlog, constraints. Optionally: Problem Brief from `/rai-problem-shape` or Epic Brief from `/rai-epic-start`.
47
+
48
+ ## Steps
49
+
50
+ ### Step 1: Load Brief & Frame Objective
51
+
52
+ Check for Epic Brief (`work/epics/e{N}-{name}/brief.md`) or Problem Brief (`work/problem-briefs/*.md`). If found, use hypothesis and boundaries as starting input.
53
+
54
+ Define what this epic accomplishes:
55
+ - **Objective**: Business/user outcome (1-2 sentences, outcome-focused)
56
+ - **Value**: Why this matters, what's unlocked after completion
57
+ - **In scope (MUST/SHOULD)**: Non-negotiable vs nice-to-have deliverables
58
+ - **Out of scope**: Excluded items with rationale and deferral destination
59
+
60
+ Scoping heuristic: defer what doesn't block the objective; separate what needs its own ADRs.
61
+
62
+ <verification>
63
+ Objective explainable to non-technical stakeholder in 60 seconds. Scope boundaries explicit.
64
+ </verification>
65
+
66
+ ### Step 2: Assess Architecture & ADRs
67
+
68
+ ```bash
69
+ rai graph context mod-<name>
70
+ ```
71
+
72
+ Create ADRs when: multiple valid approaches with significant impact, new technology adoption, decisions other epics depend on. Skip when patterns are established or details are easily changed.
73
+
74
+ If significant uncertainty: `/rai-research` (timebox 2-4 hours), then create ADRs.
75
+ ADR template: `.raise/templates/architecture/adr.md`. One decision per ADR.
76
+
77
+ <verification>
78
+ Technical direction clear enough to define stories. ADRs created for significant decisions.
79
+ </verification>
80
+
81
+ ### Step 3: Break Down Stories
82
+
83
+ Decompose epic into 3-10 independently deliverable stories.
84
+
85
+ **Per story:** ID (S{N}.{seq}), name, 1-line description, T-shirt size (XS/S/M/L), dependencies.
86
+
87
+ Target: each story delivers demonstrable value, 1-5 days duration. No dependency cycles. External blockers identified.
88
+
89
+ <verification>
90
+ Each story passes "independently deliverable" test. Dependency graph is acyclic.
91
+ </verification>
92
+
93
+ ### Step 4: Define Done & Risks
94
+
95
+ **Done:** All stories complete + epic-specific measurable criteria + architecture docs updated + retrospective completed.
96
+
97
+ **Risks:** Top 3 with likelihood/impact/mitigation.
98
+
99
+ <verification>
100
+ Done criteria are measurable. Top risks have mitigations.
101
+ </verification>
102
+
103
+ ### Step 5: Write Artifacts & Parking Lot
104
+
105
+ Create TWO documents using templates:
106
+ 1. `scope.md` (WHAT + WHY): objective, stories, boundaries, done criteria → `templates/scope.md`
107
+ 2. `design.md` (HOW): Gemba, target components, key contracts → `templates/design.md`
108
+
109
+ For simple epics (no architecture changes), `design.md` is optional.
110
+
111
+ Capture deferred items in `dev/parking-lot.md` with origin, priority, and promotion conditions.
112
+
113
+ <verification>
114
+ Scope document reviewable in <10 minutes. Parking lot updated.
115
+ </verification>
116
+
117
+ ## Output
118
+
119
+ | Item | Destination |
120
+ |------|-------------|
121
+ | Scope document | `work/epics/e{N}-{name}/scope.md` |
122
+ | Design document | `work/epics/e{N}-{name}/design.md` (if architecture) |
123
+ | ADRs | `dev/decisions/adr-*.md` (0-3 typical) |
124
+ | Parking lot | `dev/parking-lot.md` |
125
+ | Next | `/rai-epic-plan` |
126
+
127
+ ## Quality Checklist
128
+
129
+ - [ ] Epic Brief consumed as input (if exists from `/rai-epic-start`)
130
+ - [ ] Objective is outcome-focused, not implementation-focused
131
+ - [ ] Scope boundaries explicit (in/out documented)
132
+ - [ ] Stories independently deliverable (3-10 range)
133
+ - [ ] Dependencies mapped with no cycles
134
+ - [ ] Done criteria are measurable
135
+ - [ ] NEVER time-box epics — scope-based, not duration-based
136
+ - [ ] NEVER over-specify stories — save details for `/rai-story-design`
137
+
138
+ ## References
139
+
140
+ - Brief template: `rai-epic-start/templates/brief.md`
141
+ - Scope template: `templates/scope.md`
142
+ - Design template: `templates/design.md`
143
+ - ADR template: `.raise/templates/architecture/adr.md`
144
+ - Next: `/rai-epic-plan`
145
+ - Story design: `/rai-story-design`
146
+ - Close: `/rai-epic-close`
@@ -0,0 +1,24 @@
1
+ ---
2
+ epic_id: "{EPIC_ID}"
3
+ grounded_in: "Gemba of [files read]"
4
+ ---
5
+
6
+ # Epic Design: {title}
7
+
8
+ ## Affected Surface (Gemba)
9
+
10
+ | Module/File | Current State | Changes |
11
+ |-------------|---------------|---------|
12
+ | [path] | [what exists] | [what changes] |
13
+
14
+ ## Target Components
15
+
16
+ | Component | Responsibility | Key Interface |
17
+ |-----------|---------------|---------------|
18
+ | [name] | [what it does] | [public API] |
19
+
20
+ ## Key Contracts
21
+ [Types and interfaces at component level — actual signatures, not pseudocode]
22
+
23
+ ## Migration Path
24
+ [Backward compat strategy, consumer changes needed. Omit if greenfield.]
@@ -0,0 +1,76 @@
1
+ # Epic E{N}: {Epic Name} — Scope
2
+
3
+ > **Status:** IN PROGRESS
4
+ > **Release:** REL-{id} ({release name})
5
+ > **Created:** YYYY-MM-DD
6
+
7
+ ## Objective
8
+
9
+ {1-2 sentences: What business/user outcome does this epic deliver?}
10
+
11
+ **Value:** {Why this matters, what's unlocked after completion}
12
+
13
+ ## Stories ({X} SP estimated)
14
+
15
+ | ID | Story | Size | Status | Description |
16
+ |----|-------|:----:|:------:|-------------|
17
+ | S{N}.1 | {Name} | S | Pending | {1-line} |
18
+ | S{N}.2 | {Name} | M | Pending | {1-line} |
19
+
20
+ **Total:** {X} stories, {Y} SP
21
+
22
+ ## Scope
23
+
24
+ **In scope (MUST):**
25
+ - {Non-negotiable 1}
26
+ - {Non-negotiable 2}
27
+
28
+ **In scope (SHOULD):**
29
+ - {Nice-to-have 1}
30
+
31
+ **Out of scope:**
32
+ - {Excluded 1} → {where deferred}
33
+
34
+ ## Done Criteria
35
+
36
+ **Per story:**
37
+ - [ ] Code with type annotations
38
+ - [ ] Tests passing
39
+ - [ ] Quality checks pass (ruff, pyright)
40
+
41
+ **Epic complete:**
42
+ - [ ] All stories complete (S{N}.1–S{N}.X)
43
+ - [ ] {Epic-specific criterion 1}
44
+ - [ ] Epic retrospective done
45
+ - [ ] Merged to `{dev_branch}`
46
+
47
+ ## Dependencies
48
+
49
+ ```
50
+ S{N}.1 (foundation)
51
+
52
+ S{N}.2 ──┐
53
+ ↓ │ (parallel)
54
+ S{N}.3 ◄─┘
55
+ ```
56
+
57
+ **External:** {None / list}
58
+
59
+ ## Architecture
60
+
61
+ | Decision | ADR | Summary |
62
+ |----------|-----|---------|
63
+ | {Decision 1} | ADR-{XXX} | {1-line} |
64
+
65
+ > Problem Brief: {path or "N/A"}
66
+
67
+ ## Risks
68
+
69
+ | Risk | L/I | Mitigation |
70
+ |------|:---:|------------|
71
+ | {Risk 1} | H/M | {strategy} |
72
+ | {Risk 2} | M/L | {strategy} |
73
+
74
+ ## Parking Lot
75
+
76
+ - {Deferred item} → {destination}
@@ -0,0 +1,153 @@
1
+ ---
2
+ name: rai-epic-plan
3
+ description: >
4
+ Sequence features from epic-design into an executable plan with milestones,
5
+ dependencies, and progress tracking. Use after /rai-epic-design to create a
6
+ realistic implementation roadmap before starting story work.
7
+
8
+ license: MIT
9
+
10
+ metadata:
11
+ raise.work_cycle: epic
12
+ raise.frequency: per-epic
13
+ raise.fase: "4"
14
+ raise.prerequisites: epic-design
15
+ raise.next: story-start
16
+ raise.gate: ""
17
+ raise.adaptable: "true"
18
+ raise.version: "2.2.0"
19
+ raise.visibility: public
20
+ raise.inputs: |
21
+ - scope: file_path, required, previous_skill
22
+ raise.outputs: |
23
+ - scope: file_path, next_skill
24
+ ---
25
+
26
+ # Epic Plan
27
+
28
+ ## Purpose
29
+
30
+ Transform the story list from `/rai-epic-design` into a sequenced implementation plan with milestones, parallel work streams, and progress tracking.
31
+
32
+ ## Mastery Levels (ShuHaRi)
33
+
34
+ - **Shu**: Follow all steps, create sequenced plan with walking skeleton + MVP milestones
35
+ - **Ha**: Adjust milestone granularity based on epic size, skip timeline for small epics
36
+ - **Ri**: Domain-specific sequencing patterns, team velocity models
37
+
38
+ ## Context
39
+
40
+ **When to use:** After `/rai-epic-design` has produced a scope document with stories. Before starting first story.
41
+
42
+ **When to skip:** Very small epics (2-3 stories) with obvious linear sequence. Emergency fixes.
43
+
44
+ **Inputs:** Epic scope document (`work/epics/e{N}-{name}/scope.md`), calibration data (if available).
45
+
46
+ ## Steps
47
+
48
+ ### Step 1: Review Epic Scope
49
+
50
+ Load and understand the epic scope document:
51
+ - Story list with sizes and dependencies
52
+ - Done criteria and risks
53
+ - Architectural decisions that affect sequencing
54
+
55
+ <verification>
56
+ Can explain epic scope and story dependencies in 60 seconds.
57
+ </verification>
58
+
59
+ <if-blocked>
60
+ Epic design incomplete → run `/rai-epic-design` first.
61
+ </if-blocked>
62
+
63
+ ### Step 2: Sequence & Rationalize
64
+
65
+ Order stories using these strategies (in priority order):
66
+
67
+ | Strategy | When | Rationale |
68
+ |----------|------|-----------|
69
+ | **Risk-first** | High uncertainty features | Tackle unknowns early while energy is high and time for pivots remains |
70
+ | **Walking skeleton** | Architecture unproven | Build minimal E2E path first to prove architecture |
71
+ | **Quick wins** | Need momentum | Early deliverable value, validate tooling |
72
+ | **Dependency-driven** | Hard blockers exist | Unblock others on critical path |
73
+
74
+ For each story, document: position, rationale, dependencies (hard/soft/external), what it enables.
75
+
76
+ **Identify parallel opportunities:** Stories with no mutual dependencies, different codebase areas, or independent concerns can run concurrently.
77
+
78
+ <verification>
79
+ Every story has sequencing rationale. Critical path identified. Parallel opportunities documented.
80
+ </verification>
81
+
82
+ ### Step 3: Define Milestones
83
+
84
+ Create 2-4 intermediate checkpoints:
85
+
86
+ | Milestone | Typical scope | Purpose |
87
+ |-----------|---------------|---------|
88
+ | **M1: Walking Skeleton** | 1-3 stories (smallest E2E) | Prove architecture, enable integration |
89
+ | **M2: Core MVP** | 50-70% of stories | Demonstrate value, gather feedback |
90
+ | **M3: Feature Complete** | 100% planned stories | Ready for polish |
91
+ | **M4: Epic Complete** | Done criteria met | Ready for `/rai-epic-close` |
92
+
93
+ Per milestone: stories included, success criteria (verifiable), demo capability.
94
+
95
+ **Integration checkpoint (PAT-E-539):** For epics with multiple components (client/server, CLI/API, frontend/backend), schedule an **E2E integration milestone** before the final story. This checkpoint runs real infrastructure (docker compose, actual DB) and verifies cross-story contracts (auth headers, payload schemas, parameter limits). Unit tests with mocks cannot catch these mismatches — only real E2E validates the seams between stories.
96
+
97
+ <verification>
98
+ At least 2 milestones defined with clear success criteria. Multi-component epics include E2E integration checkpoint.
99
+ </verification>
100
+
101
+ ### Step 4: Setup Tracking
102
+
103
+ Add progress tracking to epic scope using `templates/plan-section.md`:
104
+ - Story sequence table with status/actual/velocity columns
105
+ - Milestone checklist with target dates
106
+ - Velocity assumptions from calibration data (if available)
107
+
108
+ <verification>
109
+ Tracking table added to epic scope document.
110
+ </verification>
111
+
112
+ ### Step 5: Update Scope Document
113
+
114
+ Append the implementation plan section to `work/epics/e{N}-{name}/scope.md`. Include:
115
+ - Story sequence with rationale
116
+ - Milestones with success criteria
117
+ - Parallel work streams (if any)
118
+ - Progress tracking table
119
+ - Sequencing risks (top 3)
120
+
121
+ Present plan to human for review before starting first story.
122
+
123
+ <verification>
124
+ Scope document updated. Plan reviewable in <5 minutes. Human acknowledges.
125
+ </verification>
126
+
127
+ ## Output
128
+
129
+ | Item | Destination |
130
+ |------|-------------|
131
+ | Implementation plan | Appended to `work/epics/e{N}-{name}/scope.md` |
132
+ | Plan template | `templates/plan-section.md` |
133
+ | Next | `/rai-story-design` for first story in sequence |
134
+
135
+ ## Quality Checklist
136
+
137
+ - [ ] All stories sequenced with rationale
138
+ - [ ] Critical path identified
139
+ - [ ] At least 2 milestones (walking skeleton + MVP minimum)
140
+ - [ ] Dependencies verified — no cycles, blockers identified
141
+ - [ ] Parallel opportunities documented (or explained why sequential)
142
+ - [ ] Progress tracking in scope document
143
+ - [ ] NEVER over-plan — plans are hypotheses, not commitments
144
+ - [ ] NEVER sequence by size alone — use risk-first as default
145
+ - [ ] Multi-component epics include E2E integration checkpoint (PAT-E-539)
146
+
147
+ ## References
148
+
149
+ - Plan template: `templates/plan-section.md`
150
+ - Previous: `/rai-epic-design` (produces scope input)
151
+ - Next: `/rai-story-design` for first story
152
+ - Close: `/rai-epic-close`
153
+ - Calibration: `.raise/rai/memory/calibration.jsonl`
@@ -0,0 +1,67 @@
1
+ # Sequencing Strategies Deep Dive
2
+
3
+ > Reference material for `/rai-epic-plan` Step 3.
4
+ > For quick reference, see the decision matrix in the main skill.
5
+
6
+ ---
7
+
8
+ ## Risk-First (Primary Strategy)
9
+
10
+ **Philosophy:** Uncertainty decreases as you learn. Early features teach you about the codebase, the problem, and your velocity. Tackling risky features early means:
11
+ - More time to recover from surprises
12
+ - Learning informs later features
13
+ - Confidence grows throughout epic
14
+
15
+ **Identify risky features by:**
16
+ - New technology or unfamiliar patterns
17
+ - Integration with external systems
18
+ - Unclear requirements (even after design)
19
+ - Performance or scalability unknowns
20
+ - Team has never done something similar
21
+
22
+ **Anti-pattern:** "Let's do the easy features first to build momentum" — This feels good but front-loads certainty and back-loads risk. By the time you hit the hard features, deadline pressure is highest.
23
+
24
+ ---
25
+
26
+ ## Walking Skeleton
27
+
28
+ **Philosophy:** Prove the architecture works before investing heavily. A walking skeleton is the smallest end-to-end path through the system that demonstrates:
29
+ - Key architectural decisions are valid
30
+ - Integration points work
31
+ - Development environment is productive
32
+ - Deployment pipeline functions
33
+
34
+ **Walking skeleton features:**
35
+ - Minimal but complete path from input to output
36
+ - Touches all layers (UI, API, data, infrastructure)
37
+ - Can be demonstrated (not just "it compiles")
38
+ - Provides foundation for rest of features
39
+
40
+ **Example:** For a governance toolkit epic, walking skeleton might be:
41
+ - F1: Extract one concept from one file
42
+ - F2: Build minimal graph with one relationship
43
+ - F3: Query graph and return result
44
+
45
+ **Anti-pattern:** Building all of layer 1 before touching layer 2. This delays integration risk discovery.
46
+
47
+ ---
48
+
49
+ ## Quick Wins
50
+
51
+ **Philosophy:** Early success builds momentum and validates process. Quick wins are features that:
52
+ - Can be completed in one session
53
+ - Provide visible, demonstrable value
54
+ - Don't block other features
55
+ - Build confidence in approach
56
+
57
+ **Use quick wins when:**
58
+ - Starting a new codebase or technology
59
+ - Team morale needs boost
60
+ - Stakeholders need early visibility
61
+ - Validating development process
62
+
63
+ **Anti-pattern:** Only quick wins — avoiding hard features indefinitely. Quick wins support risk-first; they don't replace it.
64
+
65
+ ---
66
+
67
+ *Reference document for /rai-epic-plan*
@@ -0,0 +1,49 @@
1
+ ## Implementation Plan
2
+
3
+ > Added by `/rai-epic-plan` — YYYY-MM-DD
4
+
5
+ ### Story Sequence
6
+
7
+ | Order | Story | Size | Dependencies | Milestone | Rationale |
8
+ |:-----:|-------|:----:|--------------|-----------|-----------|
9
+ | 1 | S{N}.1 | S | None | M1 | {Why first?} |
10
+ | 2 | S{N}.2 | M | S{N}.1 | M1 | {Why second?} |
11
+ | 3 | S{N}.3 | S | S{N}.2 | M2 | {Why here?} |
12
+
13
+ ### Milestones
14
+
15
+ | Milestone | Stories | Target | Success Criteria |
16
+ |-----------|---------|--------|------------------|
17
+ | **M1: Walking Skeleton** | S{N}.1, S{N}.2 | {Day} | {What proves it works?} |
18
+ | **M2: Core MVP** | +S{N}.3, S{N}.4 | {Day} | {What proves value?} |
19
+ | **M3: Feature Complete** | +S{N}.5... | {Day} | All planned stories done |
20
+ | **M4: Epic Complete** | — | {Day} | Done criteria met, retro done |
21
+
22
+ ### Parallel Work Streams
23
+
24
+ ```
25
+ Time →
26
+ Stream 1 (Critical): S{N}.1 ─► S{N}.2 ─► S{N}.5
27
+
28
+ Stream 2 (Parallel): S{N}.3 ─► merge
29
+
30
+ Stream 3 (Parallel): S{N}.4 ───┘
31
+ ```
32
+
33
+ **Merge points:**
34
+ - After S{N}.1: split into parallel streams
35
+ - Before S{N}.5: merge parallel streams
36
+
37
+ ### Progress Tracking
38
+
39
+ | Story | Size | Status | Actual | Velocity | Notes |
40
+ |-------|:----:|:------:|:------:|:--------:|-------|
41
+ | S{N}.1 | S | Pending | — | — | |
42
+ | S{N}.2 | M | Pending | — | — | |
43
+
44
+ ### Sequencing Risks
45
+
46
+ | Risk | L/I | Mitigation |
47
+ |------|:---:|------------|
48
+ | {Risk 1} | H/M | {Strategy} |
49
+ | {Risk 2} | M/L | {Strategy} |