Understand-Research 150 Protocol
Goal
Perform deep, evidence-based research by mapping both core scope (100%) and boundary scope (50%), while maintaining a structured session log section 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.
Session research log (mandatory)
Create or reuse the active session log:
.sessions/SESSION_[date]-[name].md
If .sessions/ does not exist, create it. If no session log exists yet, create one now using the user-defined session_name (or propose date + short descriptive name). The session log is the single working memory for investigations, progress, and decisions.
Investigation structure (inside the session log)
## Investigations
### Investigation: <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 session 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: 21-understand-research-1503description: [21] UNDERSTAND. 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---56# Understand-Research 150 Protocol78## Goal910Perform deep, evidence-based research by mapping both core scope (100%) and boundary scope (50%), while maintaining a structured session log section that captures what was found and what to explore next.1112## Core principles1314- **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.2021## Investigation Protocol (mandatory)2223**Never stop at the first answer. Dig until you reach bedrock truth.**2425### Levels26271. **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.”3839### Exhaustive Investigation Checklist40411. **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?)4748### Red Flags (investigation incomplete)4950- “probably / likely / should / usually” without verification51- “based on the name” or “seems like”52- only one usage checked53- no contradiction search performed5455### Iron Logic Test (must answer with concrete evidence)56571. 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?6263### Cognitive Forcing Phrases6465- “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?”6970### Investigation Workflow (mandatory)71721. 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.7980## Anti-patterns to avoid (research rigor)81821. **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.9091## Verification hierarchy (trust order)92931. Executable/production code (highest truth)942. API response/request models953. Multiple production usages964. Integration tests975. Unit test mocks986. Documentation (lowest truth; may be outdated)99100## Assumption indicators (trigger verification)101102- “probably”, “likely”, “should”, “typically”, “usually”103- “based on the name”, “seems like”, “appears to”104- “I assume”, “I expect”, “this suggests”105106Replacement pattern: detect hedge → identify missing evidence → observe → state fact with reference.107108## Systematic exploration framework (unknown codebases)1091101. **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.114115Avoid jumping directly to implementation without context/structure/interface.116117## Communication protocol (complex tasks)118119For any investigation, design decision, or multi-step research:1201211. **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.125126## Session research log (mandatory)127128Create or reuse the active session log:129130`.sessions/SESSION_[date]-[name].md`131132If `.sessions/` does not exist, create it. If no session log exists yet, create one now using the user-defined `session_name` (or propose date + short descriptive name). The session log is the **single working memory** for investigations, progress, and decisions.133134### Investigation structure (inside the session log)135136```137## Investigations138139### Investigation: <short topic>140141#### Core question142- <what we are trying to answer>143144#### Scope145- Core (100%):146 - ...147- Boundary (50%):148 - ...149150#### Findings151- <fact> (source: file path / command / web)152 - Subfinding153154#### Hypotheses155- H1: ...156 - Prediction: ...157 - Test: ...158 - Status: pending/confirmed/rejected159160#### Next branches161- ...162 - ...163```164165## Workflow1661671. **Define core question** in the log.1682. **List scope**: core (100%) and boundary (50%).1693. **Start observations** (search/read/run commands). Use the project search protocol:170 - Interface: routes, UI text, public methods, endpoints, schemas.171 - Domain: model/entity names, i18n keys, enums.172 - Patterns: hooks, API clients, controllers, services.173 - Usage: imports, call sites, references.174 Record every solid finding in the log.1754. **Form hypotheses** based on evidence; record predictions and tests.1765. **Review log**, then decide next branch; update scope if it expands.1776. **Repeat** until the question is answered or all branches are exhausted.1787. **Close out**: write a concise summary in the log and in the response, and report completion status (see Output expectations).179180## Using web search181182- If the investigation needs up-to-date facts or external verification, use `web.run` or `web search` tool.183- Capture external findings in the log with a clear source note.184185## Output expectations186187- Provide a short summary of findings.188- Provide the path to the session log file.189- Ask for confirmation before large changes based on the research.190- Explicitly report completion status using technical criteria:191 - "Complete" only if all branches in the log are addressed, all hypotheses are confirmed/rejected, and no open scope items remain.192 - If not complete, list remaining branches or unknowns from the log.