@hanzlaa/rcode 3.3.0 → 3.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (278) hide show
  1. package/CONTRIBUTING.md +9 -9
  2. package/README.md +50 -50
  3. package/cli/context.js +4 -4
  4. package/cli/doctor.js +1 -1
  5. package/cli/generate-command-skills.cjs +10 -10
  6. package/cli/install.js +11 -11
  7. package/cli/lib/memory-bank.cjs +5 -5
  8. package/cli/set-mode.js +2 -2
  9. package/cli/uninstall.js +5 -5
  10. package/dist/rcode.js +15 -15
  11. package/package.json +1 -1
  12. package/rihal/DOCS-AUDIT.md +1 -1
  13. package/rihal/agents/rihal-ahmed.md +1 -1
  14. package/rihal/agents/rihal-codebase-mapper.md +3 -3
  15. package/rihal/agents/rihal-debugger.md +2 -2
  16. package/rihal/agents/rihal-fatima.md +2 -2
  17. package/rihal/agents/rihal-haitham.md +2 -2
  18. package/rihal/agents/rihal-khalid.md +1 -1
  19. package/rihal/agents/rihal-layla.md +1 -1
  20. package/rihal/agents/rihal-nasser.md +1 -1
  21. package/rihal/agents/rihal-noor.md +1 -1
  22. package/rihal/agents/rihal-nyquist-auditor.md +1 -1
  23. package/rihal/agents/rihal-omar.md +1 -1
  24. package/rihal/agents/rihal-phase-researcher.md +3 -3
  25. package/rihal/agents/rihal-planner.md +1 -1
  26. package/rihal/agents/rihal-project-researcher.md +2 -2
  27. package/rihal/agents/rihal-research-synthesizer.md +3 -3
  28. package/rihal/agents/rihal-roadmapper.md +3 -3
  29. package/rihal/agents/rihal-sadiq.md +1 -1
  30. package/rihal/agents/rihal-sprint-checker.md +3 -3
  31. package/rihal/agents/rihal-verifier.md +2 -2
  32. package/rihal/agents/rihal-waleed.md +1 -1
  33. package/rihal/agents/rihal-yousef.md +2 -2
  34. package/rihal/agents/rihal-zahra.md +1 -1
  35. package/rihal/agents/rihal-zayd.md +1 -1
  36. package/rihal/agents/rules/phase-researcher/detailed-guide.md +1 -1
  37. package/rihal/agents/rules/roadmapper/detailed-guide.md +1 -1
  38. package/rihal/agents/rules/sprint-checker/dimensions.md +3 -3
  39. package/rihal/agents/rules/sprint-checker/process.md +2 -2
  40. package/rihal/agents/rules/verifier/gap-output.md +1 -1
  41. package/rihal/agents/rules/verifier/verification-report.md +1 -1
  42. package/rihal/bin/rihal-hooks.cjs +6 -6
  43. package/rihal/bin/rihal-tools.cjs +60 -23
  44. package/rihal/brain/README.md +2 -2
  45. package/rihal/brain/best-practices/no-autonomous-bypass.md +2 -2
  46. package/rihal/brain/best-practices/research-citation-rule.md +1 -1
  47. package/rihal/brain/best-practices/state-sync-rule.md +4 -4
  48. package/rihal/commands/add-phase.md +1 -1
  49. package/rihal/commands/add-tests.md +1 -1
  50. package/rihal/commands/add-todo.md +1 -1
  51. package/rihal/commands/analyze-dependencies.md +1 -1
  52. package/rihal/commands/audit-fix.md +1 -1
  53. package/rihal/commands/audit-milestone.md +1 -1
  54. package/rihal/commands/audit-uat.md +1 -1
  55. package/rihal/commands/audit.md +1 -1
  56. package/rihal/commands/autonomous.md +1 -1
  57. package/rihal/commands/brainstorm.md +1 -1
  58. package/rihal/commands/chain.md +1 -1
  59. package/rihal/commands/check-todos.md +1 -1
  60. package/rihal/commands/checkpoint-preview.md +1 -1
  61. package/rihal/commands/cleanup.md +2 -2
  62. package/rihal/commands/code-review-fix.md +1 -1
  63. package/rihal/commands/code-review.md +1 -1
  64. package/rihal/commands/complete-milestone.md +1 -1
  65. package/rihal/commands/config.md +2 -2
  66. package/rihal/commands/correct-course.md +1 -1
  67. package/rihal/commands/council.md +1 -1
  68. package/rihal/commands/create-epics-and-stories.md +1 -1
  69. package/rihal/commands/create-story.md +2 -2
  70. package/rihal/commands/dashboard.md +1 -1
  71. package/rihal/commands/debug.md +1 -1
  72. package/rihal/commands/decisions.md +1 -1
  73. package/rihal/commands/dev-story.md +1 -1
  74. package/rihal/commands/diff.md +1 -1
  75. package/rihal/commands/discuss-phase.md +1 -1
  76. package/rihal/commands/discuss.md +2 -2
  77. package/rihal/commands/do.md +2 -2
  78. package/rihal/commands/docs-update.md +1 -1
  79. package/rihal/commands/document-project.md +1 -1
  80. package/rihal/commands/enable-hooks.md +1 -1
  81. package/rihal/commands/execute-sprint.md +2 -2
  82. package/rihal/commands/execute.md +1 -1
  83. package/rihal/commands/explore.md +1 -1
  84. package/rihal/commands/export-to-github.md +1 -1
  85. package/rihal/commands/forensics.md +1 -1
  86. package/rihal/commands/from-template.md +1 -1
  87. package/rihal/commands/health.md +1 -1
  88. package/rihal/commands/help.md +1 -1
  89. package/rihal/commands/import.md +1 -1
  90. package/rihal/commands/inbox.md +1 -1
  91. package/rihal/commands/init.md +1 -1
  92. package/rihal/commands/insert-phase.md +1 -1
  93. package/rihal/commands/install.md +1 -1
  94. package/rihal/commands/list-plans.md +1 -1
  95. package/rihal/commands/list-workspaces.md +1 -1
  96. package/rihal/commands/map-codebase.md +1 -1
  97. package/rihal/commands/milestone-summary.md +1 -1
  98. package/rihal/commands/new-milestone.md +1 -1
  99. package/rihal/commands/new-project.md +1 -1
  100. package/rihal/commands/new-workspace.md +1 -1
  101. package/rihal/commands/next.md +1 -1
  102. package/rihal/commands/note.md +1 -1
  103. package/rihal/commands/notify-test.md +1 -1
  104. package/rihal/commands/pause-work.md +1 -1
  105. package/rihal/commands/plan-milestone-gaps.md +3 -3
  106. package/rihal/commands/plan.md +2 -2
  107. package/rihal/commands/plant-seed.md +1 -1
  108. package/rihal/commands/pr-branch.md +2 -2
  109. package/rihal/commands/prfaq.md +1 -1
  110. package/rihal/commands/profile-user.md +1 -1
  111. package/rihal/commands/progress.md +3 -3
  112. package/rihal/commands/quick.md +1 -1
  113. package/rihal/commands/remove-phase.md +1 -1
  114. package/rihal/commands/remove-workspace.md +1 -1
  115. package/rihal/commands/replay.md +1 -1
  116. package/rihal/commands/rerun.md +1 -1
  117. package/rihal/commands/research-phase.md +2 -2
  118. package/rihal/commands/resume-work.md +1 -1
  119. package/rihal/commands/review.md +1 -1
  120. package/rihal/commands/scan.md +1 -1
  121. package/rihal/commands/secure-phase.md +1 -1
  122. package/rihal/commands/session-report.md +1 -1
  123. package/rihal/commands/settings.md +1 -1
  124. package/rihal/commands/ship.md +2 -2
  125. package/rihal/commands/show.md +1 -1
  126. package/rihal/commands/sprint-planning.md +1 -1
  127. package/rihal/commands/sprint-status.md +1 -1
  128. package/rihal/commands/stats.md +1 -1
  129. package/rihal/commands/status.md +1 -1
  130. package/rihal/commands/ui-phase.md +1 -1
  131. package/rihal/commands/ui-review.md +1 -1
  132. package/rihal/commands/undo.md +1 -1
  133. package/rihal/commands/update.md +1 -1
  134. package/rihal/commands/validate-phase.md +1 -1
  135. package/rihal/commands/verify-phase.md +2 -2
  136. package/rihal/commands/verify-work.md +1 -1
  137. package/rihal/commands/why.md +1 -1
  138. package/rihal/commands/workstream.md +1 -1
  139. package/rihal/references/agent-shared-rules.md +1 -1
  140. package/rihal/references/command-redirect-format.md +7 -7
  141. package/rihal/references/context-budget.md +2 -2
  142. package/rihal/references/continuation-format.md +16 -16
  143. package/rihal/references/dispatch-banner.md +1 -1
  144. package/rihal/references/execution-protocol.md +2 -2
  145. package/rihal/references/gates.md +3 -3
  146. package/rihal/references/git-integration.md +1 -1
  147. package/rihal/references/output-format.md +4 -4
  148. package/rihal/references/output-realism.md +1 -1
  149. package/rihal/references/revision-loop.md +1 -1
  150. package/rihal/references/state-schema.md +15 -15
  151. package/rihal/references/ui-brand.md +1 -1
  152. package/rihal/references/verb-dictionary.md +15 -15
  153. package/rihal/references/workstream-flag.md +28 -28
  154. package/rihal/skills/_shared/no-autonomous-bypass.md +2 -2
  155. package/rihal/skills/_shared/research-citation-rule.md +1 -1
  156. package/rihal/skills/_shared/state-sync-rule.md +4 -4
  157. package/rihal/skills/actions/1-analysis/rihal-prfaq/SKILL.md +1 -1
  158. package/rihal/skills/actions/2-plan/rihal-create-epics-and-stories/workflow.md +1 -1
  159. package/rihal/skills/actions/2-plan/rihal-create-milestone/SKILL.md +2 -2
  160. package/rihal/skills/actions/2-plan/rihal-create-milestone/steps/step-06-phase-stubs.md +2 -2
  161. package/rihal/skills/actions/2-plan/rihal-create-milestone/steps/step-07-backlog.md +2 -2
  162. package/rihal/skills/actions/2-plan/rihal-create-milestone/steps/step-09-state-sync.md +2 -2
  163. package/rihal/skills/actions/2-plan/rihal-create-milestone/steps/step-10-complete.md +4 -4
  164. package/rihal/skills/actions/2-plan/rihal-create-milestone/workflow.md +5 -5
  165. package/rihal/skills/actions/2-plan/rihal-create-prd/SKILL.md +1 -1
  166. package/rihal/skills/actions/2-plan/rihal-create-prd/workflow.md +1 -1
  167. package/rihal/skills/actions/2-plan/rihal-create-story/workflow.md +1 -1
  168. package/rihal/skills/actions/4-implementation/rihal-checkpoint-preview/SKILL.md +3 -3
  169. package/rihal/skills/actions/4-implementation/rihal-dev-story/workflow.md +1 -1
  170. package/rihal/skills/actions/4-implementation/rihal-sprint-planning/SKILL.md +1 -1
  171. package/rihal/skills/actions/4-implementation/rihal-sprint-planning/checklist.md +1 -1
  172. package/rihal/skills/actions/4-implementation/rihal-sprint-planning/workflow.md +1 -1
  173. package/rihal/skills/actions/4-implementation/rihal-sprint-status/workflow.md +5 -5
  174. package/rihal/skills/agents/dalil-scout/SKILL.md +7 -7
  175. package/rihal/skills/core/rihal-brainstorming/SKILL.md +1 -1
  176. package/rihal/skills/core/rihal-init/SKILL.md +1 -1
  177. package/rihal/skills/core/rihal-party-mode/SKILL.md +1 -1
  178. package/rihal/templates/milestone.md +1 -1
  179. package/rihal/templates/projects/api-backend/PROJECT.md +1 -1
  180. package/rihal/templates/projects/mobile-app/PROJECT.md +1 -1
  181. package/rihal/templates/projects/saas-b2b/PROJECT.md +1 -1
  182. package/rihal/workflows/add-phase.md +10 -10
  183. package/rihal/workflows/add-tests.md +9 -9
  184. package/rihal/workflows/add-todo.md +5 -5
  185. package/rihal/workflows/analyze-dependencies.md +7 -7
  186. package/rihal/workflows/audit-fix.md +4 -4
  187. package/rihal/workflows/audit-milestone.md +8 -8
  188. package/rihal/workflows/audit-uat.md +2 -2
  189. package/rihal/workflows/audit.md +28 -28
  190. package/rihal/workflows/autonomous.md +128 -44
  191. package/rihal/workflows/brainstorm.md +7 -7
  192. package/rihal/workflows/chain.md +16 -16
  193. package/rihal/workflows/check-implementation-readiness.md +4 -4
  194. package/rihal/workflows/check-todos.md +8 -8
  195. package/rihal/workflows/checkpoint-preview.md +1 -1
  196. package/rihal/workflows/code-review-fix.md +10 -10
  197. package/rihal/workflows/code-review.md +10 -10
  198. package/rihal/workflows/complete-milestone.md +5 -5
  199. package/rihal/workflows/correct-course.md +7 -7
  200. package/rihal/workflows/council.md +15 -15
  201. package/rihal/workflows/create-epics-and-stories.md +9 -9
  202. package/rihal/workflows/create-story.md +11 -11
  203. package/rihal/workflows/dashboard.md +8 -8
  204. package/rihal/workflows/debug.md +6 -6
  205. package/rihal/workflows/decisions.md +5 -5
  206. package/rihal/workflows/dev-story.md +12 -12
  207. package/rihal/workflows/diagnose-issues.md +2 -2
  208. package/rihal/workflows/diff.md +3 -3
  209. package/rihal/workflows/discuss-phase-power.md +7 -7
  210. package/rihal/workflows/discuss-phase.md +14 -14
  211. package/rihal/workflows/discuss.md +9 -9
  212. package/rihal/workflows/do.md +79 -79
  213. package/rihal/workflows/docs-update.md +6 -6
  214. package/rihal/workflows/document-project.md +5 -5
  215. package/rihal/workflows/enable-hooks.md +5 -5
  216. package/rihal/workflows/execute-sprint.md +3 -3
  217. package/rihal/workflows/execute.md +28 -28
  218. package/rihal/workflows/explore.md +5 -5
  219. package/rihal/workflows/export-to-github.md +5 -5
  220. package/rihal/workflows/forensics.md +8 -8
  221. package/rihal/workflows/from-template.md +8 -8
  222. package/rihal/workflows/health.md +11 -11
  223. package/rihal/workflows/help.md +117 -117
  224. package/rihal/workflows/import.md +4 -4
  225. package/rihal/workflows/inbox.md +8 -8
  226. package/rihal/workflows/init.md +23 -23
  227. package/rihal/workflows/insert-phase.md +9 -9
  228. package/rihal/workflows/install.md +3 -3
  229. package/rihal/workflows/karpathy-audit.md +11 -11
  230. package/rihal/workflows/list-plans.md +8 -8
  231. package/rihal/workflows/list-workspaces.md +7 -7
  232. package/rihal/workflows/map-codebase.md +5 -5
  233. package/rihal/workflows/milestone-summary.md +7 -7
  234. package/rihal/workflows/new-milestone.md +11 -11
  235. package/rihal/workflows/new-project-research.md +1 -1
  236. package/rihal/workflows/new-project-roadmap.md +8 -8
  237. package/rihal/workflows/new-project.md +32 -32
  238. package/rihal/workflows/new-workspace.md +7 -7
  239. package/rihal/workflows/next.md +13 -13
  240. package/rihal/workflows/note.md +7 -7
  241. package/rihal/workflows/notify-test.md +6 -6
  242. package/rihal/workflows/pause-work.md +6 -6
  243. package/rihal/workflows/plan-milestone-gaps.md +7 -7
  244. package/rihal/workflows/plan.md +28 -28
  245. package/rihal/workflows/plant-seed.md +3 -3
  246. package/rihal/workflows/pr-branch.md +1 -1
  247. package/rihal/workflows/prfaq.md +1 -1
  248. package/rihal/workflows/profile-user.md +5 -5
  249. package/rihal/workflows/progress.md +6 -6
  250. package/rihal/workflows/quick.md +12 -12
  251. package/rihal/workflows/remove-phase.md +6 -6
  252. package/rihal/workflows/remove-workspace.md +8 -8
  253. package/rihal/workflows/replay.md +8 -8
  254. package/rihal/workflows/rerun.md +5 -5
  255. package/rihal/workflows/research-phase.md +2 -2
  256. package/rihal/workflows/resume-work.md +10 -10
  257. package/rihal/workflows/review-adversarial.md +4 -4
  258. package/rihal/workflows/review-edge-case-hunter.md +5 -5
  259. package/rihal/workflows/review.md +11 -11
  260. package/rihal/workflows/scan.md +9 -9
  261. package/rihal/workflows/secure-phase.md +8 -8
  262. package/rihal/workflows/session-report.md +6 -6
  263. package/rihal/workflows/settings.md +15 -15
  264. package/rihal/workflows/ship.md +11 -11
  265. package/rihal/workflows/show.md +2 -2
  266. package/rihal/workflows/sprint-planning.md +13 -13
  267. package/rihal/workflows/sprint-status.md +10 -10
  268. package/rihal/workflows/stats.md +6 -6
  269. package/rihal/workflows/status.md +15 -7
  270. package/rihal/workflows/ui-phase.md +8 -8
  271. package/rihal/workflows/ui-review.md +5 -5
  272. package/rihal/workflows/undo.md +17 -17
  273. package/rihal/workflows/update.md +12 -12
  274. package/rihal/workflows/validate-phase.md +5 -5
  275. package/rihal/workflows/verify-work.md +18 -18
  276. package/rihal/workflows/why.md +9 -9
  277. package/rihal/workflows/workstream.md +11 -11
  278. package/server/lib/html/client.js +45 -45
