Research 150
Goal
Perform deep, evidence-based research by mapping both core scope (100%) and boundary scope (50%), while maintaining a structured investigation log that captures what was found and what to explore next.
Core principles
- Evidence-based reasoning: Observe → Hypothesize → Predict → Test → Conclude.
- Scope150: Fully cover the core (what is directly asked) and then cover boundary (adjacent or dependent areas).
- Traceability: Every key finding is recorded in a research log.
- Project search protocol: When locating code, follow an ordered search: interface → domain → patterns → usage.
- Full-file + ecosystem reading: Prefer whole files and surrounding context, not fragments; map dependencies, patterns, and interactions.
- Document all findings: Research is incomplete without recorded evidence.
Investigation Protocol (mandatory)
Never stop at the first answer. Dig until you reach bedrock truth.
Levels
- Surface Observation (never stop here)
- Read one file, see one pattern.
- Treat as a starting point, not a conclusion.
- Cross-Reference Validation (minimum required)
- Find 3+ independent sources confirming the same fact.
- Check production code, tests, models, and docs.
- Contradiction Hunting (always do this)
- Actively search for evidence that disproves the hypothesis.
- Structural Logic Proof (gold standard)
- Build a causal chain: X because Y because Z, each with evidence.
- Use impossibility tests: “If A were true, B would be impossible, but B exists, therefore not A.”
Exhaustive Investigation Checklist
- Data structure definition (models/entities)
- API contract (request/response models)
- Production usage (real call sites, not tests)
- Test evidence (mocks, edge cases, assertions)
- Multiple implementations (find 3+ usage patterns)
- Logical impossibility test (what would disprove the hypothesis?)
Red Flags (investigation incomplete)
- “probably / likely / should / usually” without verification
- “based on the name” or “seems like”
- only one usage checked
- no contradiction search performed
Iron Logic Test (must answer with concrete evidence)
- What facts support this?
- What would disprove this?
- Did you search for contradictions?
- Can you prove causality?
- Would a skeptical engineer accept this evidence trail?
Cognitive Forcing Phrases
- “I see X, but I will verify with 3 independent sources.”
- “This suggests Y, but what would disprove Y?”
- “Found 1 example, need 2 more to confirm pattern.”
- “Seems obvious, but can I prove causality?”
Investigation Workflow (mandatory)
- Form initial hypothesis.
- Find evidence source #1 (model/class).
- Find evidence source #2 (production usage).
- Find evidence source #3 (tests or docs).
- Search for contradictions.
- Build logical proof with evidence at each step.
- Test against skepticism; if not convincing, return to step 2.
Anti-patterns to avoid (research rigor)
- Documentation-only implementation
- Read docs for context, then verify in code. Code wins on conflict.
- Boundary scope blindness
- Always identify consumers/callers, configuration, and dependencies.
- Assumption cascade
- Detect assumption phrases, stop, and verify with evidence.
- Test data as reality
- Tests often simplify; verify behavior in production code.
Verification hierarchy (trust order)
- Executable/production code (highest truth)
- API response/request models
- Multiple production usages
- Integration tests
- Unit test mocks
- Documentation (lowest truth; may be outdated)
Assumption indicators (trigger verification)
- “probably”, “likely”, “should”, “typically”, “usually”
- “based on the name”, “seems like”, “appears to”
- “I assume”, “I expect”, “this suggests”
Replacement pattern: detect hedge → identify missing evidence → observe → state fact with reference.
Systematic exploration framework (unknown codebases)
- Context layer: environment, build system, configuration.
- Structure layer: directory layout, module boundaries.
- Interface layer: endpoints, public APIs, data models.
- Implementation layer: execution paths and conventions.
Avoid jumping directly to implementation without context/structure/interface.
Communication protocol (complex tasks)
For any investigation, design decision, or multi-step research:
- Declare investigation strategy before acting:
- Frameworks you will apply (Scope150, Evidence-Based Reasoning, Cross-Reference Validation, Anti-Pattern checks).
- Concrete steps and expected evidence sources.
- For simple, single-step actions, skip the declaration but still follow evidence-based reasoning.
Research log (mandatory)
Create or reuse a file named:
.temp/INVESTIGATION.md
If .temp/ does not exist, create it. This file is the working memory for the investigation.
Log structure (use nested bullets)
# Investigation Log: <short topic>
## Core question
- <what we are trying to answer>
## Scope
- Core (100%):
- ...
- Boundary (50%):
- ...
## Findings
- <fact> (source: file path / command / web)
- Subfinding
## Hypotheses
- H1: ...
- Prediction: ...
- Test: ...
- Status: pending/confirmed/rejected
## Next branches
- ...
- ...
Workflow
- Define core question in the log.
- List scope: core (100%) and boundary (50%).
- Start observations (search/read/run commands). Use the project search protocol:
- Interface: routes, UI text, public methods, endpoints, schemas.
- Domain: model/entity names, i18n keys, enums.
- Patterns: hooks, API clients, controllers, services.
- Usage: imports, call sites, references.
Record every solid finding in the log.
- Form hypotheses based on evidence; record predictions and tests.
- Review log, then decide next branch; update scope if it expands.
- Repeat until the question is answered or all branches are exhausted.
- Close out: write a concise summary in the log and in the response, and report completion status (see Output expectations).
Using web search
- If the investigation needs up-to-date facts or external verification, use
web.run or web search tool.
- Capture external findings in the log with a clear source note.
Output expectations
- Provide a short summary of findings.
- Provide the path to the investigation log file.
- Ask for confirmation before large changes based on the research.
- Explicitly report completion status using technical criteria:
- "Complete" only if all branches in the log are addressed, all hypotheses are confirmed/rejected, and no open scope items remain.
- If not complete, list remaining branches or unknowns from the log.
1---2name: research-1503description: Deep research workflow for this project using 150% scope (100% core + 50% boundary), evidence-based reasoning, and structured investigation notes. Use when the task requires investigation, root-cause analysis, or mapping unknown areas. Always maintain a research log file that captures findings, hypotheses, and next branches; use web.run when external verification is needed.4---5
6# Research 150
7
8## Goal
9
10Perform deep, evidence-based research by mapping both core scope (100%) and boundary scope (50%), while maintaining a structured investigation log that captures what was found and what to explore next.
11
12## Core principles
13
14- **Evidence-based reasoning:** Observe → Hypothesize → Predict → Test → Conclude.
15- **Scope150:** Fully cover the core (what is directly asked) and then cover boundary (adjacent or dependent areas).
16- **Traceability:** Every key finding is recorded in a research log.
17- **Project search protocol:** When locating code, follow an ordered search: interface → domain → patterns → usage.
18- **Full-file + ecosystem reading:** Prefer whole files and surrounding context, not fragments; map dependencies, patterns, and interactions.
19- **Document all findings:** Research is incomplete without recorded evidence.
20
21## Investigation Protocol (mandatory)
22
23**Never stop at the first answer. Dig until you reach bedrock truth.**
24
25### Levels
26
271. **Surface Observation (never stop here)**
28 - Read one file, see one pattern.
29 - Treat as a starting point, not a conclusion.
302. **Cross-Reference Validation (minimum required)**
31 - Find 3+ independent sources confirming the same fact.
32 - Check production code, tests, models, and docs.
333. **Contradiction Hunting (always do this)**
34 - Actively search for evidence that disproves the hypothesis.
354. **Structural Logic Proof (gold standard)**
36 - Build a causal chain: X because Y because Z, each with evidence.
37 - Use impossibility tests: “If A were true, B would be impossible, but B exists, therefore not A.”
38
39### Exhaustive Investigation Checklist
40
411. **Data structure definition** (models/entities)
422. **API contract** (request/response models)
433. **Production usage** (real call sites, not tests)
444. **Test evidence** (mocks, edge cases, assertions)
455. **Multiple implementations** (find 3+ usage patterns)
466. **Logical impossibility test** (what would disprove the hypothesis?)
47
48### Red Flags (investigation incomplete)
49
50- “probably / likely / should / usually” without verification
51- “based on the name” or “seems like”
52- only one usage checked
53- no contradiction search performed
54
55### Iron Logic Test (must answer with concrete evidence)
56
571. What facts support this?
582. What would disprove this?
593. Did you search for contradictions?
604. Can you prove causality?
615. Would a skeptical engineer accept this evidence trail?
62
63### Cognitive Forcing Phrases
64
65- “I see X, but I will verify with 3 independent sources.”
66- “This suggests Y, but what would disprove Y?”
67- “Found 1 example, need 2 more to confirm pattern.”
68- “Seems obvious, but can I prove causality?”
69
70### Investigation Workflow (mandatory)
71
721. Form initial hypothesis.
732. Find evidence source #1 (model/class).
743. Find evidence source #2 (production usage).
754. Find evidence source #3 (tests or docs).
765. Search for contradictions.
776. Build logical proof with evidence at each step.
787. Test against skepticism; if not convincing, return to step 2.
79
80## Anti-patterns to avoid (research rigor)
81
821. **Documentation-only implementation**
83 - Read docs for context, then verify in code. Code wins on conflict.
842. **Boundary scope blindness**
85 - Always identify consumers/callers, configuration, and dependencies.
863. **Assumption cascade**
87 - Detect assumption phrases, stop, and verify with evidence.
884. **Test data as reality**
89 - Tests often simplify; verify behavior in production code.
90
91## Verification hierarchy (trust order)
92
931. Executable/production code (highest truth)
942. API response/request models
953. Multiple production usages
964. Integration tests
975. Unit test mocks
986. Documentation (lowest truth; may be outdated)
99
100## Assumption indicators (trigger verification)
101
102- “probably”, “likely”, “should”, “typically”, “usually”
103- “based on the name”, “seems like”, “appears to”
104- “I assume”, “I expect”, “this suggests”
105
106Replacement pattern: detect hedge → identify missing evidence → observe → state fact with reference.
107
108## Systematic exploration framework (unknown codebases)
109
1101. **Context layer**: environment, build system, configuration.
1112. **Structure layer**: directory layout, module boundaries.
1123. **Interface layer**: endpoints, public APIs, data models.
1134. **Implementation layer**: execution paths and conventions.
114
115Avoid jumping directly to implementation without context/structure/interface.
116
117## Communication protocol (complex tasks)
118
119For any investigation, design decision, or multi-step research:
120
1211. **Declare investigation strategy** before acting:
122 - Frameworks you will apply (Scope150, Evidence-Based Reasoning, Cross-Reference Validation, Anti-Pattern checks).
123 - Concrete steps and expected evidence sources.
1242. For simple, single-step actions, skip the declaration but still follow evidence-based reasoning.
125
126## Research log (mandatory)
127
128Create or reuse a file named:
129
130`.temp/INVESTIGATION.md`
131
132If `.temp/` does not exist, create it. This file is the working memory for the investigation.
133
134### Log structure (use nested bullets)
135
136```
137# Investigation Log: <short topic>
138
139## Core question
140- <what we are trying to answer>
141
142## Scope
143- Core (100%):
144 - ...
145- Boundary (50%):
146 - ...
147
148## Findings
149- <fact> (source: file path / command / web)
150 - Subfinding
151
152## Hypotheses
153- H1: ...
154 - Prediction: ...
155 - Test: ...
156 - Status: pending/confirmed/rejected
157
158## Next branches
159- ...
160 - ...
161```
162
163## Workflow
164
1651. **Define core question** in the log.
1662. **List scope**: core (100%) and boundary (50%).
1673. **Start observations** (search/read/run commands). Use the project search protocol:
168 - Interface: routes, UI text, public methods, endpoints, schemas.
169 - Domain: model/entity names, i18n keys, enums.
170 - Patterns: hooks, API clients, controllers, services.
171 - Usage: imports, call sites, references.
172 Record every solid finding in the log.
1734. **Form hypotheses** based on evidence; record predictions and tests.
1745. **Review log**, then decide next branch; update scope if it expands.
1756. **Repeat** until the question is answered or all branches are exhausted.
1767. **Close out**: write a concise summary in the log and in the response, and report completion status (see Output expectations).
177
178## Using web search
179
180- If the investigation needs up-to-date facts or external verification, use `web.run` or `web search` tool.
181- Capture external findings in the log with a clear source note.
182
183## Output expectations
184
185- Provide a short summary of findings.
186- Provide the path to the investigation log file.
187- Ask for confirmation before large changes based on the research.
188- Explicitly report completion status using technical criteria:
189 - "Complete" only if all branches in the log are addressed, all hypotheses are confirmed/rejected, and no open scope items remain.
190 - If not complete, list remaining branches or unknowns from the log.