@hanzlaa/rcode 2.1.0

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 (676) hide show
  1. package/AGENTS.md +120 -0
  2. package/CLAUDE.md +120 -0
  3. package/CONTRIBUTING.md +298 -0
  4. package/README.md +436 -0
  5. package/cli/config.js +142 -0
  6. package/cli/context.js +213 -0
  7. package/cli/dashboard.js +38 -0
  8. package/cli/digest.js +66 -0
  9. package/cli/doctor.js +283 -0
  10. package/cli/github-sync.js +1016 -0
  11. package/cli/index.js +113 -0
  12. package/cli/install.js +946 -0
  13. package/cli/lib/config.cjs +334 -0
  14. package/cli/lib/fsutil.cjs +76 -0
  15. package/cli/lib/github.cjs +365 -0
  16. package/cli/lib/manifest.cjs +240 -0
  17. package/cli/lib/memory-bank.cjs +348 -0
  18. package/cli/lib/model-profiles.cjs +169 -0
  19. package/cli/lib/prompts.cjs +355 -0
  20. package/cli/postinstall.js +32 -0
  21. package/cli/set-mode.js +94 -0
  22. package/cli/set-profile.js +80 -0
  23. package/cli/show-model.js +82 -0
  24. package/cli/team.js +35 -0
  25. package/cli/tiers.js +49 -0
  26. package/cli/uninstall.js +600 -0
  27. package/cli/update.js +373 -0
  28. package/package.json +60 -0
  29. package/rihal/agents/rihal-advisor-researcher.md +116 -0
  30. package/rihal/agents/rihal-ahmed.md +66 -0
  31. package/rihal/agents/rihal-architect.md +79 -0
  32. package/rihal/agents/rihal-assumptions-analyzer.md +117 -0
  33. package/rihal/agents/rihal-code-fixer.md +74 -0
  34. package/rihal/agents/rihal-code-reviewer.md +75 -0
  35. package/rihal/agents/rihal-codebase-mapper.md +170 -0
  36. package/rihal/agents/rihal-debugger.md +140 -0
  37. package/rihal/agents/rihal-deviation-analyzer.md +74 -0
  38. package/rihal/agents/rihal-docs-auditor.md +77 -0
  39. package/rihal/agents/rihal-edge-case-hunter.md +75 -0
  40. package/rihal/agents/rihal-executor.md +113 -0
  41. package/rihal/agents/rihal-fatima.md +68 -0
  42. package/rihal/agents/rihal-haitham.md +75 -0
  43. package/rihal/agents/rihal-hanzla.md +59 -0
  44. package/rihal/agents/rihal-hussain-pm.md +82 -0
  45. package/rihal/agents/rihal-integration-checker.md +455 -0
  46. package/rihal/agents/rihal-khalid.md +59 -0
  47. package/rihal/agents/rihal-layla.md +57 -0
  48. package/rihal/agents/rihal-mariam.md +58 -0
  49. package/rihal/agents/rihal-nasser.md +57 -0
  50. package/rihal/agents/rihal-noor.md +60 -0
  51. package/rihal/agents/rihal-nyquist-auditor.md +182 -0
  52. package/rihal/agents/rihal-omar.md +57 -0
  53. package/rihal/agents/rihal-phase-researcher.md +84 -0
  54. package/rihal/agents/rihal-planner.md +176 -0
  55. package/rihal/agents/rihal-profiler.md +74 -0
  56. package/rihal/agents/rihal-project-researcher.md +80 -0
  57. package/rihal/agents/rihal-remediation-planner.md +78 -0
  58. package/rihal/agents/rihal-research-synthesizer.md +253 -0
  59. package/rihal/agents/rihal-roadmapper.md +73 -0
  60. package/rihal/agents/rihal-sadiq.md +72 -0
  61. package/rihal/agents/rihal-security-adversary.md +82 -0
  62. package/rihal/agents/rihal-security-auditor.md +78 -0
  63. package/rihal/agents/rihal-sprint-checker.md +124 -0
  64. package/rihal/agents/rihal-tech-writer.md +80 -0
  65. package/rihal/agents/rihal-ui-auditor.md +81 -0
  66. package/rihal/agents/rihal-ui-designer.md +6 -0
  67. package/rihal/agents/rihal-ux-designer.md +83 -0
  68. package/rihal/agents/rihal-verifier.md +124 -0
  69. package/rihal/agents/rihal-waleed.md +60 -0
  70. package/rihal/agents/rihal-yousef.md +78 -0
  71. package/rihal/agents/rihal-zahra.md +62 -0
  72. package/rihal/agents/rihal-zayd.md +78 -0
  73. package/rihal/agents/rules/codebase-mapper/detailed-guide.md +615 -0
  74. package/rihal/agents/rules/debugger/checkpoint-recovery.md +272 -0
  75. package/rihal/agents/rules/debugger/debug-session-state.md +261 -0
  76. package/rihal/agents/rules/debugger/hypothesis-templates.md +330 -0
  77. package/rihal/agents/rules/debugger/investigation-protocol.md +298 -0
  78. package/rihal/agents/rules/debugger/scientific-method.md +317 -0
  79. package/rihal/agents/rules/executor/authentication-gates.md +202 -0
  80. package/rihal/agents/rules/executor/deviation-rules.md +191 -0
  81. package/rihal/agents/rules/executor/execution-flow.md +116 -0
  82. package/rihal/agents/rules/executor/self-check.md +241 -0
  83. package/rihal/agents/rules/executor/stub-detection.md +267 -0
  84. package/rihal/agents/rules/executor/summary-creation.md +76 -0
  85. package/rihal/agents/rules/executor/task-commit-protocol.md +283 -0
  86. package/rihal/agents/rules/executor/tdd-flow.md +294 -0
  87. package/rihal/agents/rules/phase-researcher/detailed-guide.md +628 -0
  88. package/rihal/agents/rules/planner/common-patterns.md +373 -0
  89. package/rihal/agents/rules/planner/dependency-analysis.md +195 -0
  90. package/rihal/agents/rules/planner/goal-backward-thinking.md +220 -0
  91. package/rihal/agents/rules/planner/sprint-verification.md +202 -0
  92. package/rihal/agents/rules/planner/task-templates.md +296 -0
  93. package/rihal/agents/rules/project-researcher/detailed-guide.md +589 -0
  94. package/rihal/agents/rules/roadmapper/detailed-guide.md +620 -0
  95. package/rihal/agents/rules/sprint-checker/dimensions.md +414 -0
  96. package/rihal/agents/rules/sprint-checker/process.md +377 -0
  97. package/rihal/agents/rules/verifier/anti-patterns.md +94 -0
  98. package/rihal/agents/rules/verifier/artifact-verification.md +69 -0
  99. package/rihal/agents/rules/verifier/behavioral-spot-checks.md +49 -0
  100. package/rihal/agents/rules/verifier/context-loading.md +84 -0
  101. package/rihal/agents/rules/verifier/data-flow-trace.md +65 -0
  102. package/rihal/agents/rules/verifier/gap-output.md +51 -0
  103. package/rihal/agents/rules/verifier/key-links.md +56 -0
  104. package/rihal/agents/rules/verifier/requirements-coverage.md +28 -0
  105. package/rihal/agents/rules/verifier/verification-report.md +131 -0
  106. package/rihal/bin/lib/code-references.cjs +196 -0
  107. package/rihal/bin/lib/config.cjs +146 -0
  108. package/rihal/bin/lib/council-panel.cjs +501 -0
  109. package/rihal/bin/lib/roadmap.cjs +256 -0
  110. package/rihal/bin/lib/verify.cjs +118 -0
  111. package/rihal/bin/rihal-hooks.cjs +204 -0
  112. package/rihal/bin/rihal-tools.cjs +3554 -0
  113. package/rihal/brain/README.md +38 -0
  114. package/rihal/brain/best-practices/no-autonomous-bypass.md +37 -0
  115. package/rihal/brain/best-practices/research-citation-rule.md +39 -0
  116. package/rihal/brain/best-practices/state-sync-rule.md +43 -0
  117. package/rihal/brain/sources.yaml +59 -0
  118. package/rihal/commands/add-phase.md +18 -0
  119. package/rihal/commands/add-tests.md +18 -0
  120. package/rihal/commands/add-todo.md +8 -0
  121. package/rihal/commands/analyze-dependencies.md +11 -0
  122. package/rihal/commands/audit-fix.md +14 -0
  123. package/rihal/commands/audit-milestone.md +12 -0
  124. package/rihal/commands/audit-uat.md +18 -0
  125. package/rihal/commands/autonomous.md +19 -0
  126. package/rihal/commands/brainstorm.md +11 -0
  127. package/rihal/commands/chain.md +8 -0
  128. package/rihal/commands/check-implementation-readiness.md +8 -0
  129. package/rihal/commands/check-todos.md +18 -0
  130. package/rihal/commands/cleanup.md +18 -0
  131. package/rihal/commands/code-review-fix.md +14 -0
  132. package/rihal/commands/code-review.md +14 -0
  133. package/rihal/commands/complete-milestone.md +12 -0
  134. package/rihal/commands/config.md +8 -0
  135. package/rihal/commands/correct-course.md +8 -0
  136. package/rihal/commands/council.md +25 -0
  137. package/rihal/commands/create-epics-and-stories.md +8 -0
  138. package/rihal/commands/create-story.md +8 -0
  139. package/rihal/commands/dashboard.md +10 -0
  140. package/rihal/commands/debug.md +8 -0
  141. package/rihal/commands/decisions.md +10 -0
  142. package/rihal/commands/dev-story.md +8 -0
  143. package/rihal/commands/diff.md +10 -0
  144. package/rihal/commands/discuss-phase-power.md +11 -0
  145. package/rihal/commands/discuss-phase.md +19 -0
  146. package/rihal/commands/discuss.md +23 -0
  147. package/rihal/commands/do.md +22 -0
  148. package/rihal/commands/docs-update.md +14 -0
  149. package/rihal/commands/document-project.md +8 -0
  150. package/rihal/commands/enable-hooks.md +11 -0
  151. package/rihal/commands/execute-sprint.md +13 -0
  152. package/rihal/commands/execute.md +19 -0
  153. package/rihal/commands/explore.md +14 -0
  154. package/rihal/commands/export-to-github.md +11 -0
  155. package/rihal/commands/forensics.md +11 -0
  156. package/rihal/commands/from-template.md +11 -0
  157. package/rihal/commands/health.md +10 -0
  158. package/rihal/commands/help.md +8 -0
  159. package/rihal/commands/import.md +12 -0
  160. package/rihal/commands/inbox.md +12 -0
  161. package/rihal/commands/init.md +14 -0
  162. package/rihal/commands/insert-phase.md +11 -0
  163. package/rihal/commands/install.md +10 -0
  164. package/rihal/commands/karpathy-audit.md +12 -0
  165. package/rihal/commands/list-plans.md +11 -0
  166. package/rihal/commands/list-workspaces.md +10 -0
  167. package/rihal/commands/map-codebase.md +14 -0
  168. package/rihal/commands/milestone-summary.md +11 -0
  169. package/rihal/commands/new-milestone.md +12 -0
  170. package/rihal/commands/new-project-research.md +11 -0
  171. package/rihal/commands/new-project-roadmap.md +11 -0
  172. package/rihal/commands/new-project.md +13 -0
  173. package/rihal/commands/new-workspace.md +12 -0
  174. package/rihal/commands/next.md +19 -0
  175. package/rihal/commands/note.md +12 -0
  176. package/rihal/commands/notify-test.md +10 -0
  177. package/rihal/commands/pause-work.md +8 -0
  178. package/rihal/commands/plan-milestone-gaps.md +18 -0
  179. package/rihal/commands/plan.md +19 -0
  180. package/rihal/commands/plant-seed.md +18 -0
  181. package/rihal/commands/pr-branch.md +18 -0
  182. package/rihal/commands/profile-user.md +8 -0
  183. package/rihal/commands/progress.md +19 -0
  184. package/rihal/commands/quick.md +14 -0
  185. package/rihal/commands/remove-phase.md +18 -0
  186. package/rihal/commands/remove-workspace.md +11 -0
  187. package/rihal/commands/replay.md +11 -0
  188. package/rihal/commands/report.md +10 -0
  189. package/rihal/commands/rerun.md +11 -0
  190. package/rihal/commands/research-phase.md +18 -0
  191. package/rihal/commands/resume-work.md +8 -0
  192. package/rihal/commands/review-adversarial.md +8 -0
  193. package/rihal/commands/review-edge-case-hunter.md +8 -0
  194. package/rihal/commands/review.md +18 -0
  195. package/rihal/commands/scan.md +14 -0
  196. package/rihal/commands/secure-phase.md +14 -0
  197. package/rihal/commands/session-report.md +10 -0
  198. package/rihal/commands/settings.md +8 -0
  199. package/rihal/commands/ship.md +18 -0
  200. package/rihal/commands/show.md +10 -0
  201. package/rihal/commands/sprint-planning.md +20 -0
  202. package/rihal/commands/sprint-status.md +21 -0
  203. package/rihal/commands/stats.md +10 -0
  204. package/rihal/commands/status.md +21 -0
  205. package/rihal/commands/ui-phase.md +8 -0
  206. package/rihal/commands/ui-review.md +8 -0
  207. package/rihal/commands/undo.md +14 -0
  208. package/rihal/commands/update.md +11 -0
  209. package/rihal/commands/validate-phase.md +18 -0
  210. package/rihal/commands/verify-phase.md +18 -0
  211. package/rihal/commands/verify-work.md +19 -0
  212. package/rihal/commands/why.md +10 -0
  213. package/rihal/commands/workstream.md +11 -0
  214. package/rihal/config/model-profiles.json +226 -0
  215. package/rihal/config/model-profiles.schema.json +36 -0
  216. package/rihal/config.yaml +39 -0
  217. package/rihal/digests/README.md +50 -0
  218. package/rihal/digests/fatima.md +24 -0
  219. package/rihal/digests/hussain-pm.md +24 -0
  220. package/rihal/digests/mariam.md +24 -0
  221. package/rihal/digests/sadiq.md +24 -0
  222. package/rihal/digests/waleed.md +24 -0
  223. package/rihal/modules/core.yaml +101 -0
  224. package/rihal/modules/discovery.yaml +50 -0
  225. package/rihal/modules/execution.yaml +66 -0
  226. package/rihal/references/brain-methods.csv +9 -0
  227. package/rihal/references/checklist-architect.md +146 -0
  228. package/rihal/references/checklist-change.md +136 -0
  229. package/rihal/references/checklist-pm.md +154 -0
  230. package/rihal/references/checklist-po-master.md +100 -0
  231. package/rihal/references/checklist-story-dod.md +75 -0
  232. package/rihal/references/checklist-story-draft.md +53 -0
  233. package/rihal/references/checkpoints-index.md +53 -0
  234. package/rihal/references/checkpoints.md +778 -0
  235. package/rihal/references/codebase-grounding.md +76 -0
  236. package/rihal/references/command-redirect-format.md +62 -0
  237. package/rihal/references/commit-conventions.md +125 -0
  238. package/rihal/references/common-bug-patterns-index.md +44 -0
  239. package/rihal/references/common-bug-patterns.md +621 -0
  240. package/rihal/references/context-budget.md +104 -0
  241. package/rihal/references/continuation-format.md +249 -0
  242. package/rihal/references/council-protocol.md +91 -0
  243. package/rihal/references/domain-probes.md +213 -0
  244. package/rihal/references/elicitation-methods.csv +16 -0
  245. package/rihal/references/execution-protocol.md +155 -0
  246. package/rihal/references/gate-prompts.md +212 -0
  247. package/rihal/references/gates.md +127 -0
  248. package/rihal/references/git-integration.md +159 -0
  249. package/rihal/references/git-planning-commit.md +185 -0
  250. package/rihal/references/karpathy-guidelines.md +79 -0
  251. package/rihal/references/model-profiles.md +90 -0
  252. package/rihal/references/no-unauthorized-git-ops.md +73 -0
  253. package/rihal/references/output-format.md +319 -0
  254. package/rihal/references/output-realism.md +52 -0
  255. package/rihal/references/project-types.yaml +270 -0
  256. package/rihal/references/questioning.md +163 -0
  257. package/rihal/references/response-style.md +81 -0
  258. package/rihal/references/state-schema.md +366 -0
  259. package/rihal/references/tdd.md +263 -0
  260. package/rihal/references/thinking-models-debug.md +126 -0
  261. package/rihal/references/thinking-models-planning.md +127 -0
  262. package/rihal/references/ui-brand.md +254 -0
  263. package/rihal/references/verification-patterns-index.md +76 -0
  264. package/rihal/references/verification-patterns.md +612 -0
  265. package/rihal/references/workstream-flag.md +166 -0
  266. package/rihal/skills/SKILLS_INDEX.md +114 -0
  267. package/rihal/skills/_shared/no-autonomous-bypass.md +37 -0
  268. package/rihal/skills/_shared/research-citation-rule.md +39 -0
  269. package/rihal/skills/_shared/state-sync-rule.md +43 -0
  270. package/rihal/skills/actions/1-analysis/research/rihal-domain-research/SKILL.md +31 -0
  271. package/rihal/skills/actions/1-analysis/research/rihal-domain-research/domain-steps/step-01-init.md +137 -0
  272. package/rihal/skills/actions/1-analysis/research/rihal-domain-research/domain-steps/step-02-domain-analysis.md +229 -0
  273. package/rihal/skills/actions/1-analysis/research/rihal-domain-research/domain-steps/step-03-competitive-landscape.md +238 -0
  274. package/rihal/skills/actions/1-analysis/research/rihal-domain-research/domain-steps/step-04-regulatory-focus.md +206 -0
  275. package/rihal/skills/actions/1-analysis/research/rihal-domain-research/domain-steps/step-05-technical-trends.md +234 -0
  276. package/rihal/skills/actions/1-analysis/research/rihal-domain-research/domain-steps/step-06-research-synthesis.md +444 -0
  277. package/rihal/skills/actions/1-analysis/research/rihal-domain-research/research.template.md +29 -0
  278. package/rihal/skills/actions/1-analysis/research/rihal-domain-research/workflow.md +49 -0
  279. package/rihal/skills/actions/1-analysis/research/rihal-market-research/SKILL.md +30 -0
  280. package/rihal/skills/actions/1-analysis/research/rihal-market-research/research.template.md +29 -0
  281. package/rihal/skills/actions/1-analysis/research/rihal-market-research/steps/step-01-init.md +184 -0
  282. package/rihal/skills/actions/1-analysis/research/rihal-market-research/steps/step-02-customer-behavior.md +239 -0
  283. package/rihal/skills/actions/1-analysis/research/rihal-market-research/steps/step-03-customer-pain-points.md +251 -0
  284. package/rihal/skills/actions/1-analysis/research/rihal-market-research/steps/step-04-customer-decisions.md +261 -0
  285. package/rihal/skills/actions/1-analysis/research/rihal-market-research/steps/step-05-competitive-analysis.md +173 -0
  286. package/rihal/skills/actions/1-analysis/research/rihal-market-research/steps/step-06-research-completion.md +478 -0
  287. package/rihal/skills/actions/1-analysis/research/rihal-market-research/workflow.md +49 -0
  288. package/rihal/skills/actions/1-analysis/research/rihal-technical-research/SKILL.md +31 -0
  289. package/rihal/skills/actions/1-analysis/research/rihal-technical-research/research.template.md +29 -0
  290. package/rihal/skills/actions/1-analysis/research/rihal-technical-research/technical-steps/step-01-init.md +137 -0
  291. package/rihal/skills/actions/1-analysis/research/rihal-technical-research/technical-steps/step-02-technical-overview.md +239 -0
  292. package/rihal/skills/actions/1-analysis/research/rihal-technical-research/technical-steps/step-03-integration-patterns.md +248 -0
  293. package/rihal/skills/actions/1-analysis/research/rihal-technical-research/technical-steps/step-04-architectural-patterns.md +202 -0
  294. package/rihal/skills/actions/1-analysis/research/rihal-technical-research/technical-steps/step-05-implementation-research.md +233 -0
  295. package/rihal/skills/actions/1-analysis/research/rihal-technical-research/technical-steps/step-06-research-synthesis.md +487 -0
  296. package/rihal/skills/actions/1-analysis/research/rihal-technical-research/workflow.md +50 -0
  297. package/rihal/skills/actions/1-analysis/rihal-document-project/SKILL.md +30 -0
  298. package/rihal/skills/actions/1-analysis/rihal-document-project/checklist.md +245 -0
  299. package/rihal/skills/actions/1-analysis/rihal-document-project/documentation-requirements.csv +12 -0
  300. package/rihal/skills/actions/1-analysis/rihal-document-project/instructions.md +128 -0
  301. package/rihal/skills/actions/1-analysis/rihal-document-project/templates/deep-dive-template.md +345 -0
  302. package/rihal/skills/actions/1-analysis/rihal-document-project/templates/index-template.md +169 -0
  303. package/rihal/skills/actions/1-analysis/rihal-document-project/templates/project-overview-template.md +103 -0
  304. package/rihal/skills/actions/1-analysis/rihal-document-project/templates/project-scan-report-schema.json +160 -0
  305. package/rihal/skills/actions/1-analysis/rihal-document-project/templates/source-tree-template.md +135 -0
  306. package/rihal/skills/actions/1-analysis/rihal-document-project/workflow.md +27 -0
  307. package/rihal/skills/actions/1-analysis/rihal-document-project/workflows/deep-dive-instructions.md +299 -0
  308. package/rihal/skills/actions/1-analysis/rihal-document-project/workflows/deep-dive-workflow.md +34 -0
  309. package/rihal/skills/actions/1-analysis/rihal-document-project/workflows/full-scan-instructions.md +1107 -0
  310. package/rihal/skills/actions/1-analysis/rihal-document-project/workflows/full-scan-workflow.md +34 -0
  311. package/rihal/skills/actions/1-analysis/rihal-prfaq/SKILL.md +120 -0
  312. package/rihal/skills/actions/1-analysis/rihal-prfaq/agents/artifact-analyzer.md +60 -0
  313. package/rihal/skills/actions/1-analysis/rihal-prfaq/agents/web-researcher.md +49 -0
  314. package/rihal/skills/actions/1-analysis/rihal-prfaq/assets/prfaq-template.md +62 -0
  315. package/rihal/skills/actions/1-analysis/rihal-prfaq/references/customer-faq.md +55 -0
  316. package/rihal/skills/actions/1-analysis/rihal-prfaq/references/internal-faq.md +51 -0
  317. package/rihal/skills/actions/1-analysis/rihal-prfaq/references/press-release.md +60 -0
  318. package/rihal/skills/actions/1-analysis/rihal-prfaq/references/verdict.md +79 -0
  319. package/rihal/skills/actions/1-analysis/rihal-prfaq/rihal-manifest.json +16 -0
  320. package/rihal/skills/actions/1-analysis/rihal-product-brief/SKILL.md +112 -0
  321. package/rihal/skills/actions/1-analysis/rihal-product-brief/agents/artifact-analyzer.md +60 -0
  322. package/rihal/skills/actions/1-analysis/rihal-product-brief/agents/opportunity-reviewer.md +44 -0
  323. package/rihal/skills/actions/1-analysis/rihal-product-brief/agents/skeptic-reviewer.md +44 -0
  324. package/rihal/skills/actions/1-analysis/rihal-product-brief/agents/web-researcher.md +49 -0
  325. package/rihal/skills/actions/1-analysis/rihal-product-brief/prompts/contextual-discovery.md +57 -0
  326. package/rihal/skills/actions/1-analysis/rihal-product-brief/prompts/draft-and-review.md +86 -0
  327. package/rihal/skills/actions/1-analysis/rihal-product-brief/prompts/finalize.md +75 -0
  328. package/rihal/skills/actions/1-analysis/rihal-product-brief/prompts/guided-elicitation.md +70 -0
  329. package/rihal/skills/actions/1-analysis/rihal-product-brief/resources/brief-template.md +60 -0
  330. package/rihal/skills/actions/1-analysis/rihal-product-brief/rihal-manifest.json +17 -0
  331. package/rihal/skills/actions/2-plan/rihal-create-epics-and-stories/SKILL.md +30 -0
  332. package/rihal/skills/actions/2-plan/rihal-create-epics-and-stories/steps/step-01-validate-prerequisites.md +255 -0
  333. package/rihal/skills/actions/2-plan/rihal-create-epics-and-stories/steps/step-02-design-epics.md +212 -0
  334. package/rihal/skills/actions/2-plan/rihal-create-epics-and-stories/steps/step-03-create-stories.md +255 -0
  335. package/rihal/skills/actions/2-plan/rihal-create-epics-and-stories/steps/step-04-final-validation.md +131 -0
  336. package/rihal/skills/actions/2-plan/rihal-create-epics-and-stories/templates/epics-template.md +61 -0
  337. package/rihal/skills/actions/2-plan/rihal-create-epics-and-stories/workflow.md +54 -0
  338. package/rihal/skills/actions/2-plan/rihal-create-milestone/SKILL.md +39 -0
  339. package/rihal/skills/actions/2-plan/rihal-create-milestone/steps/README.md +30 -0
  340. package/rihal/skills/actions/2-plan/rihal-create-milestone/steps/step-01-init.md +62 -0
  341. package/rihal/skills/actions/2-plan/rihal-create-milestone/steps/step-02-outcomes.md +64 -0
  342. package/rihal/skills/actions/2-plan/rihal-create-milestone/steps/step-03-sequencing.md +65 -0
  343. package/rihal/skills/actions/2-plan/rihal-create-milestone/steps/step-04-windows.md +60 -0
  344. package/rihal/skills/actions/2-plan/rihal-create-milestone/steps/step-05-kill-criteria.md +59 -0
  345. package/rihal/skills/actions/2-plan/rihal-create-milestone/steps/step-06-phase-stubs.md +56 -0
  346. package/rihal/skills/actions/2-plan/rihal-create-milestone/steps/step-07-backlog.md +44 -0
  347. package/rihal/skills/actions/2-plan/rihal-create-milestone/steps/step-08-write-roadmap.md +58 -0
  348. package/rihal/skills/actions/2-plan/rihal-create-milestone/steps/step-09-state-sync.md +62 -0
  349. package/rihal/skills/actions/2-plan/rihal-create-milestone/steps/step-10-complete.md +56 -0
  350. package/rihal/skills/actions/2-plan/rihal-create-milestone/workflow.md +93 -0
  351. package/rihal/skills/actions/2-plan/rihal-create-prd/SKILL.md +40 -0
  352. package/rihal/skills/actions/2-plan/rihal-create-prd/data/domain-complexity.csv +15 -0
  353. package/rihal/skills/actions/2-plan/rihal-create-prd/data/prd-purpose.md +197 -0
  354. package/rihal/skills/actions/2-plan/rihal-create-prd/data/project-types.csv +11 -0
  355. package/rihal/skills/actions/2-plan/rihal-create-prd/steps-c/step-01-init.md +178 -0
  356. package/rihal/skills/actions/2-plan/rihal-create-prd/steps-c/step-01b-continue.md +161 -0
  357. package/rihal/skills/actions/2-plan/rihal-create-prd/steps-c/step-02-discovery.md +208 -0
  358. package/rihal/skills/actions/2-plan/rihal-create-prd/steps-c/step-02b-vision.md +142 -0
  359. package/rihal/skills/actions/2-plan/rihal-create-prd/steps-c/step-02c-executive-summary.md +158 -0
  360. package/rihal/skills/actions/2-plan/rihal-create-prd/steps-c/step-03-success.md +214 -0
  361. package/rihal/skills/actions/2-plan/rihal-create-prd/steps-c/step-04-journeys.md +201 -0
  362. package/rihal/skills/actions/2-plan/rihal-create-prd/steps-c/step-05-domain.md +194 -0
  363. package/rihal/skills/actions/2-plan/rihal-create-prd/steps-c/step-06-innovation.md +211 -0
  364. package/rihal/skills/actions/2-plan/rihal-create-prd/steps-c/step-07-project-type.md +222 -0
  365. package/rihal/skills/actions/2-plan/rihal-create-prd/steps-c/step-08-scoping.md +216 -0
  366. package/rihal/skills/actions/2-plan/rihal-create-prd/steps-c/step-09-functional.md +219 -0
  367. package/rihal/skills/actions/2-plan/rihal-create-prd/steps-c/step-10-nonfunctional.md +230 -0
  368. package/rihal/skills/actions/2-plan/rihal-create-prd/steps-c/step-11-polish.md +221 -0
  369. package/rihal/skills/actions/2-plan/rihal-create-prd/steps-c/step-12-complete.md +115 -0
  370. package/rihal/skills/actions/2-plan/rihal-create-prd/templates/prd-template.md +10 -0
  371. package/rihal/skills/actions/2-plan/rihal-create-prd/workflow.md +64 -0
  372. package/rihal/skills/actions/2-plan/rihal-create-story/SKILL.md +31 -0
  373. package/rihal/skills/actions/2-plan/rihal-create-story/checklist.md +357 -0
  374. package/rihal/skills/actions/2-plan/rihal-create-story/discover-inputs.md +88 -0
  375. package/rihal/skills/actions/2-plan/rihal-create-story/template.md +49 -0
  376. package/rihal/skills/actions/2-plan/rihal-create-story/workflow.md +380 -0
  377. package/rihal/skills/actions/2-plan/rihal-create-ux-design/SKILL.md +31 -0
  378. package/rihal/skills/actions/2-plan/rihal-create-ux-design/steps/step-01-init.md +135 -0
  379. package/rihal/skills/actions/2-plan/rihal-create-ux-design/steps/step-01b-continue.md +127 -0
  380. package/rihal/skills/actions/2-plan/rihal-create-ux-design/steps/step-02-discovery.md +190 -0
  381. package/rihal/skills/actions/2-plan/rihal-create-ux-design/steps/step-03-core-experience.md +217 -0
  382. package/rihal/skills/actions/2-plan/rihal-create-ux-design/steps/step-04-emotional-response.md +220 -0
  383. package/rihal/skills/actions/2-plan/rihal-create-ux-design/steps/step-05-inspiration.md +235 -0
  384. package/rihal/skills/actions/2-plan/rihal-create-ux-design/steps/step-06-design-system.md +253 -0
  385. package/rihal/skills/actions/2-plan/rihal-create-ux-design/steps/step-07-defining-experience.md +255 -0
  386. package/rihal/skills/actions/2-plan/rihal-create-ux-design/steps/step-08-visual-foundation.md +225 -0
  387. package/rihal/skills/actions/2-plan/rihal-create-ux-design/steps/step-09-design-directions.md +225 -0
  388. package/rihal/skills/actions/2-plan/rihal-create-ux-design/steps/step-10-user-journeys.md +242 -0
  389. package/rihal/skills/actions/2-plan/rihal-create-ux-design/steps/step-11-component-strategy.md +249 -0
  390. package/rihal/skills/actions/2-plan/rihal-create-ux-design/steps/step-12-ux-patterns.md +238 -0
  391. package/rihal/skills/actions/2-plan/rihal-create-ux-design/steps/step-13-responsive-accessibility.md +265 -0
  392. package/rihal/skills/actions/2-plan/rihal-create-ux-design/steps/step-14-complete.md +171 -0
  393. package/rihal/skills/actions/2-plan/rihal-create-ux-design/ux-design-template.md +13 -0
  394. package/rihal/skills/actions/2-plan/rihal-create-ux-design/workflow.md +36 -0
  395. package/rihal/skills/actions/2-plan/rihal-edit-prd/SKILL.md +30 -0
  396. package/rihal/skills/actions/2-plan/rihal-edit-prd/steps-e/step-e-01-discovery.md +242 -0
  397. package/rihal/skills/actions/2-plan/rihal-edit-prd/steps-e/step-e-01b-legacy-conversion.md +204 -0
  398. package/rihal/skills/actions/2-plan/rihal-edit-prd/steps-e/step-e-02-review.md +245 -0
  399. package/rihal/skills/actions/2-plan/rihal-edit-prd/steps-e/step-e-03-edit.md +250 -0
  400. package/rihal/skills/actions/2-plan/rihal-edit-prd/steps-e/step-e-04-complete.md +165 -0
  401. package/rihal/skills/actions/2-plan/rihal-edit-prd/workflow.md +63 -0
  402. package/rihal/skills/actions/2-plan/rihal-frontend-design/SKILL.md +169 -0
  403. package/rihal/skills/actions/2-plan/rihal-validate-prd/SKILL.md +29 -0
  404. package/rihal/skills/actions/2-plan/rihal-validate-prd/data/domain-complexity.csv +15 -0
  405. package/rihal/skills/actions/2-plan/rihal-validate-prd/data/prd-purpose.md +197 -0
  406. package/rihal/skills/actions/2-plan/rihal-validate-prd/data/project-types.csv +11 -0
  407. package/rihal/skills/actions/2-plan/rihal-validate-prd/steps-v/step-v-01-discovery.md +221 -0
  408. package/rihal/skills/actions/2-plan/rihal-validate-prd/steps-v/step-v-02-format-detection.md +188 -0
  409. package/rihal/skills/actions/2-plan/rihal-validate-prd/steps-v/step-v-02b-parity-check.md +206 -0
  410. package/rihal/skills/actions/2-plan/rihal-validate-prd/steps-v/step-v-03-density-validation.md +171 -0
  411. package/rihal/skills/actions/2-plan/rihal-validate-prd/steps-v/step-v-04-brief-coverage-validation.md +211 -0
  412. package/rihal/skills/actions/2-plan/rihal-validate-prd/steps-v/step-v-05-measurability-validation.md +225 -0
  413. package/rihal/skills/actions/2-plan/rihal-validate-prd/steps-v/step-v-06-traceability-validation.md +214 -0
  414. package/rihal/skills/actions/2-plan/rihal-validate-prd/steps-v/step-v-07-implementation-leakage-validation.md +202 -0
  415. package/rihal/skills/actions/2-plan/rihal-validate-prd/steps-v/step-v-08-domain-compliance-validation.md +240 -0
  416. package/rihal/skills/actions/2-plan/rihal-validate-prd/steps-v/step-v-09-project-type-validation.md +260 -0
  417. package/rihal/skills/actions/2-plan/rihal-validate-prd/steps-v/step-v-10-smart-validation.md +206 -0
  418. package/rihal/skills/actions/2-plan/rihal-validate-prd/steps-v/step-v-11-holistic-quality-validation.md +261 -0
  419. package/rihal/skills/actions/2-plan/rihal-validate-prd/steps-v/step-v-12-completeness-validation.md +239 -0
  420. package/rihal/skills/actions/2-plan/rihal-validate-prd/steps-v/step-v-13-report-complete.md +229 -0
  421. package/rihal/skills/actions/2-plan/rihal-validate-prd/workflow.md +62 -0
  422. package/rihal/skills/actions/3-solutioning/rihal-check-implementation-readiness/SKILL.md +30 -0
  423. package/rihal/skills/actions/3-solutioning/rihal-check-implementation-readiness/steps/step-01-document-discovery.md +179 -0
  424. package/rihal/skills/actions/3-solutioning/rihal-check-implementation-readiness/steps/step-02-prd-analysis.md +168 -0
  425. package/rihal/skills/actions/3-solutioning/rihal-check-implementation-readiness/steps/step-03-epic-coverage-validation.md +169 -0
  426. package/rihal/skills/actions/3-solutioning/rihal-check-implementation-readiness/steps/step-04-ux-alignment.md +129 -0
  427. package/rihal/skills/actions/3-solutioning/rihal-check-implementation-readiness/steps/step-05-epic-quality-review.md +241 -0
  428. package/rihal/skills/actions/3-solutioning/rihal-check-implementation-readiness/steps/step-06-final-assessment.md +126 -0
  429. package/rihal/skills/actions/3-solutioning/rihal-check-implementation-readiness/templates/readiness-report-template.md +4 -0
  430. package/rihal/skills/actions/3-solutioning/rihal-check-implementation-readiness/workflow.md +49 -0
  431. package/rihal/skills/actions/3-solutioning/rihal-create-architecture/SKILL.md +32 -0
  432. package/rihal/skills/actions/3-solutioning/rihal-create-architecture/architecture-decision-template.md +12 -0
  433. package/rihal/skills/actions/3-solutioning/rihal-create-architecture/data/domain-complexity.csv +13 -0
  434. package/rihal/skills/actions/3-solutioning/rihal-create-architecture/data/project-types.csv +7 -0
  435. package/rihal/skills/actions/3-solutioning/rihal-create-architecture/steps/step-01-init.md +153 -0
  436. package/rihal/skills/actions/3-solutioning/rihal-create-architecture/steps/step-01b-continue.md +173 -0
  437. package/rihal/skills/actions/3-solutioning/rihal-create-architecture/steps/step-02-context.md +224 -0
  438. package/rihal/skills/actions/3-solutioning/rihal-create-architecture/steps/step-03-starter.md +329 -0
  439. package/rihal/skills/actions/3-solutioning/rihal-create-architecture/steps/step-04-decisions.md +318 -0
  440. package/rihal/skills/actions/3-solutioning/rihal-create-architecture/steps/step-05-patterns.md +359 -0
  441. package/rihal/skills/actions/3-solutioning/rihal-create-architecture/steps/step-06-structure.md +379 -0
  442. package/rihal/skills/actions/3-solutioning/rihal-create-architecture/steps/step-07-validation.md +359 -0
  443. package/rihal/skills/actions/3-solutioning/rihal-create-architecture/steps/step-08-complete.md +76 -0
  444. package/rihal/skills/actions/3-solutioning/rihal-create-architecture/workflow.md +38 -0
  445. package/rihal/skills/actions/3-solutioning/rihal-generate-project-context/SKILL.md +31 -0
  446. package/rihal/skills/actions/3-solutioning/rihal-generate-project-context/project-context-template.md +21 -0
  447. package/rihal/skills/actions/3-solutioning/rihal-generate-project-context/steps/step-01-discover.md +186 -0
  448. package/rihal/skills/actions/3-solutioning/rihal-generate-project-context/steps/step-02-generate.md +321 -0
  449. package/rihal/skills/actions/3-solutioning/rihal-generate-project-context/steps/step-03-complete.md +278 -0
  450. package/rihal/skills/actions/3-solutioning/rihal-generate-project-context/workflow.md +43 -0
  451. package/rihal/skills/actions/4-implementation/rihal-checkpoint-preview/SKILL.md +48 -0
  452. package/rihal/skills/actions/4-implementation/rihal-checkpoint-preview/generate-trail.md +38 -0
  453. package/rihal/skills/actions/4-implementation/rihal-checkpoint-preview/step-01-orientation.md +105 -0
  454. package/rihal/skills/actions/4-implementation/rihal-checkpoint-preview/step-02-walkthrough.md +89 -0
  455. package/rihal/skills/actions/4-implementation/rihal-checkpoint-preview/step-03-detail-pass.md +106 -0
  456. package/rihal/skills/actions/4-implementation/rihal-checkpoint-preview/step-04-testing.md +74 -0
  457. package/rihal/skills/actions/4-implementation/rihal-checkpoint-preview/step-05-wrapup.md +24 -0
  458. package/rihal/skills/actions/4-implementation/rihal-code-review/SKILL.md +31 -0
  459. package/rihal/skills/actions/4-implementation/rihal-code-review/steps/step-01-gather-context.md +62 -0
  460. package/rihal/skills/actions/4-implementation/rihal-code-review/steps/step-02-review.md +34 -0
  461. package/rihal/skills/actions/4-implementation/rihal-code-review/steps/step-03-triage.md +49 -0
  462. package/rihal/skills/actions/4-implementation/rihal-code-review/steps/step-04-present.md +129 -0
  463. package/rihal/skills/actions/4-implementation/rihal-code-review/workflow.md +55 -0
  464. package/rihal/skills/actions/4-implementation/rihal-correct-course/SKILL.md +29 -0
  465. package/rihal/skills/actions/4-implementation/rihal-correct-course/checklist.md +288 -0
  466. package/rihal/skills/actions/4-implementation/rihal-correct-course/workflow.md +267 -0
  467. package/rihal/skills/actions/4-implementation/rihal-dev-story/SKILL.md +36 -0
  468. package/rihal/skills/actions/4-implementation/rihal-dev-story/checklist.md +80 -0
  469. package/rihal/skills/actions/4-implementation/rihal-dev-story/workflow.md +450 -0
  470. package/rihal/skills/actions/4-implementation/rihal-qa-generate-e2e-tests/SKILL.md +31 -0
  471. package/rihal/skills/actions/4-implementation/rihal-qa-generate-e2e-tests/checklist.md +33 -0
  472. package/rihal/skills/actions/4-implementation/rihal-qa-generate-e2e-tests/workflow.md +136 -0
  473. package/rihal/skills/actions/4-implementation/rihal-retrospective/SKILL.md +30 -0
  474. package/rihal/skills/actions/4-implementation/rihal-retrospective/workflow.md +1479 -0
  475. package/rihal/skills/actions/4-implementation/rihal-scaffold-project/SKILL.md +77 -0
  476. package/rihal/skills/actions/4-implementation/rihal-scaffold-project/steps/step-01-target.md +17 -0
  477. package/rihal/skills/actions/4-implementation/rihal-scaffold-project/steps/step-02-safety.md +35 -0
  478. package/rihal/skills/actions/4-implementation/rihal-scaffold-project/steps/step-03-clone.md +50 -0
  479. package/rihal/skills/actions/4-implementation/rihal-scaffold-project/steps/step-04-post-setup.md +44 -0
  480. package/rihal/skills/actions/4-implementation/rihal-sprint-planning/SKILL.md +35 -0
  481. package/rihal/skills/actions/4-implementation/rihal-sprint-planning/checklist.md +43 -0
  482. package/rihal/skills/actions/4-implementation/rihal-sprint-planning/sprint-status-template.yaml +56 -0
  483. package/rihal/skills/actions/4-implementation/rihal-sprint-planning/workflow.md +284 -0
  484. package/rihal/skills/actions/4-implementation/rihal-sprint-status/SKILL.md +30 -0
  485. package/rihal/skills/actions/4-implementation/rihal-sprint-status/workflow.md +261 -0
  486. package/rihal/skills/agents/ahmed-hassani-director/SKILL.md +121 -0
  487. package/rihal/skills/agents/fatima-qa/SKILL.md +106 -0
  488. package/rihal/skills/agents/fatima-qa/skill-manifest.yaml +11 -0
  489. package/rihal/skills/agents/haitham-frontend/SKILL.md +120 -0
  490. package/rihal/skills/agents/hanzla-engineer/SKILL.md +109 -0
  491. package/rihal/skills/agents/hanzla-engineer/skill-manifest.yaml +11 -0
  492. package/rihal/skills/agents/hussain-pm/SKILL.md +107 -0
  493. package/rihal/skills/agents/hussain-pm/skill-manifest.yaml +11 -0
  494. package/rihal/skills/agents/hussain-sm/SKILL.md +104 -0
  495. package/rihal/skills/agents/hussain-sm/skill-manifest.yaml +11 -0
  496. package/rihal/skills/agents/layla-designer/SKILL.md +96 -0
  497. package/rihal/skills/agents/layla-designer/skill-manifest.yaml +11 -0
  498. package/rihal/skills/agents/majlis-council/SKILL.md +179 -0
  499. package/rihal/skills/agents/mariam-marketing/SKILL.md +133 -0
  500. package/rihal/skills/agents/nasser-eng-manager/SKILL.md +125 -0
  501. package/rihal/skills/agents/noor-writer/SKILL.md +104 -0
  502. package/rihal/skills/agents/noor-writer/explain-concept.md +20 -0
  503. package/rihal/skills/agents/noor-writer/mermaid-gen.md +20 -0
  504. package/rihal/skills/agents/noor-writer/skill-manifest.yaml +11 -0
  505. package/rihal/skills/agents/noor-writer/validate-doc.md +19 -0
  506. package/rihal/skills/agents/noor-writer/write-document.md +20 -0
  507. package/rihal/skills/agents/raees-orchestrator/SKILL.md +154 -0
  508. package/rihal/skills/agents/sadiq-analyst/SKILL.md +106 -0
  509. package/rihal/skills/agents/sadiq-analyst/skill-manifest.yaml +11 -0
  510. package/rihal/skills/agents/waleed-architect/SKILL.md +106 -0
  511. package/rihal/skills/agents/waleed-architect/skill-manifest.yaml +11 -0
  512. package/rihal/skills/agents/yousef-backend/SKILL.md +136 -0
  513. package/rihal/skills/agents/zahra-branding/SKILL.md +141 -0
  514. package/rihal/skills/agents/zayd-ml/SKILL.md +124 -0
  515. package/rihal/skills/core/module-help.csv +11 -0
  516. package/rihal/skills/core/module.yaml +25 -0
  517. package/rihal/skills/core/rihal-advanced-elicitation/SKILL.md +155 -0
  518. package/rihal/skills/core/rihal-advanced-elicitation/methods.csv +51 -0
  519. package/rihal/skills/core/rihal-advanced-elicitation/rihal-advanced-elicitation/SKILL.md +148 -0
  520. package/rihal/skills/core/rihal-advanced-elicitation/rihal-advanced-elicitation/methods.csv +51 -0
  521. package/rihal/skills/core/rihal-brainstorming/SKILL.md +82 -0
  522. package/rihal/skills/core/rihal-brainstorming/brain-methods.csv +62 -0
  523. package/rihal/skills/core/rihal-brainstorming/steps/step-01-session-setup.md +214 -0
  524. package/rihal/skills/core/rihal-brainstorming/steps/step-01b-continue.md +124 -0
  525. package/rihal/skills/core/rihal-brainstorming/steps/step-02a-user-selected.md +229 -0
  526. package/rihal/skills/core/rihal-brainstorming/steps/step-02b-ai-recommended.md +239 -0
  527. package/rihal/skills/core/rihal-brainstorming/steps/step-02c-random-selection.md +211 -0
  528. package/rihal/skills/core/rihal-brainstorming/steps/step-02d-progressive-flow.md +266 -0
  529. package/rihal/skills/core/rihal-brainstorming/steps/step-03-technique-execution.md +401 -0
  530. package/rihal/skills/core/rihal-brainstorming/steps/step-04-idea-organization.md +305 -0
  531. package/rihal/skills/core/rihal-brainstorming/template.md +15 -0
  532. package/rihal/skills/core/rihal-brainstorming/workflow.md +53 -0
  533. package/rihal/skills/core/rihal-clone-website/SKILL.md +395 -0
  534. package/rihal/skills/core/rihal-distillator/SKILL.md +205 -0
  535. package/rihal/skills/core/rihal-distillator/agents/distillate-compressor.md +116 -0
  536. package/rihal/skills/core/rihal-distillator/agents/round-trip-reconstructor.md +68 -0
  537. package/rihal/skills/core/rihal-distillator/resources/compression-rules.md +51 -0
  538. package/rihal/skills/core/rihal-distillator/resources/distillate-format-reference.md +227 -0
  539. package/rihal/skills/core/rihal-distillator/resources/splitting-strategy.md +78 -0
  540. package/rihal/skills/core/rihal-distillator/scripts/analyze_sources.py +300 -0
  541. package/rihal/skills/core/rihal-distillator/scripts/tests/test_analyze_sources.py +204 -0
  542. package/rihal/skills/core/rihal-editorial-review-prose/SKILL.md +108 -0
  543. package/rihal/skills/core/rihal-editorial-review-structure/SKILL.md +193 -0
  544. package/rihal/skills/core/rihal-help/SKILL.md +91 -0
  545. package/rihal/skills/core/rihal-index-docs/SKILL.md +80 -0
  546. package/rihal/skills/core/rihal-init/SKILL.md +119 -0
  547. package/rihal/skills/core/rihal-init/resources/core-module.yaml +25 -0
  548. package/rihal/skills/core/rihal-init/scripts/rihal_init.py +593 -0
  549. package/rihal/skills/core/rihal-init/scripts/tests/test_rihal_init.py +329 -0
  550. package/rihal/skills/core/rihal-party-mode/SKILL.md +77 -0
  551. package/rihal/skills/core/rihal-party-mode/steps/step-01-agent-loading.md +138 -0
  552. package/rihal/skills/core/rihal-party-mode/steps/step-02-discussion-orchestration.md +187 -0
  553. package/rihal/skills/core/rihal-party-mode/steps/step-03-graceful-exit.md +167 -0
  554. package/rihal/skills/core/rihal-party-mode/workflow.md +190 -0
  555. package/rihal/skills/core/rihal-review-adversarial-general/SKILL.md +55 -0
  556. package/rihal/skills/core/rihal-review-edge-case-hunter/SKILL.md +81 -0
  557. package/rihal/skills/core/rihal-shard-doc/SKILL.md +119 -0
  558. package/rihal/skills/core/rihal-shard-doc/rihal-shard-doc/SKILL.md +122 -0
  559. package/rihal/team.yaml +343 -0
  560. package/rihal/templates/UI-SPEC.md +127 -0
  561. package/rihal/templates/documentation-requirements.csv +11 -0
  562. package/rihal/templates/github/bug-template.md +53 -0
  563. package/rihal/templates/github/epic-template.md +57 -0
  564. package/rihal/templates/github/feature-template.md +55 -0
  565. package/rihal/templates/github/task-template.md +52 -0
  566. package/rihal/templates/milestone.md +147 -0
  567. package/rihal/templates/projects/api-backend/PROJECT.md +37 -0
  568. package/rihal/templates/projects/api-backend/REQUIREMENTS.md +38 -0
  569. package/rihal/templates/projects/api-backend/ROADMAP.md +92 -0
  570. package/rihal/templates/projects/api-backend/template.yaml +17 -0
  571. package/rihal/templates/projects/mobile-app/PROJECT.md +37 -0
  572. package/rihal/templates/projects/mobile-app/REQUIREMENTS.md +32 -0
  573. package/rihal/templates/projects/mobile-app/ROADMAP.md +93 -0
  574. package/rihal/templates/projects/mobile-app/template.yaml +17 -0
  575. package/rihal/templates/projects/saas-b2b/PROJECT.md +40 -0
  576. package/rihal/templates/projects/saas-b2b/REQUIREMENTS.md +38 -0
  577. package/rihal/templates/projects/saas-b2b/ROADMAP.md +95 -0
  578. package/rihal/templates/projects/saas-b2b/template.yaml +18 -0
  579. package/rihal/templates/settings-hooks.json +36 -0
  580. package/rihal/templates/sprint.md +70 -0
  581. package/rihal/workflows/add-phase.md +112 -0
  582. package/rihal/workflows/add-tests.md +351 -0
  583. package/rihal/workflows/add-todo.md +181 -0
  584. package/rihal/workflows/analyze-dependencies.md +138 -0
  585. package/rihal/workflows/audit-fix.md +190 -0
  586. package/rihal/workflows/audit-milestone.md +155 -0
  587. package/rihal/workflows/audit-uat.md +109 -0
  588. package/rihal/workflows/autonomous.md +992 -0
  589. package/rihal/workflows/brainstorm.md +203 -0
  590. package/rihal/workflows/chain.md +188 -0
  591. package/rihal/workflows/check-implementation-readiness.md +193 -0
  592. package/rihal/workflows/check-todos.md +177 -0
  593. package/rihal/workflows/cleanup.md +152 -0
  594. package/rihal/workflows/code-review-fix.md +529 -0
  595. package/rihal/workflows/code-review.md +566 -0
  596. package/rihal/workflows/complete-milestone.md +836 -0
  597. package/rihal/workflows/config.md +105 -0
  598. package/rihal/workflows/correct-course.md +190 -0
  599. package/rihal/workflows/council.md +565 -0
  600. package/rihal/workflows/create-epics-and-stories.md +373 -0
  601. package/rihal/workflows/create-story.md +297 -0
  602. package/rihal/workflows/dashboard.md +102 -0
  603. package/rihal/workflows/debug.md +256 -0
  604. package/rihal/workflows/decisions.md +107 -0
  605. package/rihal/workflows/dev-story.md +432 -0
  606. package/rihal/workflows/diff.md +74 -0
  607. package/rihal/workflows/discuss-phase-power.md +325 -0
  608. package/rihal/workflows/discuss-phase.md +1201 -0
  609. package/rihal/workflows/discuss.md +227 -0
  610. package/rihal/workflows/do.md +175 -0
  611. package/rihal/workflows/docs-update.md +261 -0
  612. package/rihal/workflows/document-project.md +180 -0
  613. package/rihal/workflows/enable-hooks.md +102 -0
  614. package/rihal/workflows/execute-sprint.md +514 -0
  615. package/rihal/workflows/execute.md +1478 -0
  616. package/rihal/workflows/explore.md +171 -0
  617. package/rihal/workflows/export-to-github.md +174 -0
  618. package/rihal/workflows/forensics.md +201 -0
  619. package/rihal/workflows/from-template.md +173 -0
  620. package/rihal/workflows/health.md +194 -0
  621. package/rihal/workflows/help.md +318 -0
  622. package/rihal/workflows/import.md +306 -0
  623. package/rihal/workflows/inbox.md +418 -0
  624. package/rihal/workflows/init.md +245 -0
  625. package/rihal/workflows/insert-phase.md +116 -0
  626. package/rihal/workflows/install.md +85 -0
  627. package/rihal/workflows/karpathy-audit.md +409 -0
  628. package/rihal/workflows/list-plans.md +146 -0
  629. package/rihal/workflows/list-workspaces.md +115 -0
  630. package/rihal/workflows/map-codebase.md +449 -0
  631. package/rihal/workflows/milestone-summary.md +206 -0
  632. package/rihal/workflows/new-milestone.md +616 -0
  633. package/rihal/workflows/new-project-research.md +262 -0
  634. package/rihal/workflows/new-project-roadmap.md +446 -0
  635. package/rihal/workflows/new-project.md +1503 -0
  636. package/rihal/workflows/new-workspace.md +167 -0
  637. package/rihal/workflows/next.md +162 -0
  638. package/rihal/workflows/note.md +156 -0
  639. package/rihal/workflows/notify-test.md +113 -0
  640. package/rihal/workflows/pause-work.md +243 -0
  641. package/rihal/workflows/plan-milestone-gaps.md +273 -0
  642. package/rihal/workflows/plan.md +1262 -0
  643. package/rihal/workflows/plant-seed.md +169 -0
  644. package/rihal/workflows/pr-branch.md +129 -0
  645. package/rihal/workflows/profile-user.md +162 -0
  646. package/rihal/workflows/progress.md +184 -0
  647. package/rihal/workflows/quick.md +105 -0
  648. package/rihal/workflows/remove-phase.md +155 -0
  649. package/rihal/workflows/remove-workspace.md +158 -0
  650. package/rihal/workflows/replay.md +160 -0
  651. package/rihal/workflows/rerun.md +77 -0
  652. package/rihal/workflows/research-phase.md +82 -0
  653. package/rihal/workflows/resume-work.md +326 -0
  654. package/rihal/workflows/review-adversarial.md +180 -0
  655. package/rihal/workflows/review-edge-case-hunter.md +214 -0
  656. package/rihal/workflows/review.md +281 -0
  657. package/rihal/workflows/scan.md +135 -0
  658. package/rihal/workflows/secure-phase.md +196 -0
  659. package/rihal/workflows/session-report.md +187 -0
  660. package/rihal/workflows/settings.md +185 -0
  661. package/rihal/workflows/ship.md +237 -0
  662. package/rihal/workflows/show.md +63 -0
  663. package/rihal/workflows/sprint-planning.md +166 -0
  664. package/rihal/workflows/sprint-status.md +124 -0
  665. package/rihal/workflows/stats.md +141 -0
  666. package/rihal/workflows/status.md +116 -0
  667. package/rihal/workflows/ui-phase.md +148 -0
  668. package/rihal/workflows/ui-review.md +130 -0
  669. package/rihal/workflows/undo.md +426 -0
  670. package/rihal/workflows/update.md +185 -0
  671. package/rihal/workflows/validate-phase.md +174 -0
  672. package/rihal/workflows/verify-phase.md +375 -0
  673. package/rihal/workflows/verify-work.md +717 -0
  674. package/rihal/workflows/why.md +130 -0
  675. package/rihal/workflows/workstream.md +197 -0
  676. package/server/dashboard.js +632 -0