@@ -4,15 +4,15 @@ Explain the reasoning behind a Rihal decision: why this panel was selected, why
4
4
 
5
5
  ## Step 0: Usage Check
6
6
 
7
- Verify non-empty argument: `/rihal:why <topic-or-question>`
7
+ Verify non-empty argument: `/rihal-why <topic-or-question>`
8
8
 
9
9
  Examples:
10
- - `/rihal:why should I use waleed for this question`
11
- - `/rihal:why did it classify as codebase`
12
- - `/rihal:why did we deviate from the plan`
13
- - `/rihal:why choose this tech stack`
10
+ - `/rihal-why should I use waleed for this question`
11
+ - `/rihal-why did it classify as codebase`
12
+ - `/rihal-why did we deviate from the plan`
13
+ - `/rihal-why choose this tech stack`
14
14
 
15
- If empty: `Usage: /rihal:why <topic-or-question>`
15
+ If empty: `Usage: /rihal-why <topic-or-question>`
16
16
 
17
17
  ## Step 1: Detect What User Is Asking About
18
18
 
@@ -114,7 +114,7 @@ If found:
114
114
  **Next decision point:** {decision.next_checkpoint}
115
115
  ```
116
116
 
117
- If not found: `No recorded decision matches "{ARGUMENTS}". Use /rihal:progress to see recent context.`
117
+ If not found: `No recorded decision matches "{ARGUMENTS}". Use /rihal-progress to see recent context.`
118
118
 
119
119
  ## Success Criteria
120
120
 
@@ -126,5 +126,5 @@ If not found: `No recorded decision matches "{ARGUMENTS}". Use /rihal:progress t
126
126
  ## On Error
