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