@@ -0,0 +1,377 @@
1
+
2
+ ## Step 1: Load Context
3
+
4
+ Load phase operation context:
5
+ ```bash
6
+ INIT=$(node ".rihal/bin/rihal-tools.cjs" init phase-op "${PHASE_ARG}")
7
+ if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
8
+ ```
9
+
10
+ Extract from init JSON: `phase_dir`, `phase_number`, `has_plans`, `plan_count`.
11
+
12
+ Orchestrator provides CONTEXT.md content in the verification prompt. If provided, parse for locked decisions, discretion areas, deferred ideas.
13
+
14
+ ```bash
15
+ ls "$phase_dir"/*-SPRINT.md 2>/dev/null
16
+ # Read research for Nyquist validation data
17
+ cat "$phase_dir"/*-RESEARCH.md 2>/dev/null
18
+ node ".rihal/bin/rihal-tools.cjs" roadmap get-phase "$phase_number"
19
+ ls "$phase_dir"/*-BRIEF.md 2>/dev/null
20
+ ```
21
+
22
+ **Extract:** Phase goal, requirements (decompose goal), locked decisions, deferred ideas.
23
+
24
+ ## Step 2: Load All Plans
25
+
26
+ Use rihal-tools to validate plan structure:
27
+
28
+ ```bash
29
+ for plan in "$PHASE_DIR"/*-SPRINT.md; do
30
+ echo "=== $plan ==="
31
+ PLAN_STRUCTURE=$(node ".rihal/bin/rihal-tools.cjs" verify plan-structure "$plan")
32
+ echo "$PLAN_STRUCTURE"
33
+ done
34
+ ```
35
+
36
+ Parse JSON result: `{ valid, errors, warnings, task_count, tasks: [{name, hasFiles, hasAction, hasVerify, hasDone}], frontmatter_fields }`
37
+
38
+ Map errors/warnings to verification dimensions:
39
+ - Missing frontmatter field → `task_completeness` or `must_haves_derivation`
40
+ - Task missing elements → `task_completeness`
41
+ - Wave/depends_on inconsistency → `dependency_correctness`
42
+ - Checkpoint/autonomous mismatch → `task_completeness`
43
+
44
+ ## Step 3: Parse must_haves
45
+
46
+ Extract must_haves from each plan using rihal-tools:
47
+
48
+ ```bash
49
+ MUST_HAVES=$(node ".rihal/bin/rihal-tools.cjs" frontmatter get "$PLAN_PATH" --field must_haves)
50
+ ```
51
+
52
+ Returns JSON: `{ truths: [...], artifacts: [...], key_links: [...] }`
53
+
54
+ **Expected structure:**
55
+
56
+ ```yaml
57
+ must_haves:
58
+ truths:
59
+ - "User can log in with email/password"
60
+ - "Invalid credentials return 401"
61
+ artifacts:
62
+ - path: "src/app/api/auth/login/route.ts"
63
+ provides: "Login endpoint"
64
+ min_lines: 30
65
+ key_links:
66
+ - from: "src/components/LoginForm.tsx"
67
+ to: "/api/auth/login"
68
+ via: "fetch in onSubmit"
69
+ ```
70
+
71
+ Aggregate across plans for full picture of what phase delivers.
72
+
73
+ ## Step 4: Check Requirement Coverage
74
+
75
+ Map requirements to tasks:
76
+
77
+ ```
78
+ Requirement | Plans | Tasks | Status
79
+ ---------------------|-------|-------|--------
80
+ User can log in | 01 | 1,2 | COVERED
81
+ User can log out | - | - | MISSING
82
+ Session persists | 01 | 3 | COVERED
83
+ ```
84
+
85
+ For each requirement: find covering task(s), verify action is specific, flag gaps.
86
+
87
+ **Exhaustive cross-check:** Also read PROJECT.md requirements (not just phase goal). Verify no PROJECT.md requirement relevant to this phase is silently dropped. A requirement is "relevant" if the ROADMAP.md explicitly maps it to this phase or if the phase goal directly implies it — do NOT flag requirements that belong to other phases or future work. Any unmapped relevant requirement is an automatic blocker — list it explicitly in issues.
88
+
89
+ ## Step 5: Validate Task Structure
90
+
91
+ Use rihal-tools plan-structure verification (already run in Step 2):
92
+
93
+ ```bash
94
+ PLAN_STRUCTURE=$(node ".rihal/bin/rihal-tools.cjs" verify plan-structure "$PLAN_PATH")
95
+ ```
96
+
97
+ The `tasks` array in the result shows each task's completeness:
98
+ - `hasFiles` — files element present
99
+ - `hasAction` — action element present
100
+ - `hasVerify` — verify element present
101
+ - `hasDone` — done element present
102
+
103
+ **Check:** valid task type (auto, checkpoint:*, tdd), auto tasks have files/action/verify/done, action is specific, verify is runnable, done is measurable.
104
+
105
+ **For manual validation of specificity** (rihal-tools checks structure, not content quality):
106
+ ```bash
107
+ grep -B5 "</task>" "$PHASE_DIR"/*-SPRINT.md | grep -v "<verify>"
108
+ ```
109
+
110
+ ## Step 6: Verify Dependency Graph
111
+
112
+ ```bash
113
+ for plan in "$PHASE_DIR"/*-SPRINT.md; do
114
+ grep "depends_on:" "$plan"
115
+ done
116
+ ```
117
+
118
+ Validate: all referenced plans exist, no cycles, wave numbers consistent, no forward references. If A -> B -> C -> A, report cycle.
119
+
120
+ ## Step 7: Check Key Links
121
+
122
+ For each key_link in must_haves: find source artifact task, check if action mentions the connection, flag missing wiring.
123
+
124
+ ```
125
+ key_link: Chat.tsx -> /api/chat via fetch
126
+ Task 2 action: "Create Chat component with message list..."
127
+ Missing: No mention of fetch/API call → Issue: Key link not planned
128
+ ```
129
+
130
+ ## Step 8: Assess Scope
131
+
132
+ ```bash
133
+ grep -c "<task" "$PHASE_DIR"/$PHASE-01-SPRINT.md
134
+ grep "files_modified:" "$PHASE_DIR"/$PHASE-01-SPRINT.md
135
+ ```
136
+
137
+ Thresholds: 2-3 tasks/plan good, 4 warning, 5+ blocker (split required).
138
+
139
+ ## Step 9: Verify must_haves Derivation
140
+
141
+ **Truths:** user-observable (not "bcrypt installed" but "passwords are secure"), testable, specific.
142
+
143
+ **Artifacts:** map to truths, reasonable min_lines, list expected exports/content.
144
+
145
+ **Key_links:** connect dependent artifacts, specify method (fetch, Prisma, import), cover critical wiring.
146
+
147
+ ## Step 9.5: Verify File References (NEW)
148
+
149
+ Before step 10, add pre-flight reference verification:
150
+
151
+ ```bash
152
+ PLAN_TEXT=$(cat "$PLAN_PATH")
153
+ VERIFY_RESULT=$(node -e "
154
+ const cr = require('.rihal/bin/lib/code-references.cjs');
155
+ const fs = require('fs');
156
+ const text = fs.readFileSync(process.argv[1], 'utf8');
157
+ const refs = cr.extractReferences(text);
158
+ const result = cr.verifyReferences(refs, process.cwd());
159
+ console.log(JSON.stringify(result, null, 2));
160
+ " "$PLAN_PATH")
161
+ ```
162
+
163
+ Check result:
164
+ - If `summary.ratio < 0.5`: **BLOCKER** — "Plan references files/symbols that don't exist. Plan was built on hallucinated findings."
165
+ - If `summary.ratio >= 0.5 AND < 0.8`: **WARNING** — List missing files/symbols, suggest re-planning with /rihal:debug
166
+ - If `summary.ratio >= 0.8`: **INFO** — Most references verified, proceed
167
+
168
+ Append to verification output:
169
+
170
+ ```markdown
171
+ ## File References Verification
172
+
173
+ **Verified:** {summary.verified} / {summary.total} ({summary.ratio}%)
174
+ **Status:** ✅ PASS / ⚠️ WARNING / ❌ FAIL
175
+
176
+ {if missing refs:}
177
+ Missing files: {list}
178
+ Missing symbols: {list}
179
+ {hint}
180
+ ```
181
+
182
+ ## Step 10: Determine Overall Status
183
+
184
+ **passed:** All requirements covered, all tasks complete, dependency graph valid, key links planned, scope within budget, must_haves properly derived.
185
+
186
+ **issues_found:** One or more blockers or warnings. Plans need revision.
187
+
188
+ Severities: `blocker` (must fix), `warning` (should fix), `info` (suggestions).
189
+
190
+ </verification_process>
191
+
192
+ <examples>
193
+
194
+ ## Scope Exceeded (most common miss)
195
+
196
+ **Plan 01 analysis:**
197
+ ```
198
+ Tasks: 5
199
+ Files modified: 12
200
+ - prisma/schema.prisma
201
+ - src/app/api/auth/login/route.ts
202
+ - src/app/api/auth/logout/route.ts
203
+ - src/app/api/auth/refresh/route.ts
204
+ - src/middleware.ts
205
+ - src/lib/auth.ts
206
+ - src/lib/jwt.ts
207
+ - src/components/LoginForm.tsx
208
+ - src/components/LogoutButton.tsx
209
+ - src/app/login/page.tsx
210
+ - src/app/dashboard/page.tsx
211
+ - src/types/auth.ts
212
+ ```
213
+
214
+ 5 tasks exceeds 2-3 target, 12 files is high, auth is complex domain → quality degradation risk.
215
+
216
+ ```yaml
217
+ issue:
218
+ dimension: scope_sanity
219
+ severity: blocker
220
+ description: "Plan 01 has 5 tasks with 12 files - exceeds context budget"
221
+ plan: "01"
222
+ metrics:
223
+ tasks: 5
224
+ files: 12
225
+ estimated_context: "~80%"
226
+ fix_hint: "Split into: 01 (schema + API), 02 (middleware + lib), 03 (UI components)"
227
+ ```
228
+
229
+ </examples>
230
+
231
+ <issue_structure>
232
+
233
+ ## Issue Format
234
+
235
+ ```yaml
236
+ issue:
237
+ plan: "16-01" # Which plan (null if phase-level)
238
+ dimension: "task_completeness" # Which dimension failed
239
+ severity: "blocker" # blocker | warning | info
240
+ description: "..."
241
+ task: 2 # Task number if applicable
242
+ fix_hint: "..."
243
+ ```
244
+
245
+ ## Severity Levels
246
+
247
+ **blocker** - Must fix before execution
248
+ - Missing requirement coverage
249
+ - Missing required task fields
250
+ - Circular dependencies
251
+ - Scope > 5 tasks per plan
252
+
253
+ **warning** - Should fix, execution may work
254
+ - Scope 4 tasks (borderline)
255
+ - Implementation-focused truths
256
+ - Minor wiring missing
257
+
258
+ **info** - Suggestions for improvement
259
+ - Could split for better parallelization
260
+ - Could improve verification specificity
261
+
262
+ Return all issues as a structured `issues:` YAML list (see dimension examples for format).
263
+
264
+ </issue_structure>
265
+
266
+ <structured_returns>
267
+
268
+ ## VERIFICATION PASSED
269
+
270
+ ```markdown
271
+ ## VERIFICATION PASSED
272
+
273
+ **Phase:** {phase-name}
274
+ **Plans verified:** {N}
275
+ **Status:** All checks passed
276
+
277
+ ### Coverage Summary
278
+
279
+ | Requirement | Plans | Status |
280
+ |-------------|-------|--------|
281
+ | {req-1} | 01 | Covered |
282
+ | {req-2} | 01,02 | Covered |
283
+
284
+ ### Plan Summary
285
+
286
+ | Plan | Tasks | Files | Wave | Status |
287
+ |------|-------|-------|------|--------|
288
+ | 01 | 3 | 5 | 1 | Valid |
289
+ | 02 | 2 | 4 | 2 | Valid |
290
+
291
+ Plans verified. Run `/rihal:execute {phase}` to proceed.
292
+ ```
293
+
294
+ ## ISSUES FOUND
295
+
296
+ ```markdown
297
+ ## ISSUES FOUND
298
+
299
+ **Phase:** {phase-name}
300
+ **Plans checked:** {N}
301
+ **Issues:** {X} blocker(s), {Y} warning(s), {Z} info
302
+
303
+ ### Blockers (must fix)
304
+
305
+ **1. [{dimension}] {description}**
306
+ - Plan: {plan}
307
+ - Task: {task if applicable}
308
+ - Fix: {fix_hint}
309
+
310
+ ### Warnings (should fix)
311
+
312
+ **1. [{dimension}] {description}**
313
+ - Plan: {plan}
314
+ - Fix: {fix_hint}
315
+
316
+ ### Structured Issues
317
+
318
+ (YAML issues list using format from Issue Format above)
319
+
320
+ ### Recommendation
321
+
322
+ {N} blocker(s) require revision. Returning to planner with feedback.
323
+ ```
324
+
325
+ </structured_returns>
326
+
327
+ <anti_patterns>
328
+
329
+ **DO NOT** check code existence — that's rihal-verifier's job. You verify plans, not codebase.
330
+
331
+ **DO NOT** run the application. Static plan analysis only.
332
+
333
+ **DO NOT** accept vague tasks. "Implement auth" is not specific. Tasks need concrete files, actions, verification.
334
+
335
+ **DO NOT** skip dependency analysis. Circular/broken dependencies cause execution failures.
336
+
337
+ **DO NOT** ignore scope. 5+ tasks/plan degrades quality. Report and split.
338
+
339
+ **DO NOT** verify implementation details. Check that plans describe what to build.
340
+
341
+ **DO NOT** trust task names alone. Read action, verify, done fields. A well-named task can be empty.
342
+
343
+ </anti_patterns>
344
+
345
+ <success_criteria>
346
+
347
+ Plan verification complete when:
348
+
349
+ - [ ] Phase goal extracted from ROADMAP.md
350
+ - [ ] All SPRINT.md files in phase directory loaded
351
+ - [ ] must_haves parsed from each plan frontmatter
352
+ - [ ] Requirement coverage checked (all requirements have tasks)
353
+ - [ ] Task completeness validated (all required fields present)
354
+ - [ ] Dependency graph verified (no cycles, valid references)
355
+ - [ ] Key links checked (wiring planned, not just artifacts)
356
+ - [ ] Scope assessed (within context budget)
357
+ - [ ] must_haves derivation verified (user-observable truths)
358
+ - [ ] Context compliance checked (if CONTEXT.md provided):
359
+ - [ ] Locked decisions have implementing tasks
360
+ - [ ] No tasks contradict locked decisions
361
+ - [ ] Deferred ideas not included in plans
362
+ - [ ] Overall status determined (passed | issues_found)
363
+ - [ ] Cross-plan data contracts checked (no conflicting transforms on shared data)
364
+ - [ ] CLAUDE.md compliance checked (plans respect project conventions)
365
+ - [ ] Structured issues returned (if any found)
366
+ - [ ] Result returned to orchestrator
367
+
368
+ </success_criteria>
369
+
370
+ ## Constraints
371
+
372
+ - Apply Karpathy guidelines (see @-included reference) as hard rules. Reference the principle number when refusing a change.
373
+ - validate YAML frontmatter exactly as specified
374
+ - check task structure against execution-protocol.md
375
+ - verify all dependencies and checkpoint placement
376
+ - return PASS/FAIL with specific issues listed
377
+ - never modify the plan — only report findings
@@ -0,0 +1,94 @@
1
+ # Verifier — Anti-Pattern Scanning (Step 7) + Stub Detection Patterns
2
+
3
+ ## Step 7: Scan for Anti-Patterns
4
+
5
+ Identify files modified in this phase from SUMMARY.md key-files section, or extract commits and verify:
6
+
7
+ ```bash
8
+ # Option 1: Extract from SUMMARY frontmatter
9
+ SUMMARY_FILES=$(node ".rihal/bin/rihal-tools.cjs" summary-extract "$PHASE_DIR"/*-SUMMARY.md --fields key-files)
10
+
11
+ # Option 2: Verify commits exist (if commit hashes documented)
12
+ COMMIT_HASHES=$(grep -oE "[a-f0-9]{7,40}" "$PHASE_DIR"/*-SUMMARY.md | head -10)
13
+ if [ -n "$COMMIT_HASHES" ]; then
14
+ COMMITS_VALID=$(node ".rihal/bin/rihal-tools.cjs" verify commits $COMMIT_HASHES)
15
+ fi
16
+
17
+ # Fallback: grep for files
18
+ grep -E "^\- \`" "$PHASE_DIR"/*-SUMMARY.md | sed 's/.*`\([^`]*\)`.*/\1/' | sort -u
19
+ ```
20
+
21
+ ## Anti-pattern detection on each file
22
+
23
+ ```bash
24
+ # TODO/FIXME/placeholder comments
25
+ grep -n -E "TODO|FIXME|XXX|HACK|PLACEHOLDER" "$file" 2>/dev/null
26
+ grep -n -E "placeholder|coming soon|will be here|not yet implemented|not available" "$file" -i 2>/dev/null
27
+
28
+ # Empty implementations
29
+ grep -n -E "return null|return \{\}|return \[\]|=> \{\}" "$file" 2>/dev/null
30
+
31
+ # Hardcoded empty data (common stub patterns)
32
+ grep -n -E "=\s*\[\]|=\s*\{\}|=\s*null|=\s*undefined" "$file" 2>/dev/null | grep -v -E "(test|spec|mock|fixture|\.test\.|\.spec\.)" 2>/dev/null
33
+
34
+ # Props with hardcoded empty values (React/Vue/Svelte stub indicators)
35
+ grep -n -E "=\{(\[\]|\{\}|null|undefined|''|\"\")\}" "$file" 2>/dev/null
36
+
37
+ # Console.log only implementations
38
+ grep -n -B 2 -A 2 "console\.log" "$file" 2>/dev/null | grep -E "^\s*(const|function|=>)"
39
+ ```
40
+
41
+ **Stub classification:** A grep match is a STUB only when the value flows to rendering or user-visible output AND no other code path populates it with real data. A test helper, type default, or initial state that gets overwritten by a fetch/store is NOT a stub. Check for data-fetching (useEffect, fetch, query, useSWR, useQuery, subscribe) that writes to the same variable before flagging.
42
+
43
+ Categorize: 🛑 Blocker (prevents goal) | ⚠️ Warning (incomplete) | ℹ️ Info (notable)
44
+
45
+ ---
46
+
47
+ ## Stub Detection Reference Patterns
48
+
49
+ ### React Component Stubs
50
+
51
+ ```javascript
52
+ // RED FLAGS:
53
+ return <div>Component</div>
54
+ return <div>Placeholder</div>
55
+ return <div>{/* TODO */}</div>
56
+ return null
57
+ return <></>
58
+
59
+ // Empty handlers:
60
+ onClick={() => {}}
61
+ onChange={() => console.log('clicked')}
62
+ onSubmit={(e) => e.preventDefault()} // Only prevents default
63
+ ```
64
+
65
+ ### API Route Stubs
66
+
67
+ ```typescript
68
+ // RED FLAGS:
69
+ export async function POST() {
70
+ return Response.json({ message: "Not implemented" });
71
+ }
72
+
73
+ export async function GET() {
74
+ return Response.json([]); // Empty array with no DB query
75
+ }
76
+ ```
77
+
78
+ ### Wiring Red Flags
79
+
80
+ ```typescript
81
+ // Fetch exists but response ignored:
82
+ fetch('/api/messages') // No await, no .then, no assignment
83
+
84
+ // Query exists but result not returned:
85
+ await prisma.message.findMany()
86
+ return Response.json({ ok: true }) // Returns static, not query result
87
+
88
+ // Handler only prevents default:
89
+ onSubmit={(e) => e.preventDefault()}
90
+
91
+ // State exists but not rendered:
92
+ const [messages, setMessages] = useState([])
93
+ return <div>No messages</div> // Always shows "no messages"
94
+ ```
@@ -0,0 +1,69 @@
1
+ # Verifier — Observable Truths + 3-Level Artifact Verification (Steps 3–4)
2
+
3
+ ## Step 3: Verify Observable Truths
4
+
5
+ For each truth, determine if codebase enables it.
6
+
7
+ **Verification status:**
8
+
9
+ - ✓ VERIFIED: All supporting artifacts pass all checks
10
+ - ✗ FAILED: One or more artifacts missing, stub, or unwired
11
+ - ? UNCERTAIN: Can't verify programmatically (needs human)
12
+
13
+ For each truth:
14
+
15
+ 1. Identify supporting artifacts
16
+ 2. Check artifact status (Step 4)
17
+ 3. Check wiring status (Step 5)
18
+ 4. Determine truth status
19
+
20
+ ## Step 4: Verify Artifacts (Three Levels)
21
+
22
+ Use rihal-tools for artifact verification against must_haves in PLAN frontmatter:
23
+
24
+ ```bash
25
+ ARTIFACT_RESULT=$(node ".rihal/bin/rihal-tools.cjs" verify artifacts "$PLAN_PATH")
26
+ ```
27
+
28
+ Parse JSON result: `{ all_passed, passed, total, artifacts: [{path, exists, issues, passed}] }`
29
+
30
+ For each artifact in result:
31
+ - `exists=false` → MISSING
32
+ - `issues` contains "Only N lines" or "Missing pattern" → STUB
33
+ - `passed=true` → VERIFIED
34
+
35
+ ### Artifact status mapping
36
+
37
+ | exists | issues empty | Status |
38
+ | ------ | ------------ | ----------- |
39
+ | true | true | ✓ VERIFIED |
40
+ | true | false | ✗ STUB |
41
+ | false | - | ✗ MISSING |
42
+
43
+ ### Wiring verification (Level 3)
44
+
45
+ For artifacts that pass Levels 1-2, check imports/usage manually:
46
+
47
+ ```bash
48
+ # Import check
49
+ grep -r "import.*$artifact_name" "${search_path:-src/}" --include="*.ts" --include="*.tsx" 2>/dev/null | wc -l
50
+
51
+ # Usage check (beyond imports)
52
+ grep -r "$artifact_name" "${search_path:-src/}" --include="*.ts" --include="*.tsx" 2>/dev/null | grep -v "import" | wc -l
53
+ ```
54
+
55
+ **Wiring status:**
56
+ - WIRED: Imported AND used
57
+ - ORPHANED: Exists but not imported/used
58
+ - PARTIAL: Imported but not used (or vice versa)
59
+
60
+ ### Final Artifact Status (Levels 1-3)
61
+
62
+ | Exists | Substantive | Wired | Status |
63
+ | ------ | ----------- | ----- | ----------- |
64
+ | ✓ | ✓ | ✓ | ✓ VERIFIED |
65
+ | ✓ | ✓ | ✗ | ⚠️ ORPHANED |
66
+ | ✓ | ✗ | - | ✗ STUB |
67
+ | ✗ | - | - | ✗ MISSING |
68
+
69
+ For Level 4 (data flow), see `data-flow-trace.md`.
@@ -0,0 +1,49 @@
1
+ # Verifier — Behavioral Spot-Checks (Step 7b)
2
+
3
+ Anti-pattern scanning checks for code smells. Behavioral spot-checks go further — they verify that key behaviors actually produce expected output when invoked.
4
+
5
+ **When to run:** For phases that produce runnable code (APIs, CLI tools, build scripts, data pipelines). Skip for documentation-only or config-only phases.
6
+
7
+ ## How
8
+
9
+ ### 1. Identify checkable behaviors
10
+
11
+ From must-haves truths. Select 2-4 that can be tested with a single command:
12
+
13
+ ```bash
14
+ # API endpoint returns non-empty data
15
+ curl -s http://localhost:$PORT/api/$ENDPOINT 2>/dev/null | node -e "let b='';process.stdin.setEncoding('utf8');process.stdin.on('data',c=>b+=c);process.stdin.on('end',()=>{const d=JSON.parse(b);process.exit(Array.isArray(d)?(d.length>0?0:1):(Object.keys(d).length>0?0:1))})"
16
+
17
+ # CLI command produces expected output
18
+ node $CLI_PATH --help 2>&1 | grep -q "$EXPECTED_SUBCOMMAND"
19
+
20
+ # Build produces output files
21
+ ls $BUILD_OUTPUT_DIR/*.{js,css} 2>/dev/null | wc -l
22
+
23
+ # Module exports expected functions
24
+ node -e "const m = require('$MODULE_PATH'); console.log(typeof m.$FUNCTION_NAME)" 2>/dev/null | grep -q "function"
25
+
26
+ # Test suite passes (if tests exist for this phase's code)
27
+ npm test -- --grep "$PHASE_TEST_PATTERN" 2>&1 | grep -q "passing"
28
+ ```
29
+
30
+ ### 2. Run each check
31
+
32
+ Record pass/fail:
33
+
34
+ | Behavior | Command | Result | Status |
35
+ | -------- | ------- | ------ | ------ |
36
+ | {truth} | {command} | {output} | ✓ PASS / ✗ FAIL / ? SKIP |
37
+
38
+ ### 3. Classification
39
+
40
+ - ✓ PASS: Command succeeded and output matches expected
41
+ - ✗ FAIL: Command failed or output is empty/wrong — flag as gap
42
+ - ? SKIP: Can't test without running server/external service — route to human verification (Step 8)
43
+
44
+ ## Constraints
45
+
46
+ - Each check must complete in under 10 seconds
47
+ - Do not start servers or services — only test what's already runnable
48
+ - Do not modify state (no writes, no mutations, no side effects)
49
+ - If the project has no runnable entry points yet, skip with: "Step 7b: SKIPPED (no runnable entry points)"
@@ -0,0 +1,84 @@
1
+ # Verifier — Context Loading (Steps 0–2)
2
+
3
+ ## Step 0: Check for Previous Verification
4
+
5
+ ```bash
6
+ cat "$PHASE_DIR"/*-VERIFICATION.md 2>/dev/null
7
+ ```
8
+
9
+ **If previous verification exists with `gaps:` section → RE-VERIFICATION MODE:**
10
+
11
+ 1. Parse previous VERIFICATION.md frontmatter
12
+ 2. Extract `must_haves` (truths, artifacts, key_links)
13
+ 3. Extract `gaps` (items that failed)
14
+ 4. Set `is_re_verification = true`
15
+ 5. **Skip to Step 3** with optimization:
16
+ - **Failed items:** Full 3-level verification (exists, substantive, wired)
17
+ - **Passed items:** Quick regression check (existence + basic sanity only)
18
+
19
+ **If no previous verification OR no `gaps:` section → INITIAL MODE:**
20
+
21
+ Set `is_re_verification = false`, proceed with Step 1.
22
+
23
+ ## Step 1: Load Context (Initial Mode Only)
24
+
25
+ ```bash
26
+ ls "$PHASE_DIR"/*-SPRINT.md 2>/dev/null
27
+ ls "$PHASE_DIR"/*-SUMMARY.md 2>/dev/null
28
+ node ".rihal/bin/rihal-tools.cjs" roadmap get-phase "$PHASE_NUM"
29
+ grep -E "^| $PHASE_NUM" .rihal/REQUIREMENTS.md 2>/dev/null
30
+ ```
31
+
32
+ Extract phase goal from ROADMAP.md — this is the outcome to verify, not the tasks.
33
+
34
+ ## Step 2: Establish Must-Haves (Initial Mode Only)
35
+
36
+ In re-verification mode, must-haves come from Step 0.
37
+
38
+ ### Option A: Must-haves in PLAN frontmatter
39
+
40
+ ```bash
41
+ grep -l "must_haves:" "$PHASE_DIR"/*-SPRINT.md 2>/dev/null
42
+ ```
43
+
44
+ If found, extract and use:
45
+
46
+ ```yaml
47
+ must_haves:
48
+ truths:
49
+ - "User can see existing messages"
50
+ - "User can send a message"
51
+ artifacts:
52
+ - path: "src/components/Chat.tsx"
53
+ provides: "Message list rendering"
54
+ key_links:
55
+ - from: "Chat.tsx"
56
+ to: "api/chat"
57
+ via: "fetch in useEffect"
58
+ ```
59
+
60
+ ### Option B: Use Success Criteria from ROADMAP.md
61
+
62
+ If no must_haves in frontmatter, check for Success Criteria:
63
+
64
+ ```bash
65
+ PHASE_DATA=$(node ".rihal/bin/rihal-tools.cjs" roadmap get-phase "$PHASE_NUM" --raw)
66
+ ```
67
+
68
+ Parse the `success_criteria` array from the JSON output. If non-empty:
69
+ 1. **Use each Success Criterion directly as a truth** (they are already observable, testable behaviors)
70
+ 2. **Derive artifacts:** For each truth, "What must EXIST?" — map to concrete file paths
71
+ 3. **Derive key links:** For each artifact, "What must be CONNECTED?" — this is where stubs hide
72
+ 4. **Document must-haves** before proceeding
73
+
74
+ Success Criteria from ROADMAP.md are the contract — they take priority over Goal-derived truths.
75
+
76
+ ### Option C: Derive from phase goal (fallback)
77
+
78
+ If no must_haves in frontmatter AND no Success Criteria in ROADMAP:
79
+
80
+ 1. **State the goal** from ROADMAP.md
81
+ 2. **Derive truths:** "What must be TRUE?" — list 3-7 observable, testable behaviors
82
+ 3. **Derive artifacts:** For each truth, "What must EXIST?" — map to concrete file paths
83
+ 4. **Derive key links:** For each artifact, "What must be CONNECTED?" — this is where stubs hide
84
+ 5. **Document derived must-haves** before proceeding