127
127
 
128
128
  - rihal-tools error → Show error message
129
- - state.json missing → `State not initialized. Run /rihal:new-project first.`
130
- - No match found → Suggest `/rihal:progress` for context
129
+ - state.json missing → `State not initialized. Run /rihal-new-project first.`
130
+ - No match found → Suggest `/rihal-progress` for context
@@ -1,4 +1,4 @@
1
- # Workflow: rihal:workstream
1
+ # Workflow: rihal-workstream
2
2
 
3
3
  <purpose>
4
4
  Manage parallel workstreams (milestone tracks) in Rihal. A workstream is an independent execution path with its own phases and tasks. Multiple workstreams can run in parallel, sharing decisions, blockers, and council sessions. This workflow handles creation, switching, listing, and completion of workstreams stored in state.json.
@@ -16,20 +16,20 @@ If `$ARGUMENTS` is empty or contains only `--help` or `-h`:
16
16
 
17
17
  **Usage:**
18
18
  ```
19
- /rihal:workstream create --name <name>
20
- /rihal:workstream switch --name <name>
21
- /rihal:workstream list
22
- /rihal:workstream status
23
- /rihal:workstream complete --name <name>
19
+ /rihal-workstream create --name <name>
20
+ /rihal-workstream switch --name <name>
21
+ /rihal-workstream list
22
+ /rihal-workstream status
23
+ /rihal-workstream complete --name <name>
24
24
  ```
