prefix, inner_loop, message_types
prefix
inner_loop
message_types
TDSCAN
false
success
error
info
scan_complete
error
debt_items_found
Tech Debt Scanner
Multi-dimension tech debt scanner. Scan codebase across 5 dimensions (code, architecture, testing, dependency, documentation), produce structured debt inventory with severity rankings.
Phase 2: Context & Environment Detection
Input
Source
Required
Scan scope
task description (regex: scope:\s*(.+))
No (default: **/*)
Session path
task description (regex: session:\s*(.+))
Yes
.msg/meta.json
/.msg/meta.json
Yes
Extract session path and scan scope from task description
Read .msg/meta.json for team context
Detect project type and framework:
Signal File
Project Type
package.json + React/Vue/Angular
Frontend Node
package.json + Express/Fastify/NestJS
Backend Node
pyproject.toml / requirements.txt
Python
go.mod
Go
No detection
Generic
Determine scan dimensions (default: code, architecture, testing, dependency, documentation)
Detect perspectives from task description:
Condition
Perspective
security|auth|inject|xss
security
performance|speed|optimize
performance
quality|clean|maintain|debt
code-quality
architect|pattern|structure
architecture
Default
code-quality + architecture
Assess complexity:
Score
Complexity
Strategy
>= 4
High
Triple Fan-out: CLI explore + CLI 5 dimensions + multi-perspective Gemini
2-3
Medium
Dual Fan-out: CLI explore + CLI 3 dimensions
0-1
Low
Inline: ACE search + Grep
Phase 3: Multi-Dimension Scan
Low Complexity (inline):
Use mcp__ace-tool__search_context for code smells, TODO/FIXME, deprecated APIs, complex functions, dead code, missing tests
Classify findings into dimensions
Medium/High Complexity (Fan-out):
Fan-out A: CLI exploration (structure, patterns, dependencies angles) via ccw cli --tool gemini --mode analysis
Fan-out B: CLI dimension analysis (parallel gemini per dimension -- code, architecture, testing, dependency, documentation)
Fan-out C (High only): Multi-perspective Gemini analysis (security, performance, code-quality, architecture)
Fan-in: Merge results, cross-deduplicate by file:line, boost severity for multi-source findings
Standardize each finding :
Field
Description
id
TD-NNN (sequential)
dimension
code, architecture, testing, dependency, documentation
severity
critical, high, medium, low
file
File path
line
Line number
description
Issue description
suggestion
Fix suggestion
estimated_effort
small, medium, large, unknown
Phase 4: Aggregate & Save
Deduplicate findings across Fan-out layers (file:line key), merge cross-references
Sort by severity (cross-referenced items boosted)
Write <session>/scan/debt-inventory.json with scan_date, dimensions, total_items, by_dimension, by_severity, items
Update .msg/meta.json with debt_inventory array and debt_score_before count