@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
package/rihal/workflows/show.md
CHANGED
|
@@ -5,7 +5,7 @@ Print a specific SPRINT.md file or all plans in a phase, with execution status f
|
|
|
5
5
|
## Step 0: Usage Check
|
|
6
6
|
|
|
7
7
|
Verify argument was provided:
|
|
8
|
-
- If empty: `Usage: /rihal
|
|
8
|
+
- If empty: `Usage: /rihal-show <phase-id|plan-id> (e.g., /rihal-show 01 or /rihal-show 01-01)`
|
|
9
9
|
- Proceed to Step 1
|
|
10
10
|
|
|
11
11
|
## Step 1: Resolve ID
|
|
@@ -21,7 +21,7 @@ Expected output:
|
|
|
21
21
|
}
|
|
22
22
|
```
|
|
23
23
|
|
|
24
|
-
If `type === "unknown"`: Return error `ID not found: $ARGUMENTS. Try /rihal
|
|
24
|
+
If `type === "unknown"`: Return error `ID not found: $ARGUMENTS. Try /rihal-show 01 for phase, 01-01 for specific plan.`
|
|
25
25
|
|
|
26
26
|
## Step 2: Phase or Plan?
|
|
27
27
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Workflow: rihal
|
|
1
|
+
# Workflow: rihal-sprint-planning
|
|
2
2
|
|
|
3
3
|
<purpose>
|
|
4
4
|
Plan the next sprint. Authoritative implementation lives in the
|
|
@@ -50,7 +50,7 @@ Open with banner:
|
|
|
50
50
|
```
|
|
51
51
|
TaskCreate: "Load phase scope + velocity", "Capacity gate (halt for numbers)", "Curate stories with user", "Register sprint + stories in state", "Write SPRINT.md", "Sync state", "Start sprint".
|
|
52
52
|
Closure: `RIHAL ► SPRINT {NN.S} READY ✓ ({N} stories, {M} points)`
|
|
53
|
-
Next Up: `/rihal
|
|
53
|
+
Next Up: `/rihal-execute .planning/phases/{phase}/SPRINT.md`
|
|
54
54
|
</output_format>
|
|
55
55
|
|
|
56
56
|
<process>
|
|
@@ -59,14 +59,14 @@ Next Up: `/rihal:execute .planning/phases/{phase}/SPRINT.md`
|
|
|
59
59
|
If `$ARGUMENTS` contains `--help` or `-h`:
|
|
60
60
|
|
|
61
61
|
```
|
|
62
|
-
/rihal
|
|
62
|
+
/rihal-sprint-planning [--phase <NN>] [--velocity <points>] [--goal "Sprint goal"]
|
|
63
63
|
```
|
|
64
64
|
|
|
65
65
|
**Examples:**
|
|
66
66
|
```
|
|
67
|
-
/rihal
|
|
68
|
-
/rihal
|
|
69
|
-
/rihal
|
|
67
|
+
/rihal-sprint-planning
|
|
68
|
+
/rihal-sprint-planning --phase 01 --goal "Auth system MVP"
|
|
69
|
+
/rihal-sprint-planning --velocity 13
|
|
70
70
|
```
|
|
71
71
|
|
|
72
72
|
STOP — do not proceed.
|
|
@@ -85,7 +85,7 @@ Extract:
|
|
|
85
85
|
|
|
86
86
|
If no phases in state:
|
|
87
87
|
```
|
|
88
|
-
No phases found. Run /rihal
|
|
88
|
+
No phases found. Run /rihal-new-project first to create a roadmap.
|
|
89
89
|
```
|
|
90
90
|
Exit.
|
|
91
91
|
|
|
@@ -166,8 +166,8 @@ Stories: {count} ({total_points} points)
|
|
|
166
166
|
Capacity: {velocity_target} points ({buffer}% buffer)
|
|
167
167
|
|
|
168
168
|
Next:
|
|
169
|
-
/rihal
|
|
170
|
-
/rihal
|
|
169
|
+
/rihal-execute .planning/phases/{phase}/SPRINT.md ← execute the sprint
|
|
170
|
+
/rihal-sprint-status ← check progress anytime
|
|
171
171
|
```
|
|
172
172
|
|
|
173
173
|
## Output Format
|
|
@@ -179,7 +179,7 @@ Next:
|
|
|
179
179
|
## Examples
|
|
180
180
|
|
|
181
181
|
### Happy Path
|
|
182
|
-
**Input:** `/rihal
|
|
182
|
+
**Input:** `/rihal-sprint-planning --phase 01 --goal "Auth MVP"`
|
|
183
183
|
**Expected:** Load phase scope, estimate stories, present table, confirm, create SPRINT.md + register in state, start sprint.
|
|
184
184
|
|
|
185
185
|
### Edge Case: Over capacity
|
|
@@ -188,10 +188,10 @@ Next:
|
|
|
188
188
|
|
|
189
189
|
### Edge Case: No scope
|
|
190
190
|
**Input:** Phase has no SCOPE.md or requirements
|
|
191
|
-
**Expected:** "No scope found for this phase. Run /rihal
|
|
191
|
+
**Expected:** "No scope found for this phase. Run /rihal-new-project or write a SCOPE.md first."
|
|
192
192
|
|
|
193
193
|
### Negative Test
|
|
194
|
-
**Input:** `/rihal
|
|
195
|
-
**Expected:** Graceful exit suggesting /rihal
|
|
194
|
+
**Input:** `/rihal-sprint-planning` with no phases in state
|
|
195
|
+
**Expected:** Graceful exit suggesting /rihal-new-project.
|
|
196
196
|
|
|
197
197
|
</process>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Workflow: rihal
|
|
1
|
+
# Workflow: rihal-sprint-status
|
|
2
2
|
|
|
3
3
|
<purpose>
|
|
4
4
|
Display current sprint progress: stories by status, points done vs remaining, velocity comparison, and burndown. Quick situational awareness without starting execution.
|
|
@@ -27,13 +27,13 @@ End with Next Up routing based on sprint state.
|
|
|
27
27
|
If `$ARGUMENTS` contains `--help` or `-h`:
|
|
28
28
|
|
|
29
29
|
```
|
|
30
|
-
/rihal
|
|
30
|
+
/rihal-sprint-status [--sprint <NN.S>]
|
|
31
31
|
```
|
|
32
32
|
|
|
33
33
|
**Examples:**
|
|
34
34
|
```
|
|
35
|
-
/rihal
|
|
36
|
-
/rihal
|
|
35
|
+
/rihal-sprint-status # current sprint
|
|
36
|
+
/rihal-sprint-status --sprint 01.2
|
|
37
37
|
```
|
|
38
38
|
|
|
39
39
|
STOP — do not proceed.
|
|
@@ -48,7 +48,7 @@ STORIES=$(node .rihal/bin/rihal-tools.cjs state story list)
|
|
|
48
48
|
|
|
49
49
|
If no current sprint:
|
|
50
50
|
```
|
|
51
|
-
No active sprint. Run /rihal
|
|
51
|
+
No active sprint. Run /rihal-sprint-planning to create one.
|
|
52
52
|
```
|
|
53
53
|
Exit.
|
|
54
54
|
|
|
@@ -96,8 +96,8 @@ REVIEW
|
|
|
96
96
|
|
|
97
97
|
Based on data, suggest next action:
|
|
98
98
|
|
|
99
|
-
- **All stories done:** "Sprint ready to close. Run `/rihal
|
|
100
|
-
- **In progress stories exist:** "Continue executing. Run `/rihal
|
|
99
|
+
- **All stories done:** "Sprint ready to close. Run `/rihal-sprint-planning` for next sprint."
|
|
100
|
+
- **In progress stories exist:** "Continue executing. Run `/rihal-execute` to pick up next story."
|
|
101
101
|
- **Over capacity (committed > velocity avg):** "Over-committed by {N} points. Consider deferring lowest-priority story."
|
|
102
102
|
- **No stories moved today:** "No progress since last check. Blockers?"
|
|
103
103
|
|
|
@@ -110,15 +110,15 @@ Based on data, suggest next action:
|
|
|
110
110
|
## Examples
|
|
111
111
|
|
|
112
112
|
### Happy Path
|
|
113
|
-
**Input:** `/rihal
|
|
113
|
+
**Input:** `/rihal-sprint-status`
|
|
114
114
|
**Expected:** Board showing 3 done / 1 in_progress / 2 todo, 8/13 points, velocity trend stable.
|
|
115
115
|
|
|
116
116
|
### Edge Case: No sprint
|
|
117
|
-
**Input:** `/rihal
|
|
117
|
+
**Input:** `/rihal-sprint-status` (no active sprint)
|
|
118
118
|
**Expected:** "No active sprint" + suggestion to run sprint-planning.
|
|
119
119
|
|
|
120
120
|
### Negative Test
|
|
121
|
-
**Input:** `/rihal
|
|
121
|
+
**Input:** `/rihal-sprint-status --sprint 99.9`
|
|
122
122
|
**Expected:** "Sprint 99.9 not found."
|
|
123
123
|
|
|
124
124
|
</process>
|
package/rihal/workflows/stats.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Workflow: rihal
|
|
1
|
+
# Workflow: rihal-stats
|
|
2
2
|
|
|
3
3
|
<purpose>
|
|
4
4
|
Read .rihal/state.json and display project statistics: phases, plans, council sessions, decisions, blockers, timeline, and git stats.
|
|
@@ -10,13 +10,13 @@ Read .rihal/state.json and display project statistics: phases, plans, council se
|
|
|
10
10
|
If `$ARGUMENTS` is empty or contains only `--help` or `-h`:
|
|
11
11
|
|
|
12
12
|
```
|
|
13
|
-
/rihal
|
|
13
|
+
/rihal-stats <argument-here>
|
|
14
14
|
```
|
|
15
15
|
|
|
16
16
|
**Examples:**
|
|
17
17
|
```
|
|
18
|
-
/rihal
|
|
19
|
-
/rihal
|
|
18
|
+
/rihal-stats example 1
|
|
19
|
+
/rihal-stats example 2
|
|
20
20
|
```
|
|
21
21
|
|
|
22
22
|
STOP — do not proceed.
|
|
@@ -32,7 +32,7 @@ cat .rihal/state.json 2>/dev/null || echo '{}'
|
|
|
32
32
|
Parse as JSON. If parse fails or file doesn't exist, print:
|
|
33
33
|
```
|
|
34
34
|
ℹ️ No rihal state found in this project yet.
|
|
35
|
-
Run /rihal
|
|
35
|
+
Run /rihal-help to get started.
|
|
36
36
|
```
|
|
37
37
|
Exit.
|
|
38
38
|
|
|
@@ -82,7 +82,7 @@ If `.git/` does not exist, set `rihal_commits` = 0 and omit recent_commits from
|
|
|
82
82
|
Print a human-readable stats block:
|
|
83
83
|
|
|
84
84
|
```
|
|
85
|
-
📊 rihal
|
|
85
|
+
📊 rihal-stats — Project Timeline
|
|
86
86
|
|
|
87
87
|
Project: $PROJECT_NAME
|
|
88
88
|
Created: $TIMELINE_START
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
# Workflow: rihal
|
|
1
|
+
# Workflow: rihal-status
|
|
2
2
|
|
|
3
3
|
<purpose>
|
|
4
4
|
Render a human-readable project status dashboard. All data comes from a single `rihal-tools progress init` call — this workflow does NOT parse ROADMAP.md, walk SUMMARY.md files, or grep state.json itself. Rendering only. See `rihal-tools.cjs` `cmdProgress` for the source-of-truth logic (issue #159 M2.5).
|
|
5
5
|
|
|
6
|
-
**SSOT:** `.rihal/state.json`. `/rihal
|
|
6
|
+
**SSOT:** `.rihal/state.json`. `/rihal-status` and `/rihal-progress` both call the same CLI so they cannot disagree. If the CLI reports a drift insight, surface it — do not silently compensate.
|
|
7
7
|
</purpose>
|
|
8
8
|
|
|
9
9
|
<required_reading>
|
|
@@ -21,7 +21,7 @@ VERBOSE=$(node .rihal/bin/rihal-tools.cjs config-get output.verbose 2>/dev/null
|
|
|
21
21
|
|
|
22
22
|
Parse as JSON. If `SNAPSHOT.ok` is not true, print a one-line error and stop.
|
|
23
23
|
|
|
24
|
-
**Slim mode** (default when `VERBOSE != "true"`): Output Steps 2–3 only (banner + phases list). Skip decisions, blockers detail, and route menu — just print the top route as a single "Next: `/rihal
|
|
24
|
+
**Slim mode** (default when `VERBOSE != "true"`): Output Steps 2–3 only (banner + phases list). Skip decisions, blockers detail, and route menu — just print the top route as a single "Next: `/rihal-X`" line. Append `(run /rihal-status --verbose for full detail)`.
|
|
25
25
|
|
|
26
26
|
**Verbose mode** (`VERBOSE == "true"` or `$ARGUMENTS` contains `--verbose`): Full Steps 2–6 output.
|
|
27
27
|
|
|
@@ -44,24 +44,32 @@ Then stop.
|
|
|
44
44
|
│ Milestone: {SNAPSHOT.milestone or "—"} │
|
|
45
45
|
│ Phase: {SNAPSHOT.current_phase or "none started"} │
|
|
46
46
|
│ Progress: {SNAPSHOT.bar} │
|
|
47
|
+
│ Weighted: {SNAPSHOT.weighted_bar} │
|
|
47
48
|
│ Updated: {relative_time(SNAPSHOT.updated)} │
|
|
48
49
|
╰─────────────────────────────────────────────────────────╯
|
|
49
50
|
```
|
|
50
51
|
|
|
52
|
+
If `SNAPSHOT.weighted_progress > 0` but `SNAPSHOT.completed_count === 0`, display
|
|
53
|
+
the weighted bar as the primary progress indicator to avoid a misleading `0/N (0%)`.
|
|
54
|
+
|
|
51
55
|
## Step 3 — Phases section
|
|
52
56
|
|
|
53
57
|
For each entry in `SNAPSHOT.phases[]`:
|
|
54
58
|
|
|
55
59
|
- `▶` if `phase.number === SNAPSHOT.current_phase`
|
|
56
60
|
- `✓` if `phase.disk.summary_count > 0` AND matches `phase.disk.plan_count` (complete)
|
|
57
|
-
- `◆` if `phase.disk.plan_count > phase.disk.summary_count` (
|
|
58
|
-
-
|
|
61
|
+
- `◆` if `phase.disk.plan_count > phase.disk.summary_count` (executing — has plans, not all summarized)
|
|
62
|
+
- `◇` if `phase.disk.has_context && !phase.disk.plan_count` (discussing — CONTEXT.md exists but no plan yet)
|
|
63
|
+
- `◈` if `phase.disk.has_research && !phase.disk.plan_count` (researched — RESEARCH.md but no plan)
|
|
64
|
+
- `○` otherwise (planned — no artifacts on disk)
|
|
59
65
|
|
|
60
66
|
```
|
|
61
67
|
Phases:
|
|
62
|
-
▶ [04] Component compaction —
|
|
68
|
+
▶ [04] Component compaction — executing (1/3 plans)
|
|
63
69
|
✓ [03] Auth hardening — complete
|
|
64
|
-
|
|
70
|
+
◇ [05] Billing rewrite — discussing
|
|
71
|
+
◈ [06] API optimization — researched
|
|
72
|
+
○ [07] Final cleanup — planned
|
|
65
73
|
```
|
|
66
74
|
|
|
67
75
|
If a phase number starts with `999.`, render with a `🅿` marker and the label `(parking lot)`.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Workflow: rihal
|
|
1
|
+
# Workflow: rihal-ui-phase
|
|
2
2
|
|
|
3
3
|
<purpose>
|
|
4
4
|
Produce UI-SPEC.md with formalized design contract: color tokens, typography system, component inventory, interaction states, accessibility requirements. Detects frontend keywords (React, Next.js, Vue, Tailwind, CSS, UI) and suggests this workflow early if UI-SPEC.md is absent.
|
|
@@ -10,13 +10,13 @@ Produce UI-SPEC.md with formalized design contract: color tokens, typography sys
|
|
|
10
10
|
If `$ARGUMENTS` is empty or contains only `--help` or `-h`:
|
|
11
11
|
|
|
12
12
|
```
|
|
13
|
-
/rihal
|
|
13
|
+
/rihal-ui-phase <argument-here>
|
|
14
14
|
```
|
|
15
15
|
|
|
16
16
|
**Examples:**
|
|
17
17
|
```
|
|
18
|
-
/rihal
|
|
19
|
-
/rihal
|
|
18
|
+
/rihal-ui-phase example 1
|
|
19
|
+
/rihal-ui-phase example 2
|
|
20
20
|
```
|
|
21
21
|
|
|
22
22
|
STOP — do not proceed.
|
|
@@ -114,7 +114,7 @@ If enabled, print:
|
|
|
114
114
|
```
|
|
115
115
|
⚠ Frontend project detected. Before planning, create a design contract:
|
|
116
116
|
|
|
117
|
-
/rihal
|
|
117
|
+
/rihal-ui-phase
|
|
118
118
|
|
|
119
119
|
This ensures consistent UI patterns, accessibility, and design tokens across all components.
|
|
120
120
|
```
|
|
@@ -124,13 +124,13 @@ Offer via AskUserQuestion:
|
|
|
124
124
|
header: "UI Safety Gate"
|
|
125
125
|
question: "Should we define UI-SPEC.md before planning component development?"
|
|
126
126
|
options:
|
|
127
|
-
- "Yes, run /rihal
|
|
127
|
+
- "Yes, run /rihal-ui-phase first"
|
|
128
128
|
- "Skip for now, continue planning"
|
|
129
129
|
```
|
|
130
130
|
|
|
131
|
-
If "Yes, run /rihal
|
|
131
|
+
If "Yes, run /rihal-ui-phase first":
|
|
132
132
|
```
|
|
133
|
-
Run /rihal
|
|
133
|
+
Run /rihal-ui-phase, then return to /rihal-plan
|
|
134
134
|
```
|
|
135
135
|
|
|
136
136
|
## Success Criteria
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Workflow: rihal
|
|
1
|
+
# Workflow: rihal-ui-review
|
|
2
2
|
|
|
3
3
|
<purpose>
|
|
4
4
|
Retroactively audit completed UI work against the UI-SPEC.md contract. Validates across 6 pillars: color consistency, typography compliance, component inventory coverage, accessibility requirements, responsive behavior, and design coherence. Produces audit report with pass/fail per pillar.
|
|
@@ -10,13 +10,13 @@ Retroactively audit completed UI work against the UI-SPEC.md contract. Validates
|
|
|
10
10
|
If `$ARGUMENTS` is empty or contains only `--help` or `-h`:
|
|
11
11
|
|
|
12
12
|
```
|
|
13
|
-
/rihal
|
|
13
|
+
/rihal-ui-review <argument-here>
|
|
14
14
|
```
|
|
15
15
|
|
|
16
16
|
**Examples:**
|
|
17
17
|
```
|
|
18
|
-
/rihal
|
|
19
|
-
/rihal
|
|
18
|
+
/rihal-ui-review example 1
|
|
19
|
+
/rihal-ui-review example 2
|
|
20
20
|
```
|
|
21
21
|
|
|
22
22
|
STOP — do not proceed.
|
|
@@ -45,7 +45,7 @@ test -f ".rihal/UI-SPEC.md"
|
|
|
45
45
|
|
|
46
46
|
**If missing:**
|
|
47
47
|
```
|
|
48
|
-
⚠ UI-SPEC.md not found. Run /rihal
|
|
48
|
+
⚠ UI-SPEC.md not found. Run /rihal-ui-phase first to create design contract.
|
|
49
49
|
```
|
|
50
50
|
|
|
51
51
|
Exit.
|
package/rihal/workflows/undo.md
CHANGED
|
@@ -8,13 +8,13 @@ Safe git revert workflow. Rolls back Rihal phase or plan commits using the phase
|
|
|
8
8
|
If `$ARGUMENTS` is empty or contains only `--help` or `-h`:
|
|
9
9
|
|
|
10
10
|
```
|
|
11
|
-
/rihal
|
|
11
|
+
/rihal-undo <argument-here>
|
|
12
12
|
```
|
|
13
13
|
|
|
14
14
|
**Examples:**
|
|
15
15
|
```
|
|
16
|
-
/rihal
|
|
17
|
-
/rihal
|
|
16
|
+
/rihal-undo example 1
|
|
17
|
+
/rihal-undo example 2
|
|
18
18
|
```
|
|
19
19
|
|
|
20
20
|
STOP — do not proceed.
|
|
@@ -47,21 +47,21 @@ Parse $ARGUMENTS for the undo mode:
|
|
|
47
47
|
If no valid argument is provided, display usage and exit:
|
|
48
48
|
|
|
49
49
|
```
|
|
50
|
-
Usage: /rihal
|
|
50
|
+
Usage: /rihal-undo --last N | --phase NN [--to-snapshot] | --plan NN-MM
|
|
51
51
|
|
|
52
52
|
Modes:
|
|
53
53
|
--last N Show last N Rihal commits for interactive selection
|
|
54
54
|
--phase NN Revert all commits for phase NN (uses manifest, fallback to git log)
|
|
55
55
|
--phase NN --to-snapshot
|
|
56
56
|
Revert every commit between rihal/snapshot/phase-NN and HEAD —
|
|
57
|
-
exact restore to the pre-execution tag created by /rihal
|
|
57
|
+
exact restore to the pre-execution tag created by /rihal-execute
|
|
58
58
|
--plan NN-MM Revert all commits for plan NN-MM
|
|
59
59
|
|
|
60
60
|
Examples:
|
|
61
|
-
/rihal
|
|
62
|
-
/rihal
|
|
63
|
-
/rihal
|
|
64
|
-
/rihal
|
|
61
|
+
/rihal-undo --last 5
|
|
62
|
+
/rihal-undo --phase 03
|
|
63
|
+
/rihal-undo --phase 03 --to-snapshot
|
|
64
|
+
/rihal-undo --plan 03-02
|
|
65
65
|
```
|
|
66
66
|
|
|
67
67
|
</step>
|
|
@@ -76,7 +76,7 @@ Before gathering any commits, display:
|
|
|
76
76
|
|
|
77
77
|
Unsure what will be reverted? Run first:
|
|
78
78
|
|
|
79
|
-
/rihal
|
|
79
|
+
/rihal-undo --last 5
|
|
80
80
|
|
|
81
81
|
to preview the last 5 Rihal commits before choosing.
|
|
82
82
|
```
|
|
@@ -141,10 +141,10 @@ if ! git rev-parse --verify "refs/tags/${SNAPSHOT_TAG}" >/dev/null 2>&1; then
|
|
|
141
141
|
cat <<EOF
|
|
142
142
|
No snapshot tag found: ${SNAPSHOT_TAG}
|
|
143
143
|
|
|
144
|
-
Snapshots are created automatically when /rihal
|
|
144
|
+
Snapshots are created automatically when /rihal-execute runs for a phase.
|
|
145
145
|
Options:
|
|
146
|
-
- Drop --to-snapshot and use manifest/git-log fallback: /rihal
|
|
147
|
-
- Re-run /rihal
|
|
146
|
+
- Drop --to-snapshot and use manifest/git-log fallback: /rihal-undo --phase ${TARGET_PHASE}
|
|
147
|
+
- Re-run /rihal-execute <phase> to create a snapshot for future undo
|
|
148
148
|
EOF
|
|
149
149
|
exit 0
|
|
150
150
|
fi
|
|
@@ -294,7 +294,7 @@ Store the response as REVERT_REASON. Continue to execute_revert.
|
|
|
294
294
|
|
|
295
295
|
Run `git status --porcelain`. If the output is non-empty, display the dirty files and abort:
|
|
296
296
|
```
|
|
297
|
-
Working tree has uncommitted changes. Commit or stash them before running /rihal
|
|
297
|
+
Working tree has uncommitted changes. Commit or stash them before running /rihal-undo.
|
|
298
298
|
```
|
|
299
299
|
Exit immediately — do not proceed to any revert operations.
|
|
300
300
|
|
|
@@ -380,13 +380,13 @@ Show next steps:
|
|
|
380
380
|
|
|
381
381
|
/clear then:
|
|
382
382
|
|
|
383
|
-
/rihal
|
|
383
|
+
/rihal-progress
|
|
384
384
|
|
|
385
385
|
───────────────────────────────────────────────────────────────
|
|
386
386
|
|
|
387
387
|
**Also available:**
|
|
388
|
-
- `/rihal
|
|
389
|
-
- `/rihal
|
|
388
|
+
- `/rihal-execute ${PHASE}` — re-execute if needed
|
|
389
|
+
- `/rihal-undo --last 1` — undo the revert itself if something went wrong
|
|
390
390
|
|
|
391
391
|
───────────────────────────────────────────────────────────────
|
|
392
392
|
```
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Workflow: rihal
|
|
1
|
+
# Workflow: rihal-update
|
|
2
2
|
|
|
3
3
|
<purpose>
|
|
4
4
|
Pull the latest rcode from npm and install it **non-destructively** —
|
|
@@ -29,16 +29,16 @@ Per-project state is ALWAYS preserved (never touched by either mode):
|
|
|
29
29
|
If `$ARGUMENTS` contains `--help` or `-h`:
|
|
30
30
|
|
|
31
31
|
```
|
|
32
|
-
/rihal
|
|
33
|
-
/rihal
|
|
34
|
-
/rihal
|
|
32
|
+
/rihal-update # pull latest, preserve user-modified files
|
|
33
|
+
/rihal-update v2.4.0 # pin to a specific version
|
|
34
|
+
/rihal-update --force-overwrite # discard local edits, overwrite all rcode files
|
|
35
35
|
```
|
|
36
36
|
|
|
37
37
|
**Examples:**
|
|
38
38
|
```
|
|
39
|
-
/rihal
|
|
40
|
-
/rihal
|
|
41
|
-
/rihal
|
|
39
|
+
/rihal-update
|
|
40
|
+
/rihal-update v2.4.0
|
|
41
|
+
/rihal-update --force-overwrite
|
|
42
42
|
```
|
|
43
43
|
|
|
44
44
|
## Step 1 — Locate installed package
|
|
@@ -154,7 +154,7 @@ when they intentionally want to discard their customizations):
|
|
|
154
154
|
npx @hanzlaa/rcode@latest install . --force-overwrite --yes
|
|
155
155
|
```
|
|
156
156
|
|
|
157
|
-
**Version pinning** — if the user passed `/rihal
|
|
157
|
+
**Version pinning** — if the user passed `/rihal-update v2.4.0`, pass
|
|
158
158
|
the version through:
|
|
159
159
|
|
|
160
160
|
```bash
|
|
@@ -189,8 +189,8 @@ when relevant. Capture it and re-print as a callout so users notice:
|
|
|
189
189
|
- rihal/workflows/sprint-planning.md
|
|
190
190
|
- .rihal/references/output-format.md
|
|
191
191
|
|
|
192
|
-
These will not auto-update on future /rihal
|
|
193
|
-
their update next time, run /rihal
|
|
192
|
+
These will not auto-update on future /rihal-update calls. To force
|
|
193
|
+
their update next time, run /rihal-update --force-overwrite.
|
|
194
194
|
```
|
|
195
195
|
|
|
196
196
|
## Step 8 — Pull Rihal brain content (v2.0)
|
|
@@ -206,7 +206,7 @@ Parse the JSON output. Report counts to the user:
|
|
|
206
206
|
- `skipped[]` — sources with `<PLACEHOLDER>` URLs (waiting on issue #162 / M5)
|
|
207
207
|
- `errors[]` — sources that failed (network, auth, etc.)
|
|
208
208
|
|
|
209
|
-
If the user passed a version argument (`/rihal
|
|
209
|
+
If the user passed a version argument (`/rihal-update v1.3.0`), pass it through to `brain pull` as `--version v1.3.0`. When supported, `brain pull` will pin each source to the commit recorded in that release's `sources.yaml`. Unknown versions: treat as latest and warn.
|
|
210
210
|
|
|
211
211
|
## Step 9 — Success summary
|
|
212
212
|
|
|
@@ -224,7 +224,7 @@ Rihal brain: M sources pulled, K skipped (placeholder URLs)
|
|
|
224
224
|
|
|
225
225
|
New version available at: .rihal/
|
|
226
226
|
|
|
227
|
-
Run /rihal
|
|
227
|
+
Run /rihal-status to verify installation.
|
|
228
228
|
```
|
|
229
229
|
|
|
230
230
|
## Success Criteria
|
|
@@ -28,7 +28,7 @@ AUDITOR_MODEL=$(node ".rihal/bin/rihal-tools.cjs" resolve-model rihal-nyquist-au
|
|
|
28
28
|
NYQUIST_CFG=$(node ".rihal/bin/rihal-tools.cjs" config-get workflow.nyquist_validation --raw)
|
|
29
29
|
```
|
|
30
30
|
|
|
31
|
-
If `NYQUIST_CFG` is `false`: exit with "Nyquist validation is disabled. Enable via /rihal
|
|
31
|
+
If `NYQUIST_CFG` is `false`: exit with "Nyquist validation is disabled. Enable via /rihal-settings."
|
|
32
32
|
|
|
33
33
|
Display banner: `Rihal > VALIDATE PHASE {N}: {name}`
|
|
34
34
|
|
|
@@ -41,7 +41,7 @@ SUMMARY_FILES=$(ls "${PHASE_DIR}"/*-SUMMARY.md 2>/dev/null)
|
|
|
41
41
|
|
|
42
42
|
- **State A** (`VALIDATION_FILE` non-empty): Audit existing
|
|
43
43
|
- **State B** (`VALIDATION_FILE` empty, `SUMMARY_FILES` non-empty): Reconstruct from artifacts
|
|
44
|
-
- **State C** (`SUMMARY_FILES` empty): Exit — "Phase {N} not executed. Run /rihal
|
|
44
|
+
- **State C** (`SUMMARY_FILES` empty): Exit — "Phase {N} not executed. Run /rihal-execute-phase {N} ${Rihal_WS} first."
|
|
45
45
|
|
|
46
46
|
## 2. Discovery
|
|
47
47
|
|
|
@@ -98,7 +98,7 @@ Otherwise call AskUserQuestion with gap table and options:
|
|
|
98
98
|
|
|
99
99
|
```
|
|
100
100
|
Task(
|
|
101
|
-
prompt="Read $HOME/.claude/agents/rihal
|
|
101
|
+
prompt="Read $HOME/.claude/agents/rihal-nyquist-auditor.md for instructions.\n\n" +
|
|
102
102
|
"<files_to_read>{PLAN, SUMMARY, impl files, VALIDATION.md}</files_to_read>" +
|
|
103
103
|
"<gaps>{gap list}</gaps>" +
|
|
104
104
|
"<test_infrastructure>{framework, config, commands}</test_infrastructure>" +
|
|
@@ -150,14 +150,14 @@ node ".rihal/bin/rihal-tools.cjs" commit "docs(phase-${PHASE}): add/update valid
|
|
|
150
150
|
```
|
|
151
151
|
Rihal > PHASE {N} IS NYQUIST-COMPLIANT
|
|
152
152
|
All requirements have automated verification.
|
|
153
|
-
▶ Next: /rihal
|
|
153
|
+
▶ Next: /rihal-audit-milestone ${Rihal_WS}
|
|
154
154
|
```
|
|
155
155
|
|
|
156
156
|
**Partial:**
|
|
157
157
|
```
|
|
158
158
|
Rihal > PHASE {N} VALIDATED (PARTIAL)
|
|
159
159
|
{M} automated, {K} manual-only.
|
|
160
|
-
▶ Retry: /rihal
|
|
160
|
+
▶ Retry: /rihal-validate-phase {N} ${Rihal_WS}
|
|
161
161
|
```
|
|
162
162
|
|
|
163
163
|
Display `/clear` reminder.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<purpose>
|
|
2
|
-
Validate built features through conversational testing with persistent state. Creates UAT.md that tracks test progress, survives /clear, and feeds gaps into /rihal
|
|
2
|
+
Validate built features through conversational testing with persistent state. Creates UAT.md that tracks test progress, survives /clear, and feeds gaps into /rihal-plan --gaps.
|
|
3
3
|
|
|
4
4
|
User tests, Claude records. One test at a time. Plain text responses.
|
|
5
5
|
</purpose>
|
|
@@ -13,8 +13,8 @@ Open with banner:
|
|
|
13
13
|
```
|
|
14
14
|
TaskCreate: one entry per story to verify.
|
|
15
15
|
Per-story status: `✓ Story 01.1.01 — passed`, `✗ Story 01.1.02 — FAILED: {reason}`, `⚠ Story 01.1.03 — partial`.
|
|
16
|
-
If any fail: route to `/rihal
|
|
17
|
-
If all pass: `RIHAL ► SPRINT {NN.S} VERIFIED ✓` + Next Up: `/rihal
|
|
16
|
+
If any fail: route to `/rihal-plan --gaps` for remediation.
|
|
17
|
+
If all pass: `RIHAL ► SPRINT {NN.S} VERIFIED ✓` + Next Up: `/rihal-next`.
|
|
18
18
|
</output_format>
|
|
19
19
|
|
|
20
20
|
<required_reading>
|
|
@@ -95,7 +95,7 @@ If no, continue to `create_uat_file`.
|
|
|
95
95
|
```
|
|
96
96
|
No active UAT sessions.
|
|
97
97
|
|
|
98
|
-
Provide a phase number to start testing (e.g., /rihal
|
|
98
|
+
Provide a phase number to start testing (e.g., /rihal-verify-work 4)
|
|
99
99
|
```
|
|
100
100
|
|
|
101
101
|
**If no active sessions AND $ARGUMENTS provided:**
|
|
@@ -436,31 +436,31 @@ SECURITY_FILE=$(ls "${PHASE_DIR}"/*-SECURITY.md 2>/dev/null | head -1)
|
|
|
436
436
|
|
|
437
437
|
If `SECURITY_CFG` is `true` AND `SECURITY_FILE` is empty:
|
|
438
438
|
```
|
|
439
|
-
⚠ Security enforcement enabled — /rihal
|
|
439
|
+
⚠ Security enforcement enabled — /rihal-secure-phase {phase} has not run.
|
|
440
440
|
Run before advancing to the next phase.
|
|
441
441
|
|
|
442
442
|
All tests passed. Ready to continue.
|
|
443
443
|
|
|
444
|
-
- `/rihal
|
|
445
|
-
- `/rihal
|
|
446
|
-
- `/rihal
|
|
447
|
-
- `/rihal
|
|
444
|
+
- `/rihal-secure-phase {phase}` — security review (required before advancing)
|
|
445
|
+
- `/rihal-plan {next}` — Plan next phase
|
|
446
|
+
- `/rihal-execute-phase {next}` — Execute next phase
|
|
447
|
+
- `/rihal-ui-review {phase}` — visual quality audit (if frontend files were modified)
|
|
448
448
|
```
|
|
449
449
|
|
|
450
450
|
If `SECURITY_CFG` is `true` AND `SECURITY_FILE` exists: check frontmatter `threats_open`. If > 0:
|
|
451
451
|
```
|
|
452
452
|
⚠ Security gate: {threats_open} threats open
|
|
453
|
-
/rihal
|
|
453
|
+
/rihal-secure-phase {phase} — resolve before advancing
|
|
454
454
|
```
|
|
455
455
|
|
|
456
456
|
If `SECURITY_CFG` is `false` OR (`SECURITY_FILE` exists AND `threats_open` is `0`):
|
|
457
457
|
```
|
|
458
458
|
All tests passed. Ready to continue.
|
|
459
459
|
|
|
460
|
-
- `/rihal
|
|
461
|
-
- `/rihal
|
|
462
|
-
- `/rihal
|
|
463
|
-
- `/rihal
|
|
460
|
+
- `/rihal-plan {next}` — Plan next phase
|
|
461
|
+
- `/rihal-execute-phase {next}` — Execute next phase
|
|
462
|
+
- `/rihal-secure-phase {phase}` — security review
|
|
463
|
+
- `/rihal-ui-review {phase}` — visual quality audit (if frontend files were modified)
|
|
464
464
|
```
|
|
465
465
|
</step>
|
|
466
466
|
|
|
@@ -518,7 +518,7 @@ ${AGENT_SKILLS_PLANNER}
|
|
|
518
518
|
</planning_context>
|
|
519
519
|
|
|
520
520
|
<downstream_consumer>
|
|
521
|
-
Output consumed by /rihal
|
|
521
|
+
Output consumed by /rihal-execute-phase
|
|
522
522
|
Plans must be executable prompts.
|
|
523
523
|
</downstream_consumer>
|
|
524
524
|
""",
|
|
@@ -631,7 +631,7 @@ Display: `Max iterations reached. {N} issues remain.`
|
|
|
631
631
|
Offer options:
|
|
632
632
|
1. Force proceed (execute despite issues)
|
|
633
633
|
2. Provide guidance (user gives direction, retry)
|
|
634
|
-
3. Abandon (exit, user runs /rihal
|
|
634
|
+
3. Abandon (exit, user runs /rihal-plan manually)
|
|
635
635
|
|
|
636
636
|
Wait for user response.
|
|
637
637
|
</step>
|
|
@@ -659,7 +659,7 @@ Plans verified and ready for execution.
|
|
|
659
659
|
|
|
660
660
|
**Execute fixes** — run fix plans
|
|
661
661
|
|
|
662
|
-
`/clear` then `/rihal
|
|
662
|
+
`/clear` then `/rihal-execute-phase {phase} --gaps-only`
|
|
663
663
|
|
|
664
664
|
───────────────────────────────────────────────────────────────
|
|
665
665
|
```
|
|
@@ -713,5 +713,5 @@ Default to **major** if unclear. User can correct if needed.
|
|
|
713
713
|
- [ ] If issues: rihal-planner creates fix plans (gap_closure mode)
|
|
714
714
|
- [ ] If issues: rihal-plan-checker verifies fix plans
|
|
715
715
|
- [ ] If issues: revision loop until plans pass (max 3 iterations)
|
|
716
|
-
- [ ] Ready for `/rihal
|
|
716
|
+
- [ ] Ready for `/rihal-execute-phase --gaps-only` when complete
|
|
717
717
|
</success_criteria>
|