25
25
 
26
26
  **Examples:**
27
27
  ```
28
- /rihal:workstream create --name "Frontend Redesign"
29
- /rihal:workstream switch --name "Frontend Redesign"
30
- /rihal:workstream list
31
- /rihal:workstream status
32
- /rihal:workstream complete --name "Backend Migration"
28
+ /rihal-workstream create --name "Frontend Redesign"
29
+ /rihal-workstream switch --name "Frontend Redesign"
30
+ /rihal-workstream list
31
+ /rihal-workstream status
32
+ /rihal-workstream complete --name "Backend Migration"
33
33
  ```
34
34
 
35
35
  Only after the user provides arguments, proceed to Step 1.
@@ -106,26 +106,26 @@ function sprintHints(s) {
106
106
  const pid = s.phaseId || '';
107
107
  const h = [];
108
108
  if (st === 'completed' || st === 'complete' || st === 'done') {
109
- h.push(cmdHint('/rihal:verify-work', 'Verify UAT for Sprint ' + sid));
110
- h.push(cmdHint('/rihal:audit', 'Audit completed Sprint ' + sid));
111
- h.push(cmdHint('/rihal:session-report', 'Generate session report'));
112
- h.push(cmdHint('/rihal:code-review', 'Review code from Sprint ' + sid));
109
+ h.push(cmdHint('/rihal-verify-work', 'Verify UAT for Sprint ' + sid));
110
+ h.push(cmdHint('/rihal-audit', 'Audit completed Sprint ' + sid));
111
+ h.push(cmdHint('/rihal-session-report', 'Generate session report'));
112
+ h.push(cmdHint('/rihal-code-review', 'Review code from Sprint ' + sid));
113
113
  } else if (st === 'active' || st === 'in_progress') {
114
- h.push(cmdHint('/rihal:progress', 'Check Sprint ' + sid + ' progress'));
115
- h.push(cmdHint('/rihal:sprint-status', 'Status report for Sprint ' + sid));
116
- h.push(cmdHint('/rihal:pause-work', 'Pause and save context'));
114
+ h.push(cmdHint('/rihal-progress', 'Check Sprint ' + sid + ' progress'));
115
+ h.push(cmdHint('/rihal-sprint-status', 'Status report for Sprint ' + sid));
116
+ h.push(cmdHint('/rihal-pause-work', 'Pause and save context'));
117
117
  } else if (st === 'blocked') {
118
- h.push(cmdHint('/rihal:debug', 'Debug blocker in Sprint ' + sid));
119
- h.push(cmdHint('/rihal:correct-course', 'Course-correct Sprint ' + sid));
118
+ h.push(cmdHint('/rihal-debug', 'Debug blocker in Sprint ' + sid));
119
+ h.push(cmdHint('/rihal-correct-course', 'Course-correct Sprint ' + sid));
120
120
  } else {
121
121
  if (!stories.length) {
122
- h.push(cmdHint('/rihal:sprint-planning', 'Groom Sprint ' + sid + ' — add stories'));
123
- h.push(cmdHint('/rihal:create-story', 'Create a story for Sprint ' + sid));
124
- h.push(cmdHint('/rihal:discuss-phase', 'Discuss approach before planning'));
122
+ h.push(cmdHint('/rihal-sprint-planning', 'Groom Sprint ' + sid + ' — add stories'));
123
+ h.push(cmdHint('/rihal-create-story', 'Create a story for Sprint ' + sid));
124
+ h.push(cmdHint('/rihal-discuss-phase', 'Discuss approach before planning'));
125
125
  } else {
126
- h.push(cmdHint('/rihal:execute', 'Execute Sprint ' + sid));
127
- h.push(cmdHint('/rihal:discuss-phase', 'Discuss before executing'));
128
- h.push(cmdHint('/rihal:sprint-planning', 'Refine Sprint ' + sid + ' plan'));
126
+ h.push(cmdHint('/rihal-execute', 'Execute Sprint ' + sid));
127
+ h.push(cmdHint('/rihal-discuss-phase', 'Discuss before executing'));
128
+ h.push(cmdHint('/rihal-sprint-planning', 'Refine Sprint ' + sid + ' plan'));
129
129
  }
130
130
  }
131
131
  return h;
@@ -136,21 +136,21 @@ function phaseHints(p) {
136
136
  const pid = p.id || '';
137
137
  const h = [];
138
138
  if (st === 'completed' || st === 'complete' || st === 'done') {
139
- h.push(cmdHint('/rihal:validate-phase', 'Validate Phase ' + pid + ' deliverables'));
140
- h.push(cmdHint('/rihal:audit', 'Audit Phase ' + pid + ' completion'));
141
- h.push(cmdHint('/rihal:code-review', 'Review Phase ' + pid + ' code'));
139
+ h.push(cmdHint('/rihal-validate-phase', 'Validate Phase ' + pid + ' deliverables'));
140
+ h.push(cmdHint('/rihal-audit', 'Audit Phase ' + pid + ' completion'));
141
+ h.push(cmdHint('/rihal-code-review', 'Review Phase ' + pid + ' code'));
142
142
  } else if (st === 'active' || st === 'in_progress') {
143
- h.push(cmdHint('/rihal:progress', 'Check Phase ' + pid + ' progress'));
144
- h.push(cmdHint('/rihal:sprint-status', 'Current sprint status'));
145
- h.push(cmdHint('/rihal:code-review', 'Review code in Phase ' + pid));
143
+ h.push(cmdHint('/rihal-progress', 'Check Phase ' + pid + ' progress'));
144
+ h.push(cmdHint('/rihal-sprint-status', 'Current sprint status'));
145
+ h.push(cmdHint('/rihal-code-review', 'Review code in Phase ' + pid));
146
146
  } else {
147
147
  if (!sps.length) {
148
- h.push(cmdHint('/rihal:plan', 'Create sprint plan for Phase ' + pid));
149
- h.push(cmdHint('/rihal:discuss-phase', 'Discuss Phase ' + pid + ' approach'));
150
- h.push(cmdHint('/rihal:research-phase', 'Research Phase ' + pid + ' before planning'));
148
+ h.push(cmdHint('/rihal-plan', 'Create sprint plan for Phase ' + pid));
149
+ h.push(cmdHint('/rihal-discuss-phase', 'Discuss Phase ' + pid + ' approach'));
150
+ h.push(cmdHint('/rihal-research-phase', 'Research Phase ' + pid + ' before planning'));
151
151
  } else {
152
- h.push(cmdHint('/rihal:execute', 'Start executing Phase ' + pid));
153
- h.push(cmdHint('/rihal:sprint-planning', 'Plan next sprint in Phase ' + pid));
152
+ h.push(cmdHint('/rihal-execute', 'Start executing Phase ' + pid));
153
+ h.push(cmdHint('/rihal-sprint-planning', 'Plan next sprint in Phase ' + pid));
154
154
  }
155
155
  }
156
156
  return h;
@@ -277,7 +277,7 @@ function renderOverview() {
277
277
 
278
278
  const el = document.getElementById('view-overview-dynamic');
279
279
  // Overview hints
280
- var oHints = [cmdHint('/rihal:next', 'What should I do next?'), cmdHint('/rihal:status', 'Quick project status'), cmdHint('/rihal:council', 'Ask the team a question')];
280
+ var oHints = [cmdHint('/rihal-next', 'What should I do next?'), cmdHint('/rihal-status', 'Quick project status'), cmdHint('/rihal-council', 'Ask the team a question')];
281
281
  if (curSprint) { oHints = sprintHints(curSprint).concat(oHints); }
282
282
  if (el) el.innerHTML = sprintProgressHtml + velocityHtml + councilHtml + chainsHtml + lastSessionHtml + cmdAccordion(oHints);
283
283
  }
@@ -334,9 +334,9 @@ function renderRoadmap() {
334
334
  }
335
335
  h += '</div></div></div>';
336
336
  // Roadmap hints
337
- var rmHints = [cmdHint('/rihal:add-phase', 'Add a new phase'), cmdHint('/rihal:milestone-summary', 'View milestone summary'), cmdHint('/rihal:new-milestone', 'Start a new milestone')];
337
+ var rmHints = [cmdHint('/rihal-add-phase', 'Add a new phase'), cmdHint('/rihal-milestone-summary', 'View milestone summary'), cmdHint('/rihal-new-milestone', 'Start a new milestone')];
338
338
  var allPDone = _phases.length > 0 && _phases.every(ph => ph.status === 'complete' || ph.status === 'completed' || ph.status === 'done');
339
- if (allPDone) { rmHints.push(cmdHint('/rihal:audit-milestone', 'Audit milestone completion')); rmHints.push(cmdHint('/rihal:complete-milestone', 'Complete and archive milestone')); }
339
+ if (allPDone) { rmHints.push(cmdHint('/rihal-audit-milestone', 'Audit milestone completion')); rmHints.push(cmdHint('/rihal-complete-milestone', 'Complete and archive milestone')); }
340
340
  document.getElementById('view-roadmap').innerHTML = h + cmdAccordion(rmHints);
341
341
  }
342
342
 
@@ -446,15 +446,15 @@ function renderPhases(subId) {
446
446
  velocityHtml +
447
447
  '<div class="view-title" style="margin-top:var(--space-6)">Sprints</div>' +
448
448
  '<div class="phase-list">' + (sps.length ? sps.map(s => sprintCard(Object.assign({},s,{phaseId:p.id,phaseName:p.name}))).join('') :
449
- '<div class="empty">No sprints in this phase yet.<div class="empty-action">Run /rihal:plan to create sprints</div></div>') + '</div>' +
449
+ '<div class="empty">No sprints in this phase yet.<div class="empty-action">Run /rihal-plan to create sprints</div></div>') + '</div>' +
450
450
  cmdAccordion(phaseHints(p));
451
451
  } else {
452
- var plHints = [cmdHint('/rihal:add-phase', 'Add a new phase'), cmdHint('/rihal:stats', 'Project statistics'), cmdHint('/rihal:progress', 'Overall progress')];
452
+ var plHints = [cmdHint('/rihal-add-phase', 'Add a new phase'), cmdHint('/rihal-stats', 'Project statistics'), cmdHint('/rihal-progress', 'Overall progress')];
453
453
  var allComplete = _phases.length > 0 && _phases.every(ph => ph.status === 'complete' || ph.status === 'completed' || ph.status === 'done');
454
- if (allComplete) { plHints.push(cmdHint('/rihal:audit-milestone', 'Audit milestone completion')); plHints.push(cmdHint('/rihal:complete-milestone', 'Complete and archive milestone')); plHints.push(cmdHint('/rihal:ship', 'Create PR and ship')); }
454
+ if (allComplete) { plHints.push(cmdHint('/rihal-audit-milestone', 'Audit milestone completion')); plHints.push(cmdHint('/rihal-complete-milestone', 'Complete and archive milestone')); plHints.push(cmdHint('/rihal-ship', 'Create PR and ship')); }
455
455
  el.innerHTML = '<div class="view-title">Phases</div>' + filterInput('phases-inner') +
456
456
  '<div id="phases-inner" class="phase-list">' +
457
- (_phases.length ? _phases.map(phaseCard).join('') : '<div class="empty">No phases yet.<div class="empty-action">Run /rihal:new-project to start</div></div>') + '</div>' + cmdAccordion(plHints);
457
+ (_phases.length ? _phases.map(phaseCard).join('') : '<div class="empty">No phases yet.<div class="empty-action">Run /rihal-new-project to start</div></div>') + '</div>' + cmdAccordion(plHints);
458
458
  }
