@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.
- package/CONTRIBUTING.md +9 -9
- package/README.md +50 -50
- package/cli/context.js +4 -4
- package/cli/doctor.js +1 -1
- package/cli/generate-command-skills.cjs +10 -10
- package/cli/install.js +11 -11
- package/cli/lib/memory-bank.cjs +5 -5
- package/cli/set-mode.js +2 -2
- package/cli/uninstall.js +5 -5
- package/dist/rcode.js +15 -15
- package/package.json +1 -1
- package/rihal/DOCS-AUDIT.md +1 -1
- package/rihal/agents/rihal-ahmed.md +1 -1
- package/rihal/agents/rihal-codebase-mapper.md +3 -3
- package/rihal/agents/rihal-debugger.md +2 -2
- package/rihal/agents/rihal-fatima.md +2 -2
- package/rihal/agents/rihal-haitham.md +2 -2
- package/rihal/agents/rihal-khalid.md +1 -1
- package/rihal/agents/rihal-layla.md +1 -1
- package/rihal/agents/rihal-nasser.md +1 -1
- package/rihal/agents/rihal-noor.md +1 -1
- package/rihal/agents/rihal-nyquist-auditor.md +1 -1
- package/rihal/agents/rihal-omar.md +1 -1
- package/rihal/agents/rihal-phase-researcher.md +3 -3
- package/rihal/agents/rihal-planner.md +1 -1
- package/rihal/agents/rihal-project-researcher.md +2 -2
- package/rihal/agents/rihal-research-synthesizer.md +3 -3
- package/rihal/agents/rihal-roadmapper.md +3 -3
- package/rihal/agents/rihal-sadiq.md +1 -1
- package/rihal/agents/rihal-sprint-checker.md +3 -3
- package/rihal/agents/rihal-verifier.md +2 -2
- package/rihal/agents/rihal-waleed.md +1 -1
- package/rihal/agents/rihal-yousef.md +2 -2
- package/rihal/agents/rihal-zahra.md +1 -1
- package/rihal/agents/rihal-zayd.md +1 -1
- package/rihal/agents/rules/phase-researcher/detailed-guide.md +1 -1
- package/rihal/agents/rules/roadmapper/detailed-guide.md +1 -1
- package/rihal/agents/rules/sprint-checker/dimensions.md +3 -3
- package/rihal/agents/rules/sprint-checker/process.md +2 -2
- package/rihal/agents/rules/verifier/gap-output.md +1 -1
- package/rihal/agents/rules/verifier/verification-report.md +1 -1
- package/rihal/bin/rihal-hooks.cjs +6 -6
- package/rihal/bin/rihal-tools.cjs +60 -23
- package/rihal/brain/README.md +2 -2
- package/rihal/brain/best-practices/no-autonomous-bypass.md +2 -2
- package/rihal/brain/best-practices/research-citation-rule.md +1 -1
- package/rihal/brain/best-practices/state-sync-rule.md +4 -4
- package/rihal/commands/add-phase.md +1 -1
- package/rihal/commands/add-tests.md +1 -1
- package/rihal/commands/add-todo.md +1 -1
- package/rihal/commands/analyze-dependencies.md +1 -1
- package/rihal/commands/audit-fix.md +1 -1
- package/rihal/commands/audit-milestone.md +1 -1
- package/rihal/commands/audit-uat.md +1 -1
- package/rihal/commands/audit.md +1 -1
- package/rihal/commands/autonomous.md +1 -1
- package/rihal/commands/brainstorm.md +1 -1
- package/rihal/commands/chain.md +1 -1
- package/rihal/commands/check-todos.md +1 -1
- package/rihal/commands/checkpoint-preview.md +1 -1
- package/rihal/commands/cleanup.md +2 -2
- package/rihal/commands/code-review-fix.md +1 -1
- package/rihal/commands/code-review.md +1 -1
- package/rihal/commands/complete-milestone.md +1 -1
- package/rihal/commands/config.md +2 -2
- package/rihal/commands/correct-course.md +1 -1
- package/rihal/commands/council.md +1 -1
- package/rihal/commands/create-epics-and-stories.md +1 -1
- package/rihal/commands/create-story.md +2 -2
- package/rihal/commands/dashboard.md +1 -1
- package/rihal/commands/debug.md +1 -1
- package/rihal/commands/decisions.md +1 -1
- package/rihal/commands/dev-story.md +1 -1
- package/rihal/commands/diff.md +1 -1
- package/rihal/commands/discuss-phase.md +1 -1
- package/rihal/commands/discuss.md +2 -2
- package/rihal/commands/do.md +2 -2
- package/rihal/commands/docs-update.md +1 -1
- package/rihal/commands/document-project.md +1 -1
- package/rihal/commands/enable-hooks.md +1 -1
- package/rihal/commands/execute-sprint.md +2 -2
- package/rihal/commands/execute.md +1 -1
- package/rihal/commands/explore.md +1 -1
- package/rihal/commands/export-to-github.md +1 -1
- package/rihal/commands/forensics.md +1 -1
- package/rihal/commands/from-template.md +1 -1
- package/rihal/commands/health.md +1 -1
- package/rihal/commands/help.md +1 -1
- package/rihal/commands/import.md +1 -1
- package/rihal/commands/inbox.md +1 -1
- package/rihal/commands/init.md +1 -1
- package/rihal/commands/insert-phase.md +1 -1
- package/rihal/commands/install.md +1 -1
- package/rihal/commands/list-plans.md +1 -1
- package/rihal/commands/list-workspaces.md +1 -1
- package/rihal/commands/map-codebase.md +1 -1
- package/rihal/commands/milestone-summary.md +1 -1
- package/rihal/commands/new-milestone.md +1 -1
- package/rihal/commands/new-project.md +1 -1
- package/rihal/commands/new-workspace.md +1 -1
- package/rihal/commands/next.md +1 -1
- package/rihal/commands/note.md +1 -1
- package/rihal/commands/notify-test.md +1 -1
- package/rihal/commands/pause-work.md +1 -1
- package/rihal/commands/plan-milestone-gaps.md +3 -3
- package/rihal/commands/plan.md +2 -2
- package/rihal/commands/plant-seed.md +1 -1
- package/rihal/commands/pr-branch.md +2 -2
- package/rihal/commands/prfaq.md +1 -1
- package/rihal/commands/profile-user.md +1 -1
- package/rihal/commands/progress.md +3 -3
- package/rihal/commands/quick.md +1 -1
- package/rihal/commands/remove-phase.md +1 -1
- package/rihal/commands/remove-workspace.md +1 -1
- package/rihal/commands/replay.md +1 -1
- package/rihal/commands/rerun.md +1 -1
- package/rihal/commands/research-phase.md +2 -2
- package/rihal/commands/resume-work.md +1 -1
- package/rihal/commands/review.md +1 -1
- package/rihal/commands/scan.md +1 -1
- package/rihal/commands/secure-phase.md +1 -1
- package/rihal/commands/session-report.md +1 -1
- package/rihal/commands/settings.md +1 -1
- package/rihal/commands/ship.md +2 -2
- package/rihal/commands/show.md +1 -1
- package/rihal/commands/sprint-planning.md +1 -1
- package/rihal/commands/sprint-status.md +1 -1
- package/rihal/commands/stats.md +1 -1
- package/rihal/commands/status.md +1 -1
- package/rihal/commands/ui-phase.md +1 -1
- package/rihal/commands/ui-review.md +1 -1
- package/rihal/commands/undo.md +1 -1
- package/rihal/commands/update.md +1 -1
- package/rihal/commands/validate-phase.md +1 -1
- package/rihal/commands/verify-phase.md +2 -2
- package/rihal/commands/verify-work.md +1 -1
- package/rihal/commands/why.md +1 -1
- package/rihal/commands/workstream.md +1 -1
- package/rihal/references/agent-shared-rules.md +1 -1
- package/rihal/references/command-redirect-format.md +7 -7
- package/rihal/references/context-budget.md +2 -2
- package/rihal/references/continuation-format.md +16 -16
- package/rihal/references/dispatch-banner.md +1 -1
- package/rihal/references/execution-protocol.md +2 -2
- package/rihal/references/gates.md +3 -3
- package/rihal/references/git-integration.md +1 -1
- package/rihal/references/output-format.md +4 -4
- package/rihal/references/output-realism.md +1 -1
- package/rihal/references/revision-loop.md +1 -1
- package/rihal/references/state-schema.md +15 -15
- package/rihal/references/ui-brand.md +1 -1
- package/rihal/references/verb-dictionary.md +15 -15
- package/rihal/references/workstream-flag.md +28 -28
- package/rihal/skills/_shared/no-autonomous-bypass.md +2 -2
- package/rihal/skills/_shared/research-citation-rule.md +1 -1
- package/rihal/skills/_shared/state-sync-rule.md +4 -4
- package/rihal/skills/actions/1-analysis/rihal-prfaq/SKILL.md +1 -1
- package/rihal/skills/actions/2-plan/rihal-create-epics-and-stories/workflow.md +1 -1
- package/rihal/skills/actions/2-plan/rihal-create-milestone/SKILL.md +2 -2
- package/rihal/skills/actions/2-plan/rihal-create-milestone/steps/step-06-phase-stubs.md +2 -2
- package/rihal/skills/actions/2-plan/rihal-create-milestone/steps/step-07-backlog.md +2 -2
- package/rihal/skills/actions/2-plan/rihal-create-milestone/steps/step-09-state-sync.md +2 -2
- package/rihal/skills/actions/2-plan/rihal-create-milestone/steps/step-10-complete.md +4 -4
- package/rihal/skills/actions/2-plan/rihal-create-milestone/workflow.md +5 -5
- package/rihal/skills/actions/2-plan/rihal-create-prd/SKILL.md +1 -1
- package/rihal/skills/actions/2-plan/rihal-create-prd/workflow.md +1 -1
- package/rihal/skills/actions/2-plan/rihal-create-story/workflow.md +1 -1
- package/rihal/skills/actions/4-implementation/rihal-checkpoint-preview/SKILL.md +3 -3
- package/rihal/skills/actions/4-implementation/rihal-dev-story/workflow.md +1 -1
- package/rihal/skills/actions/4-implementation/rihal-sprint-planning/SKILL.md +1 -1
- package/rihal/skills/actions/4-implementation/rihal-sprint-planning/checklist.md +1 -1
- package/rihal/skills/actions/4-implementation/rihal-sprint-planning/workflow.md +1 -1
- package/rihal/skills/actions/4-implementation/rihal-sprint-status/workflow.md +5 -5
- package/rihal/skills/agents/dalil-scout/SKILL.md +7 -7
- package/rihal/skills/core/rihal-brainstorming/SKILL.md +1 -1
- package/rihal/skills/core/rihal-init/SKILL.md +1 -1
- package/rihal/skills/core/rihal-party-mode/SKILL.md +1 -1
- package/rihal/templates/milestone.md +1 -1
- package/rihal/templates/projects/api-backend/PROJECT.md +1 -1
- package/rihal/templates/projects/mobile-app/PROJECT.md +1 -1
- package/rihal/templates/projects/saas-b2b/PROJECT.md +1 -1
- package/rihal/workflows/add-phase.md +10 -10
- package/rihal/workflows/add-tests.md +9 -9
- package/rihal/workflows/add-todo.md +5 -5
- package/rihal/workflows/analyze-dependencies.md +7 -7
- package/rihal/workflows/audit-fix.md +4 -4
- package/rihal/workflows/audit-milestone.md +8 -8
- package/rihal/workflows/audit-uat.md +2 -2
- package/rihal/workflows/audit.md +28 -28
- package/rihal/workflows/autonomous.md +128 -44
- package/rihal/workflows/brainstorm.md +7 -7
- package/rihal/workflows/chain.md +16 -16
- package/rihal/workflows/check-implementation-readiness.md +4 -4
- package/rihal/workflows/check-todos.md +8 -8
- package/rihal/workflows/checkpoint-preview.md +1 -1
- package/rihal/workflows/code-review-fix.md +10 -10
- package/rihal/workflows/code-review.md +10 -10
- package/rihal/workflows/complete-milestone.md +5 -5
- package/rihal/workflows/correct-course.md +7 -7
- package/rihal/workflows/council.md +15 -15
- package/rihal/workflows/create-epics-and-stories.md +9 -9
- package/rihal/workflows/create-story.md +11 -11
- package/rihal/workflows/dashboard.md +8 -8
- package/rihal/workflows/debug.md +6 -6
- package/rihal/workflows/decisions.md +5 -5
- package/rihal/workflows/dev-story.md +12 -12
- package/rihal/workflows/diagnose-issues.md +2 -2
- package/rihal/workflows/diff.md +3 -3
- package/rihal/workflows/discuss-phase-power.md +7 -7
- package/rihal/workflows/discuss-phase.md +14 -14
- package/rihal/workflows/discuss.md +9 -9
- package/rihal/workflows/do.md +79 -79
- package/rihal/workflows/docs-update.md +6 -6
- package/rihal/workflows/document-project.md +5 -5
- package/rihal/workflows/enable-hooks.md +5 -5
- package/rihal/workflows/execute-sprint.md +3 -3
- package/rihal/workflows/execute.md +28 -28
- package/rihal/workflows/explore.md +5 -5
- package/rihal/workflows/export-to-github.md +5 -5
- package/rihal/workflows/forensics.md +8 -8
- package/rihal/workflows/from-template.md +8 -8
- package/rihal/workflows/health.md +11 -11
- package/rihal/workflows/help.md +117 -117
- package/rihal/workflows/import.md +4 -4
- package/rihal/workflows/inbox.md +8 -8
- package/rihal/workflows/init.md +23 -23
- package/rihal/workflows/insert-phase.md +9 -9
- package/rihal/workflows/install.md +3 -3
- package/rihal/workflows/karpathy-audit.md +11 -11
- package/rihal/workflows/list-plans.md +8 -8
- package/rihal/workflows/list-workspaces.md +7 -7
- package/rihal/workflows/map-codebase.md +5 -5
- package/rihal/workflows/milestone-summary.md +7 -7
- package/rihal/workflows/new-milestone.md +11 -11
- package/rihal/workflows/new-project-research.md +1 -1
- package/rihal/workflows/new-project-roadmap.md +8 -8
- package/rihal/workflows/new-project.md +32 -32
- package/rihal/workflows/new-workspace.md +7 -7
- package/rihal/workflows/next.md +13 -13
- package/rihal/workflows/note.md +7 -7
- package/rihal/workflows/notify-test.md +6 -6
- package/rihal/workflows/pause-work.md +6 -6
- package/rihal/workflows/plan-milestone-gaps.md +7 -7
- package/rihal/workflows/plan.md +28 -28
- package/rihal/workflows/plant-seed.md +3 -3
- package/rihal/workflows/pr-branch.md +1 -1
- package/rihal/workflows/prfaq.md +1 -1
- package/rihal/workflows/profile-user.md +5 -5
- package/rihal/workflows/progress.md +6 -6
- package/rihal/workflows/quick.md +12 -12
- package/rihal/workflows/remove-phase.md +6 -6
- package/rihal/workflows/remove-workspace.md +8 -8
- package/rihal/workflows/replay.md +8 -8
- package/rihal/workflows/rerun.md +5 -5
- package/rihal/workflows/research-phase.md +2 -2
- package/rihal/workflows/resume-work.md +10 -10
- package/rihal/workflows/review-adversarial.md +4 -4
- package/rihal/workflows/review-edge-case-hunter.md +5 -5
- package/rihal/workflows/review.md +11 -11
- package/rihal/workflows/scan.md +9 -9
- package/rihal/workflows/secure-phase.md +8 -8
- package/rihal/workflows/session-report.md +6 -6
- package/rihal/workflows/settings.md +15 -15
- package/rihal/workflows/ship.md +11 -11
- package/rihal/workflows/show.md +2 -2
- package/rihal/workflows/sprint-planning.md +13 -13
- package/rihal/workflows/sprint-status.md +10 -10
- package/rihal/workflows/stats.md +6 -6
- package/rihal/workflows/status.md +15 -7
- package/rihal/workflows/ui-phase.md +8 -8
- package/rihal/workflows/ui-review.md +5 -5
- package/rihal/workflows/undo.md +17 -17
- package/rihal/workflows/update.md +12 -12
- package/rihal/workflows/validate-phase.md +5 -5
- package/rihal/workflows/verify-work.md +18 -18
- package/rihal/workflows/why.md +9 -9
- package/rihal/workflows/workstream.md +11 -11
- package/server/lib/html/client.js +45 -45
|
@@ -61,7 +61,7 @@ Check config mode first:
|
|
|
61
61
|
CONFIG_MODE=$(node .rihal/bin/rihal-tools.cjs config-get mode 2>/dev/null || echo "guided")
|
|
62
62
|
```
|
|
63
63
|
|
|
64
|
-
**If `CONFIG_MODE == "yolo"` or `$ARGUMENTS` contains `--auto`:** Skip the menu. Auto-select **A) Autonomous run** and print one line: `▶ Auto-selecting Autonomous run (yolo mode). /rihal
|
|
64
|
+
**If `CONFIG_MODE == "yolo"` or `$ARGUMENTS` contains `--auto`:** Skip the menu. Auto-select **A) Autonomous run** and print one line: `▶ Auto-selecting Autonomous run (yolo mode). /rihal-settings set mode guided to change.`
|
|
65
65
|
|
|
66
66
|
Otherwise, offer three modes via AskUserQuestion. Each option names the tradeoff explicitly:
|
|
67
67
|
|
|
@@ -117,7 +117,7 @@ Closure:
|
|
|
117
117
|
RIHAL ► PHASE {NN} COMPLETE ✓
|
|
118
118
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
119
119
|
```
|
|
120
|
-
End with Next Up block routing to /rihal
|
|
120
|
+
End with Next Up block routing to /rihal-verify-work or /rihal-next.
|
|
121
121
|
</output_format>
|
|
122
122
|
|
|
123
123
|
<core_principle>
|
|
@@ -236,7 +236,7 @@ fi
|
|
|
236
236
|
</step>
|
|
237
237
|
|
|
238
238
|
<step name="create_phase_snapshot" priority="first">
|
|
239
|
-
**Create a pre-execution git tag so `/rihal
|
|
239
|
+
**Create a pre-execution git tag so `/rihal-undo --phase NN --to-snapshot` can restore to this exact state.**
|
|
240
240
|
|
|
241
241
|
Only runs when inside a git repository with a valid HEAD (skip silently for fresh/empty repos).
|
|
242
242
|
|
|
@@ -847,13 +847,13 @@ If `SECURITY_CFG` is `true` AND `SECURITY_FILE` is empty (no SECURITY.md yet):
|
|
|
847
847
|
Include in the next-steps routing output:
|
|
848
848
|
```
|
|
849
849
|
⚠ Security enforcement enabled — run before advancing:
|
|
850
|
-
/rihal
|
|
850
|
+
/rihal-secure-phase {PHASE} ${Rihal_WS}
|
|
851
851
|
```
|
|
852
852
|
|
|
853
853
|
If `SECURITY_CFG` is `true` AND SECURITY.md exists: check frontmatter `threats_open`. If > 0:
|
|
854
854
|
```
|
|
855
855
|
⚠ Security gate: {threats_open} threats open
|
|
856
|
-
/rihal
|
|
856
|
+
/rihal-secure-phase {PHASE} — resolve before advancing
|
|
857
857
|
```
|
|
858
858
|
</step>
|
|
859
859
|
|
|
@@ -879,8 +879,8 @@ Apply the same "incomplete" filtering rules as earlier:
|
|
|
879
879
|
|
|
880
880
|
Selected wave finished successfully. This phase still has incomplete plans, so phase-level verification and completion were intentionally skipped.
|
|
881
881
|
|
|
882
|
-
/rihal
|
|
883
|
-
/rihal
|
|
882
|
+
/rihal-execute {phase} ${Rihal_WS} # Continue remaining waves
|
|
883
|
+
/rihal-execute {phase} --wave {next} ${Rihal_WS} # Run the next wave explicitly
|
|
884
884
|
```
|
|
885
885
|
|
|
886
886
|
**If no incomplete plans remain after the selected wave finishes:**
|
|
@@ -969,7 +969,7 @@ Verifier is blocked until critical/high findings are resolved.
|
|
|
969
969
|
```
|
|
970
970
|
|
|
971
971
|
AskUserQuestion with options:
|
|
972
|
-
1. **"Run /rihal
|
|
972
|
+
1. **"Run /rihal-code-review-fix first (recommended)"** — Stop. Print next command: `/rihal-code-review-fix ${PHASE_NUMBER} ${Rihal_WS}`. Do NOT spawn verifier.
|
|
973
973
|
2. **"Proceed to verifier anyway (high findings unresolved)"** — Log override and continue to `close_parent_artifacts` → `regression_gate` → `verify_phase_goal`.
|
|
974
974
|
3. **"Cancel execution"** — Stop. Report partial completion.
|
|
975
975
|
|
|
@@ -979,7 +979,7 @@ If `CRITICAL_COUNT == 0` AND `HIGH_COUNT == 0` AND (`MEDIUM_COUNT > 0` OR `LOW_C
|
|
|
979
979
|
```
|
|
980
980
|
⚠ Code review found non-blocking findings (medium: ${MEDIUM_COUNT}, low: ${LOW_COUNT}).
|
|
981
981
|
Report: ${REVIEW_FILE}
|
|
982
|
-
Consider: /rihal
|
|
982
|
+
Consider: /rihal-code-review-fix ${PHASE_NUMBER}
|
|
983
983
|
```
|
|
984
984
|
Then continue to `close_parent_artifacts`.
|
|
985
985
|
|
|
@@ -1209,7 +1209,7 @@ grep "^status:" "$PHASE_DIR"/*-VERIFICATION.md | cut -d: -f2 | tr -d ' '
|
|
|
1209
1209
|
|--------|--------|
|
|
1210
1210
|
| `passed` | → update_roadmap |
|
|
1211
1211
|
| `human_needed` | Present items for human testing, get approval or feedback |
|
|
1212
|
-
| `gaps_found` | Present gap summary, offer `/rihal
|
|
1212
|
+
| `gaps_found` | Present gap summary, offer `/rihal-plan {phase} --gaps ${Rihal_WS}` |
|
|
1213
1213
|
|
|
1214
1214
|
**If human_needed:**
|
|
1215
1215
|
|
|
@@ -1264,12 +1264,12 @@ All automated checks passed. {N} items need human testing:
|
|
|
1264
1264
|
|
|
1265
1265
|
{From VERIFICATION.md human_verification section}
|
|
1266
1266
|
|
|
1267
|
-
Items saved to `{phase_num}-HUMAN-UAT.md` — they will appear in `/rihal
|
|
1267
|
+
Items saved to `{phase_num}-HUMAN-UAT.md` — they will appear in `/rihal-progress` and `/rihal-audit-uat`.
|
|
1268
1268
|
|
|
1269
1269
|
"approved" → continue | Report issues → gap closure
|
|
1270
1270
|
```
|
|
1271
1271
|
|
|
1272
|
-
**If user says "approved":** Proceed to `update_roadmap`. The HUMAN-UAT.md file persists with `status: partial` and will surface in future progress checks until the user runs `/rihal
|
|
1272
|
+
**If user says "approved":** Proceed to `update_roadmap`. The HUMAN-UAT.md file persists with `status: partial` and will surface in future progress checks until the user runs `/rihal-verify-work` on it.
|
|
1273
1273
|
|
|
1274
1274
|
**If user reports issues:** Proceed to gap closure as currently implemented.
|
|
1275
1275
|
|
|
@@ -1288,13 +1288,13 @@ Items saved to `{phase_num}-HUMAN-UAT.md` — they will appear in `/rihal:progre
|
|
|
1288
1288
|
|
|
1289
1289
|
`/clear` then:
|
|
1290
1290
|
|
|
1291
|
-
`/rihal
|
|
1291
|
+
`/rihal-plan {X} --gaps ${Rihal_WS}`
|
|
1292
1292
|
|
|
1293
1293
|
Also: `cat {phase_dir}/{phase_num}-VERIFICATION.md` — full report
|
|
1294
|
-
Also: `/rihal
|
|
1294
|
+
Also: `/rihal-verify-work {X} ${Rihal_WS}` — manual testing first
|
|
1295
1295
|
```
|
|
1296
1296
|
|
|
1297
|
-
Gap closure cycle: `/rihal
|
|
1297
|
+
Gap closure cycle: `/rihal-plan {X} --gaps ${Rihal_WS}` reads VERIFICATION.md → creates gap plans with `gap_closure: true` → user runs `/rihal-execute {X} --gaps-only ${Rihal_WS}` → verifier re-runs.
|
|
1298
1298
|
</step>
|
|
1299
1299
|
|
|
1300
1300
|
<step name="uat_gate" priority="blocker">
|
|
@@ -1331,20 +1331,20 @@ fi
|
|
|
1331
1331
|
|
|
1332
1332
|
{list AC items from SPRINT.md}
|
|
1333
1333
|
|
|
1334
|
-
Run /rihal
|
|
1335
|
-
/rihal
|
|
1334
|
+
Run /rihal-verify-work {X} to perform UAT and produce VERIFICATION.md.
|
|
1335
|
+
/rihal-next will refuse to advance until this gate passes.
|
|
1336
1336
|
```
|
|
1337
1337
|
3. STOP the workflow. Do NOT proceed to `update_roadmap`. Do NOT call `phase complete`.
|
|
1338
1338
|
|
|
1339
1339
|
**If `VERIFICATION_STATUS` is `fail`:**
|
|
1340
1340
|
|
|
1341
|
-
1. Mark the phase as `status: executed` (so /rihal
|
|
1341
|
+
1. Mark the phase as `status: executed` (so /rihal-plan --gaps can run a closure cycle).
|
|
1342
1342
|
2. Surface the failed AC items.
|
|
1343
1343
|
3. STOP. Don't mark complete on a failing verification.
|
|
1344
1344
|
|
|
1345
1345
|
**Only when `VERIFICATION_STATUS` is `pass`** — proceed to `update_roadmap` below.
|
|
1346
1346
|
|
|
1347
|
-
The previous behaviour (printing "Next Up: /rihal
|
|
1347
|
+
The previous behaviour (printing "Next Up: /rihal-verify-work" without state-gating) caused phases to reach `status: complete` without any human-verified UAT — see #443 for the failure mode.
|
|
1348
1348
|
</step>
|
|
1349
1349
|
|
|
1350
1350
|
<step name="update_roadmap">
|
|
@@ -1370,7 +1370,7 @@ Extract from result: `next_phase`, `next_phase_name`, `is_last_phase`, `warnings
|
|
|
1370
1370
|
|
|
1371
1371
|
{list each warning}
|
|
1372
1372
|
|
|
1373
|
-
These items are tracked and will appear in `/rihal
|
|
1373
|
+
These items are tracked and will appear in `/rihal-progress` and `/rihal-audit-uat`.
|
|
1374
1374
|
```
|
|
1375
1375
|
|
|
1376
1376
|
```bash
|
|
@@ -1443,12 +1443,12 @@ discord_webhook_url: "https://discord.com/api/webhooks/..."
|
|
|
1443
1443
|
teams_webhook_url: "https://outlook.office.com/webhook/..."
|
|
1444
1444
|
```
|
|
1445
1445
|
|
|
1446
|
-
Then verify with `/rihal
|
|
1446
|
+
Then verify with `/rihal-notify-test`.
|
|
1447
1447
|
</step>
|
|
1448
1448
|
|
|
1449
1449
|
<step name="offer_next">
|
|
1450
1450
|
|
|
1451
|
-
**Exception:** If `gaps_found`, the `verify_phase_goal` step already presents the gap-closure path (`/rihal
|
|
1451
|
+
**Exception:** If `gaps_found`, the `verify_phase_goal` step already presents the gap-closure path (`/rihal-plan {X} --gaps`). No additional routing needed — skip auto-advance.
|
|
1452
1452
|
|
|
1453
1453
|
**No-transition check (spawned by auto-advance chain):**
|
|
1454
1454
|
|
|
@@ -1499,15 +1499,15 @@ Read and follow `.rihal/workflows/transition.md`, passing through the `--auto` f
|
|
|
1499
1499
|
|
|
1500
1500
|
**STOP. Do not auto-advance. Do not execute transition. Do not plan next phase. Present options to the user and wait.**
|
|
1501
1501
|
|
|
1502
|
-
**IMPORTANT: There is NO `/rihal
|
|
1502
|
+
**IMPORTANT: There is NO `/rihal-transition` command. Never suggest it. The transition workflow is internal only.**
|
|
1503
1503
|
|
|
1504
1504
|
```
|
|
1505
1505
|
## ✓ Phase {X}: {Name} Complete
|
|
1506
1506
|
|
|
1507
|
-
/rihal
|
|
1508
|
-
/rihal
|
|
1509
|
-
/rihal
|
|
1510
|
-
/rihal
|
|
1507
|
+
/rihal-progress ${Rihal_WS} — see updated roadmap
|
|
1508
|
+
/rihal-discuss-phase {next} ${Rihal_WS} — discuss next phase before planning
|
|
1509
|
+
/rihal-plan {next} ${Rihal_WS} — plan next phase
|
|
1510
|
+
/rihal-execute {next} ${Rihal_WS} — execute next phase
|
|
1511
1511
|
```
|
|
1512
1512
|
|
|
1513
1513
|
Only suggest the commands listed above. Do not invent or hallucinate command names.
|
|
@@ -1534,7 +1534,7 @@ For 1M+ context models, consider:
|
|
|
1534
1534
|
</failure_handling>
|
|
1535
1535
|
|
|
1536
1536
|
<resumption>
|
|
1537
|
-
Re-run `/rihal
|
|
1537
|
+
Re-run `/rihal-execute {phase}` → discover_plans finds completed SUMMARYs → skips them → resumes from first incomplete plan → continues wave execution.
|
|
1538
1538
|
|
|
1539
1539
|
STATE.md tracks: last completed plan, current wave, pending checkpoints.
|
|
1540
1540
|
</resumption>
|
|
@@ -9,13 +9,13 @@ offers mid-conversation research when useful, then routes crystallized outputs t
|
|
|
9
9
|
If `$ARGUMENTS` is empty or contains only `--help` or `-h`:
|
|
10
10
|
|
|
11
11
|
```
|
|
12
|
-
/rihal
|
|
12
|
+
/rihal-explore <argument-here>
|
|
13
13
|
```
|
|
14
14
|
|
|
15
15
|
**Examples:**
|
|
16
16
|
```
|
|
17
|
-
/rihal
|
|
18
|
-
/rihal
|
|
17
|
+
/rihal-explore example 1
|
|
18
|
+
/rihal-explore example 2
|
|
19
19
|
```
|
|
20
20
|
|
|
21
21
|
STOP — do not proceed.
|
|
@@ -124,7 +124,7 @@ For each selected output, write the file:
|
|
|
124
124
|
- **Seeds:** Create `.planning/seeds/{slug}.md` with frontmatter (title, trigger_condition, planted_date)
|
|
125
125
|
- **Research questions:** Append to `.planning/research/questions.md`
|
|
126
126
|
- **Requirements:** Append to `.planning/REQUIREMENTS.md` with next available REQ ID
|
|
127
|
-
- **Phases:** Use existing `/rihal
|
|
127
|
+
- **Phases:** Use existing `/rihal-add-phase` command via SlashCommand
|
|
128
128
|
|
|
129
129
|
Commit if `commit_docs` is enabled:
|
|
130
130
|
```bash
|
|
@@ -140,7 +140,7 @@ node "$PROJECT_ROOT/.rihal/bin/rihal-tools.cjs" commit "docs: capture exploratio
|
|
|
140
140
|
**Outputs:** {count} artifact(s) created
|
|
141
141
|
{list of created files}
|
|
142
142
|
|
|
143
|
-
Continue exploring with `/rihal
|
|
143
|
+
Continue exploring with `/rihal-explore` or start working with `/rihal-next`.
|
|
144
144
|
```
|
|
145
145
|
|
|
146
146
|
</process>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Workflow: rihal
|
|
1
|
+
# Workflow: rihal-export-to-github
|
|
2
2
|
|
|
3
3
|
<purpose>
|
|
4
4
|
Push Rihal state to GitHub as issues, milestones, and (optionally) a Project v2 board. Thin slash-command wrapper around the existing `rihal-code github-sync` CLI, plus a `--decisions` mode that publishes the project's recent decision log as a single tracking issue.
|
|
@@ -29,7 +29,7 @@ Always default to dry-run. Show a preview, then require `--execute` on a follow-
|
|
|
29
29
|
If `$ARGUMENTS` is empty or contains `--help` / `-h`:
|
|
30
30
|
|
|
31
31
|
```
|
|
32
|
-
/rihal
|
|
32
|
+
/rihal-export-to-github [target] [flags]
|
|
33
33
|
|
|
34
34
|
Targets (mutually exclusive):
|
|
35
35
|
(none) Sync all phases → milestones, epics/stories → issues
|
|
@@ -96,7 +96,7 @@ Render the decisions as a markdown table in the issue body:
|
|
|
96
96
|
```markdown
|
|
97
97
|
# Decision Log — {project_name}
|
|
98
98
|
|
|
99
|
-
_Generated by `/rihal
|
|
99
|
+
_Generated by `/rihal-export-to-github --decisions` on {ISO date}. Source: `~/.rihal/decisions.jsonl` (this project only)._
|
|
100
100
|
|
|
101
101
|
| Date | Phase | Plan | Decision |
|
|
102
102
|
|------|-------|------|----------|
|
|
@@ -154,7 +154,7 @@ node .rihal/bin/rihal-tools.cjs state add-decision \
|
|
|
154
154
|
2>/dev/null || true
|
|
155
155
|
```
|
|
156
156
|
|
|
157
|
-
This also mirrors to `~/.rihal/decisions.jsonl` so `/rihal
|
|
157
|
+
This also mirrors to `~/.rihal/decisions.jsonl` so `/rihal-decisions` surfaces the export.
|
|
158
158
|
</process>
|
|
159
159
|
|
|
160
160
|
## Success Criteria
|
|
@@ -171,4 +171,4 @@ This also mirrors to `~/.rihal/decisions.jsonl` so `/rihal:decisions` surfaces t
|
|
|
171
171
|
- `gh auth status` fails → tell the user to run `gh auth login`, exit
|
|
172
172
|
- `gh repo view` fails (no remote) → tell the user to pass `--repo owner/name`, exit
|
|
173
173
|
- `rihal-code` missing from PATH → fall back to `node ./cli/index.js`; if that also fails, instruct the user to `pnpm install` from the repo root
|
|
174
|
-
- Empty decision log under `--decisions` → print "No decisions to export{since_suffix}. Run /rihal
|
|
174
|
+
- Empty decision log under `--decisions` → print "No decisions to export{since_suffix}. Run /rihal-council or complete a sprint to create some." and exit cleanly
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Workflow: rihal
|
|
1
|
+
# Workflow: rihal-forensics
|
|
2
2
|
|
|
3
3
|
<purpose>
|
|
4
4
|
Analyze execution history in state.json and filesystem to detect incomplete work. Show timeline of what happened, where it broke, and suggest resume command.
|
|
@@ -10,13 +10,13 @@ Analyze execution history in state.json and filesystem to detect incomplete work
|
|
|
10
10
|
If `$ARGUMENTS` is empty or contains only `--help` or `-h`:
|
|
11
11
|
|
|
12
12
|
```
|
|
13
|
-
/rihal
|
|
13
|
+
/rihal-forensics <argument-here>
|
|
14
14
|
```
|
|
15
15
|
|
|
16
16
|
**Examples:**
|
|
17
17
|
```
|
|
18
|
-
/rihal
|
|
19
|
-
/rihal
|
|
18
|
+
/rihal-forensics example 1
|
|
19
|
+
/rihal-forensics example 2
|
|
20
20
|
```
|
|
21
21
|
|
|
22
22
|
STOP — do not proceed.
|
|
@@ -111,7 +111,7 @@ Format as:
|
|
|
111
111
|
```
|
|
112
112
|
Timeline of Execution
|
|
113
113
|
|
|
114
|
-
T-5h: Started phase "Feature X" (/rihal
|
|
114
|
+
T-5h: Started phase "Feature X" (/rihal-plan feature-x)
|
|
115
115
|
T-3h: Phase created, plan saved to .planning/feature-x/SPRINT.md
|
|
116
116
|
T-2h: Execution began — checkpoint at step 3/8
|
|
117
117
|
T-0h: ❌ FAIL — Execution error: "Dependency not installed"
|
|
@@ -130,7 +130,7 @@ Based on what was found:
|
|
|
130
130
|
You were working on phase "phase-name" and reached checkpoint 3.
|
|
131
131
|
|
|
132
132
|
To resume:
|
|
133
|
-
/rihal
|
|
133
|
+
/rihal-resume-work
|
|
134
134
|
```
|
|
135
135
|
|
|
136
136
|
**If failed execution with error:**
|
|
@@ -142,7 +142,7 @@ Phase "phase-name" failed during execution:
|
|
|
142
142
|
|
|
143
143
|
To retry:
|
|
144
144
|
1. Fix the issue noted above
|
|
145
|
-
2. Run: /rihal
|
|
145
|
+
2. Run: /rihal-next
|
|
146
146
|
```
|
|
147
147
|
|
|
148
148
|
**If incomplete plan (PLAN exists, no SUMMARY):**
|
|
@@ -152,7 +152,7 @@ To retry:
|
|
|
152
152
|
Phase "phase-name" was planned but never executed.
|
|
153
153
|
|
|
154
154
|
To continue:
|
|
155
|
-
/rihal
|
|
155
|
+
/rihal-execute phase-name
|
|
156
156
|
```
|
|
157
157
|
|
|
158
158
|
**If no incomplete work found:**
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Workflow: rihal
|
|
1
|
+
# Workflow: rihal-from-template
|
|
2
2
|
|
|
3
3
|
<purpose>
|
|
4
4
|
Seed a fresh project's `.planning/` directory from a canonical starter template (saas-b2b, api-backend, mobile-app). Replaces the blank-page moment after `rihal init` with a PROJECT.md skeleton, a ROADMAP.md with typical phases for this kind of project, and a REQUIREMENTS.md of common REQ-IDs.
|
|
@@ -28,7 +28,7 @@ End with a file summary and Next Up routing.
|
|
|
28
28
|
If `$ARGUMENTS` is empty, contains `--help`, `-h`, or `list` — print the catalog:
|
|
29
29
|
|
|
30
30
|
```
|
|
31
|
-
/rihal
|
|
31
|
+
/rihal-from-template <template-name> [--project-name "<name>"] [--force]
|
|
32
32
|
|
|
33
33
|
Available templates:
|
|
34
34
|
saas-b2b Multi-tenant B2B SaaS — auth, orgs, billing, RBAC, admin
|
|
@@ -50,7 +50,7 @@ TEMPLATE_DIR=".rihal/templates/projects/${TEMPLATE}"
|
|
|
50
50
|
|
|
51
51
|
if [ ! -d "$TEMPLATE_DIR" ]; then
|
|
52
52
|
echo "Unknown template: ${TEMPLATE}"
|
|
53
|
-
echo "Run: /rihal
|
|
53
|
+
echo "Run: /rihal-from-template --help for the catalog."
|
|
54
54
|
exit 0
|
|
55
55
|
fi
|
|
56
56
|
```
|
|
@@ -88,7 +88,7 @@ If `EXISTING` is non-empty and `--force` was NOT passed:
|
|
|
88
88
|
Refusing to overwrite. Options:
|
|
89
89
|
- Pass --force to overwrite (destructive)
|
|
90
90
|
- Delete the existing files first, then re-run
|
|
91
|
-
- Use /rihal
|
|
91
|
+
- Use /rihal-new-project for the interactive discovery flow instead
|
|
92
92
|
```
|
|
93
93
|
|
|
94
94
|
STOP.
|
|
@@ -131,7 +131,7 @@ node .rihal/bin/rihal-tools.cjs state add-decision \
|
|
|
131
131
|
"Seeded .planning/ from template '${TEMPLATE}' (project: ${PROJECT_NAME})" 2>/dev/null || true
|
|
132
132
|
```
|
|
133
133
|
|
|
134
|
-
This surfaces the seeding both in local state AND `/rihal
|
|
134
|
+
This surfaces the seeding both in local state AND `/rihal-decisions` cross-project memory.
|
|
135
135
|
|
|
136
136
|
## Step 6 — Commit
|
|
137
137
|
|
|
@@ -154,8 +154,8 @@ Next Up (from template.yaml.next_steps):
|
|
|
154
154
|
{next_steps_block}
|
|
155
155
|
|
|
156
156
|
Also consider:
|
|
157
|
-
/rihal
|
|
158
|
-
/rihal
|
|
157
|
+
/rihal-discuss-phase 01 — adapt phase 01 to your specifics
|
|
158
|
+
/rihal-council — sanity-check the starter phases before committing to them
|
|
159
159
|
```
|
|
160
160
|
</process>
|
|
161
161
|
|
|
@@ -169,5 +169,5 @@ Also consider:
|
|
|
169
169
|
|
|
170
170
|
## On Error
|
|
171
171
|
|
|
172
|
-
- Missing `.rihal/templates/projects/` directory → tell the user their install is missing the module; suggest `rihal
|
|
172
|
+
- Missing `.rihal/templates/projects/` directory → tell the user their install is missing the module; suggest `rihal-install`
|
|
173
173
|
- `sed` substitution failure (unusual characters in project name) → fall back to literal-string `awk` substitution, or ask the user to pass a simpler name via `--project-name`
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Workflow: rihal
|
|
1
|
+
# Workflow: rihal-health
|
|
2
2
|
|
|
3
3
|
<purpose>
|
|
4
4
|
Run 6-point compliance check on rihal installation. Each check is pass/fail. Summary at the end.
|
|
@@ -10,13 +10,13 @@ Run 6-point compliance check on rihal installation. Each check is pass/fail. Sum
|
|
|
10
10
|
If `$ARGUMENTS` is empty or contains only `--help` or `-h`:
|
|
11
11
|
|
|
12
12
|
```
|
|
13
|
-
/rihal
|
|
13
|
+
/rihal-health <argument-here>
|
|
14
14
|
```
|
|
15
15
|
|
|
16
16
|
**Examples:**
|
|
17
17
|
```
|
|
18
|
-
/rihal
|
|
19
|
-
/rihal
|
|
18
|
+
/rihal-health example 1
|
|
19
|
+
/rihal-health example 2
|
|
20
20
|
```
|
|
21
21
|
|
|
22
22
|
STOP — do not proceed.
|
|
@@ -40,7 +40,7 @@ test -d .rihal && test -w .rihal
|
|
|
40
40
|
|
|
41
41
|
**Output on fail:**
|
|
42
42
|
```
|
|
43
|
-
❌ FAIL — .rihal/ does not exist or is not writable. Run: /rihal
|
|
43
|
+
❌ FAIL — .rihal/ does not exist or is not writable. Run: /rihal-update to repair
|
|
44
44
|
```
|
|
45
45
|
|
|
46
46
|
## Step 1 — Verify file manifest exists and is valid CSV
|
|
@@ -64,7 +64,7 @@ Verify:
|
|
|
64
64
|
|
|
65
65
|
**Output on fail:**
|
|
66
66
|
```
|
|
67
|
-
❌ FAIL — files-manifest.csv is missing or corrupted. Run: /rihal
|
|
67
|
+
❌ FAIL — files-manifest.csv is missing or corrupted. Run: /rihal-update to repair
|
|
68
68
|
```
|
|
69
69
|
|
|
70
70
|
## Step 2 — Verify all manifest files exist and hashes match
|
|
@@ -89,7 +89,7 @@ Detect drift: files that exist but hash doesn't match.
|
|
|
89
89
|
❌ FAIL — File drift detected: N files changed or missing
|
|
90
90
|
Modified: file1.md, file2.js
|
|
91
91
|
Missing: file3.md
|
|
92
|
-
Run: /rihal
|
|
92
|
+
Run: /rihal-update to repair
|
|
93
93
|
```
|
|
94
94
|
|
|
95
95
|
## Step 3 — Verify state.json exists and is valid
|
|
@@ -118,7 +118,7 @@ Parse as JSON. Verify top-level keys present:
|
|
|
118
118
|
|
|
119
119
|
**Output on fail:**
|
|
120
120
|
```
|
|
121
|
-
❌ FAIL — state.json is missing or invalid. Run: /rihal
|
|
121
|
+
❌ FAIL — state.json is missing or invalid. Run: /rihal-update to repair
|
|
122
122
|
```
|
|
123
123
|
|
|
124
124
|
## Step 4 — Verify agent-manifest.csv is present and populated
|
|
@@ -141,7 +141,7 @@ Verify:
|
|
|
141
141
|
|
|
142
142
|
**Output on fail:**
|
|
143
143
|
```
|
|
144
|
-
❌ FAIL — agent-manifest.csv is missing or empty. Run: /rihal
|
|
144
|
+
❌ FAIL — agent-manifest.csv is missing or empty. Run: /rihal-update to repair
|
|
145
145
|
```
|
|
146
146
|
|
|
147
147
|
## Step 5 — Verify rihal-tools.cjs is executable and responsive
|
|
@@ -160,7 +160,7 @@ node .rihal/bin/rihal-tools.cjs version
|
|
|
160
160
|
|
|
161
161
|
**Output on fail:**
|
|
162
162
|
```
|
|
163
|
-
❌ FAIL — rihal-tools.cjs is missing or broken. Run: /rihal
|
|
163
|
+
❌ FAIL — rihal-tools.cjs is missing or broken. Run: /rihal-update to repair
|
|
164
164
|
```
|
|
165
165
|
|
|
166
166
|
## Step 6 — Count results and print final summary
|
|
@@ -177,7 +177,7 @@ If all 6 pass:
|
|
|
177
177
|
If fewer than 6 pass:
|
|
178
178
|
```
|
|
179
179
|
⚠️ {N}/6 checks passed — {M} issue(s) found
|
|
180
|
-
Run: /rihal
|
|
180
|
+
Run: /rihal-update to repair
|
|
181
181
|
```
|
|
182
182
|
|
|
183
183
|
## Success Criteria
|