1.8 KiB
1.8 KiB
Completeness Checklist
Before concluding micro-analysis of a function, verify:
Structural Completeness
- Purpose section: 2+ sentences explaining function role
- Inputs & Assumptions section: All parameters + implicit inputs documented
- Outputs & Effects section: All returns, state writes, external calls, events
- Block-by-Block Analysis: Every logical block analyzed (no gaps)
- Cross-Function Dependencies: All calls and shared state documented
Content Depth
- Identified at least 3 invariants (what must always hold)
- Documented at least 5 assumptions (what is assumed true)
- Applied First Principles at least once
- Applied 5 Whys or 5 Hows at least 3 times total
- Risk analysis for all external interactions (reentrancy, malicious contracts, etc.)
Continuity & Integration
- Cross-reference with related functions (if internal calls exist, analyze callees)
- Propagated assumptions from callers (if this function is called by others)
- Identified invariant couplings (how this function's invariants relate to global system)
- Tracked data flow across function boundaries (if applicable)
Anti-Hallucination Verification
- All claims reference specific line numbers (L45, L98-102, etc.)
- No vague statements ("probably", "might", "seems to") - replaced with "unclear; need to check X"
- Contradictions resolved (if earlier analysis conflicts with current findings, explicitly updated)
- Evidence-based: Every invariant/assumption tied to actual code
Completeness Signal
Analysis is complete when:
- All checklist items above are satisfied
- No remaining "TODO: analyze X" or "unclear Y" items
- Full call chain analyzed (for internal calls, jumped into and analyzed)
- All identified risks have mitigation analysis or acknowledged as unresolved