459
459
  }
460
460
 
@@ -492,16 +492,16 @@ function renderSprints(subId) {
492
492
  '<div style="margin-bottom:var(--space-6);">' + progressBar(done, stories.length) + '</div>' +
493
493
  '<div class="view-title" style="margin-top:var(--space-6)">Tasks</div>' +
494
494
  '<div class="phase-list">' + (stories.length ? stories.map(taskCard).join('') :
495
- '<div class="empty">No tasks in this sprint yet.<div class="empty-action">Run /rihal:create-story to add tasks</div></div>') + '</div>' +
495
+ '<div class="empty">No tasks in this sprint yet.<div class="empty-action">Run /rihal-create-story to add tasks</div></div>') + '</div>' +
496
496
  acHtml + cmdAccordion(sprintHints(s));
497
497
  } else {
498
- var slHints = [cmdHint('/rihal:sprint-planning', 'Plan a new sprint'), cmdHint('/rihal:stats', 'Project statistics')];
498
+ var slHints = [cmdHint('/rihal-sprint-planning', 'Plan a new sprint'), cmdHint('/rihal-stats', 'Project statistics')];
499
499
  var curSp = sprints.find(sp => sp.id === S.currentSprint);
500
- if (curSp) { slHints.push(cmdHint('/rihal:execute', 'Execute current sprint ' + curSp.id)); slHints.push(cmdHint('/rihal:sprint-status', 'Status of Sprint ' + curSp.id)); }
500
+ if (curSp) { slHints.push(cmdHint('/rihal-execute', 'Execute current sprint ' + curSp.id)); slHints.push(cmdHint('/rihal-sprint-status', 'Status of Sprint ' + curSp.id)); }
501
501
  el.innerHTML = '<div class="view-title">Sprints</div>' + filterInput('sprints-inner') +
502
502
  '<div id="sprints-inner" class="phase-list">' +
503
503
  (sprints.length ? sprints.map(sprintCard).join('') :
504
- '<div class="empty">No sprints yet.<div class="empty-action">Run /rihal:plan to create sprints</div></div>') + '</div>' + cmdAccordion(slHints);
504
+ '<div class="empty">No sprints yet.<div class="empty-action">Run /rihal-plan to create sprints</div></div>') + '</div>' + cmdAccordion(slHints);
505
505
  }
