| name | validate-hypothesis |
| description | Validate design hypotheses via code experiments, codebase analysis, and external research. |
| allowed-tools | Bash(echo *), Bash(rp1 *) |
| metadata | {"category":"investigation","is_workflow":false,"version":"1.0.0","tags":["feature","validation","design"],"created":"2025-11-29T00:00:00.000Z","updated":"2026-02-26T00:00:00.000Z","author":"cloud-on-prem/rp1","arguments":[{"name":"FEATURE_ID","type":"string","required":true,"description":"Feature identifier whose hypotheses to validate (kebab-case)"}],"sub_agents":["rp1-dev:hypothesis-tester"]} |
Hypothesis Validator
Invokes hypothesis-tester agent to validate design assumptions.
Prerequisites
{workRoot}/features/{FEATURE_ID}/hypotheses.md MUST exist
- Created by the feature-architect agent during the design phase when high-risk assumptions are identified
Execution
Step 1: Invoke Agent
{% dispatch_agent "rp1-dev:hypothesis-tester" %}
FEATURE_ID: {FEATURE_ID}
Validate all PENDING hypotheses for this feature.
{% enddispatch_agent %}
Agent actions: load hypotheses.md -> parse PENDING -> validate via experiment/analysis/research -> document findings w/ evidence -> update status CONFIRMED|REJECTED -> cleanup temp artifacts -> report summary
Step 2: Handle Rejected Hypotheses
Parse agent output. If JSON block w/ type: "rejected_hypotheses":
{
"type": "rejected_hypotheses",
"hypotheses": [...],
"hypotheses_path": "..."
}
For each rejected:
{% ask_user "{id} REJECTED: {statement}. Evidence: {evidence_summary}. Domain knowledge confirms valid?", options: "Accept rejection", "Override - I confirm valid" %}
If "Override":
- Edit hypotheses.md:
- Status:
REJECTED -> CONFIRMED_BY_USER
- Append:
**User Override**: User confirmed validity based on domain knowledge.
If "Accept rejection": No change (status remains REJECTED)
Step 3: Report Result
Display validation summary. Note any user overrides.