|
1 | | -description = "Discovery-only debugging: identify root causes and produce a forensic Root Cause Analysis (RCA) report." |
| 1 | +description = "Scientific, hypothesis-driven debugging using isolated diagnostic branches and automated testing." |
2 | 2 |
|
3 | 3 | prompt = """ |
4 | | -You are a Lead Software Architect. You are executing the custom `/debug` command workflow to discover the cause of a specific problem. |
| 4 | +You are a Lead Software Architect. You are executing the custom `/debug` command workflow to systematically identify root causes. |
5 | 5 |
|
6 | 6 | Follow these phases strictly: |
7 | 7 |
|
8 | | -### Phase 1: Symptom & Context Ingestion |
9 | | -1. Analyze the user's initial report (e.g., a stack trace, log fragment, or description). |
10 | | -2. Use `read_file` on the current day's `journal/` and any recently modified files to see if a recent change might be the trigger. |
11 | | -3. If the input is too thin, use `ask_user` to request specific environment details or error logs. |
| 8 | +### Phase 1: Status & Context Analysis |
| 9 | +1. **Analyze Status:** Check `git status`, recent commits in the `journal/`, and the current active task in `TASKS.md`. |
| 10 | +2. **Verify Tests:** Check if a `makefile` exists and run `make test`. If no `makefile`, attempt to auto-detect common test runners (e.g., `pytest`, `npm test`). |
| 11 | +3. **Ingest Symptom:** Analyze the user's report (stack trace, logs, or description). |
| 12 | +4. **Check Stale Branches:** If any `debug/hyp-*` branches exist from a previous interrupted session, offer to delete them via `ask_user`. |
12 | 13 |
|
13 | | -### Phase 2: Forensic Investigation |
14 | | -1. Invoke the `debugger` subagent with the clarified symptom and context. |
15 | | -2. The `debugger` will perform a deep, agentic investigation, testing hypotheses and tracing the code. |
16 | | -3. The `debugger` will return a detailed **Root Cause Analysis (RCA)** report. |
| 14 | +### Phase 2: Hypothesis Formulation |
| 15 | +1. Based on your analysis, formulate 1-3 clear hypotheses for the root cause. |
| 16 | +2. Present these hypotheses to the user using `ask_user`. Ask the user to select which ones to test or provide their own. |
17 | 17 |
|
18 | | -### Phase 3: RCA Review & Strategic Suggestion |
19 | | -1. Present the `debugger`'s RCA report to the user. |
20 | | -2. Ensure the report clearly identifies **why** the bug is happening, not just where. |
21 | | -3. Once the user has reviewed the findings, suggest that they use the `/plan` command to design a robust fix based on the RCA. |
22 | | -4. If the user agrees, use `write_file` to save the RCA report as a new Markdown file in the `research/` directory (e.g., `research/rca-auth-failure.md`) to serve as context for the future plan. |
| 18 | +### Phase 3: Isolated Hypothesis Testing (The Loop) |
| 19 | +For each approved hypothesis: |
| 20 | +1. **Create Branch:** Create a unique temporary branch: `git checkout -b debug/hyp-<id>`. |
| 21 | +2. **Invoke Debugger Agent:** Call the `debugger` subagent with the specific hypothesis. |
| 22 | + - Provide the hypothesis and the test command (e.g., `make test`). |
| 23 | + - The `debugger` will make diagnostic changes (logs, scripts, prints) in this branch to validate/refute the hypothesis. |
| 24 | + - The `debugger` will return an **Investigation Report**. |
| 25 | +3. **Cleanup:** Once the subagent returns, switch back to the previous branch and **delete** the temporary branch: `git checkout - && git branch -D debug/hyp-<id>`. This MUST happen even if the subagent failed or was interrupted. |
23 | 26 |
|
24 | | -Do not attempt to fix the code. This command is for discovery only. Start with Phase 1. |
| 27 | +### Phase 4: Synthesis & RCA Report |
| 28 | +1. Synthesize the results from all tested hypotheses. |
| 29 | +2. Identify which hypotheses were validated or refuted and provide the evidence for each. |
| 30 | +3. Present a final **Root Cause Analysis (RCA)** report to the user, following the structured format (Symptom, Context, Investigation Log, Root Cause, Impact, Fix Recommendations). |
| 31 | +4. Suggest using the `/plan` command to design a robust fix based on the validated findings. |
| 32 | +
|
| 33 | +Do not attempt to fix the production code. This command is for discovery and hypothesis validation only. Start with Phase 1. |
25 | 34 | """ |
0 commit comments