506
506
  }
507
507
 
@@ -529,16 +529,16 @@ function renderTasks() {
529
529
  '<div id="tasks-inner" class="phase-list">' +
530
530
  renderTasksGrouped(tasks) + '</div>';
531
531
  // Task hints accordion
532
- var tHints = [cmdHint('/rihal:create-story', 'Add a new story/task'), cmdHint('/rihal:sprint-planning', 'Plan the next sprint')];
532
+ var tHints = [cmdHint('/rihal-create-story', 'Add a new story/task'), cmdHint('/rihal-sprint-planning', 'Plan the next sprint')];
533
533
  var allDone = tasks.length > 0 && tasks.every(t => t.status === 'done' || t.status === 'completed');
534
534
  var hasBlocked = tasks.some(t => t.status === 'blocked');
535
- if (allDone) { tHints.push(cmdHint('/rihal:verify-work', 'Verify all tasks pass UAT')); tHints.push(cmdHint('/rihal:audit-uat', 'Audit UAT coverage')); }
536
- if (hasBlocked) { tHints.push(cmdHint('/rihal:debug', 'Debug blocked tasks')); tHints.push(cmdHint('/rihal:correct-course', 'Course-correct blockers')); }
535
+ if (allDone) { tHints.push(cmdHint('/rihal-verify-work', 'Verify all tasks pass UAT')); tHints.push(cmdHint('/rihal-audit-uat', 'Audit UAT coverage')); }
536
+ if (hasBlocked) { tHints.push(cmdHint('/rihal-debug', 'Debug blocked tasks')); tHints.push(cmdHint('/rihal-correct-course', 'Course-correct blockers')); }
537
537
  el.innerHTML += cmdAccordion(tHints);
538
538
  }
539
539
 
540
540
  function renderTasksGrouped(tasks) {
541
- if (!tasks.length) return '<div class="empty">No tasks yet.<div class="empty-action">Run /rihal:create-story to add tasks</div></div>';
541
+ if (!tasks.length) return '<div class="empty">No tasks yet.<div class="empty-action">Run /rihal-create-story to add tasks</div></div>';
542
542
  const groups = {};
543
543
  for (const t of tasks) {
544
544
  const key = t.sprintId || 'unassigned';
@@ -720,7 +720,7 @@ function renderDecisions() {
720
720
  const decisions = S.decisions || [];
721
721
  if (!decisions.length) {
722
722
  el.innerHTML = '<div class="view-title">Decisions (ADRs)</div>' +
723
- '<div class="empty">No decisions recorded yet.<div class="empty-action">Decisions made during /rihal:council appear here</div></div>';
723
+ '<div class="empty">No decisions recorded yet.<div class="empty-action">Decisions made during /rihal-council appear here</div></div>';
724
724
  return;
725
725
  }
726
726
  // #307: group by phase
@@ -753,9 +753,9 @@ function renderDecisions() {
753
753
  }
754
754
  h += '</div>';
755
755
  el.innerHTML = h + cmdAccordion([
756
- cmdHint('/rihal:council', 'Convene the council for a new decision'),
757
- cmdHint('/rihal:discuss [agent] \"topic\"', 'Discuss with a specific expert'),
758
- cmdHint('/rihal:decisions', 'View decision log')
756
+ cmdHint('/rihal-council', 'Convene the council for a new decision'),
757
+ cmdHint('/rihal-discuss [agent] \"topic\"', 'Discuss with a specific expert'),
758
+ cmdHint('/rihal-decisions', 'View decision log')
759
759
  ]);
760
760
  }
761
761