feat(init-deep): restructure Phase 1 to fire background explore first, then LSP codemap

- Step 1: Fire ALL background explore agents immediately (non-blocking)
- Step 2: Main session builds codemap understanding using LSP tools while background runs
- Step 3: Collect background results after main session analysis

This maximizes throughput by having agents discover patterns while the main session
analyzes code structure semantically via LSP.
This commit is contained in:
sisyphus-dev-ai
2025-12-31 03:55:48 +00:00
parent 7cb3f23c2b
commit 8cbdfbaf78

View File

@@ -46,11 +46,40 @@ TodoWrite([
**Mark "p1-analysis" as in_progress.** **Mark "p1-analysis" as in_progress.**
Launch **ALL tasks simultaneously**: <critical>
**EXECUTION PATTERN**: Fire background agents FIRST (non-blocking), then main session builds codemap understanding using LSP tools in parallel. This maximizes throughput—agents discover while you analyze.
</critical>
<parallel-tasks> ---
### Structural Analysis (bash - run in parallel) ### Step 1: Fire Background Explore Agents (IMMEDIATELY)
Fire ALL background tasks at once. They run asynchronously—don't wait for results yet.
\`\`\`
// Fire immediately - these run in parallel, non-blocking
background_task(agent="explore", prompt="Project structure: PREDICT standard {lang} patterns → FIND package.json/pyproject.toml/go.mod → REPORT deviations only")
background_task(agent="explore", prompt="Entry points: PREDICT typical (main.py, index.ts) → FIND actual → REPORT non-standard organization")
background_task(agent="explore", prompt="Conventions: FIND .cursor/rules, .cursorrules, eslintrc, pyproject.toml → REPORT project-specific rules DIFFERENT from defaults")
background_task(agent="explore", prompt="Anti-patterns: FIND comments with 'DO NOT', 'NEVER', 'ALWAYS', 'LEGACY', 'DEPRECATED' → REPORT forbidden patterns")
background_task(agent="explore", prompt="Build/CI: FIND .github/workflows, Makefile, justfile → REPORT non-standard build/deploy patterns")
background_task(agent="explore", prompt="Test patterns: FIND pytest.ini, jest.config, test structure → REPORT unique testing conventions")
\`\`\`
---
### Step 2: Main Session Codemap Understanding (while background runs)
While background agents discover patterns, main session builds codemap understanding using direct tools.
<parallel-tools>
#### Structural Analysis (bash)
\`\`\`bash \`\`\`bash
# Task A: Directory depth analysis # Task A: Directory depth analysis
find . -type d -not -path '*/\\.*' -not -path '*/node_modules/*' -not -path '*/venv/*' -not -path '*/__pycache__/*' -not -path '*/dist/*' -not -path '*/build/*' | awk -F/ '{print NF-1}' | sort -n | uniq -c find . -type d -not -path '*/\\.*' -not -path '*/node_modules/*' -not -path '*/venv/*' -not -path '*/__pycache__/*' -not -path '*/dist/*' -not -path '*/build/*' | awk -F/ '{print NF-1}' | sort -n | uniq -c
@@ -65,48 +94,33 @@ find . -type f \\( -name "*.py" -o -name "*.ts" -o -name "*.tsx" -o -name "*.js"
find . -type f \\( -name "AGENTS.md" -o -name "CLAUDE.md" \\) -not -path '*/node_modules/*' 2>/dev/null find . -type f \\( -name "AGENTS.md" -o -name "CLAUDE.md" \\) -not -path '*/node_modules/*' 2>/dev/null
\`\`\` \`\`\`
### Context Gathering (Explore agents - background_task in parallel) #### LSP Codemap Analysis (main session - semantic understanding)
LSP provides semantic understanding beyond text search. Build the codemap while background agents run.
\`\`\` \`\`\`
background_task(agent="explore", prompt="Project structure: PREDICT standard {lang} patterns → FIND package.json/pyproject.toml/go.mod → REPORT deviations only") # Check LSP availability first
background_task(agent="explore", prompt="Entry points: PREDICT typical (main.py, index.ts) → FIND actual → REPORT non-standard organization")
background_task(agent="explore", prompt="Conventions: FIND .cursor/rules, .cursorrules, eslintrc, pyproject.toml → REPORT project-specific rules DIFFERENT from defaults")
background_task(agent="explore", prompt="Anti-patterns: FIND comments with 'DO NOT', 'NEVER', 'ALWAYS', 'LEGACY', 'DEPRECATED' → REPORT forbidden patterns")
background_task(agent="explore", prompt="Build/CI: FIND .github/workflows, Makefile, justfile → REPORT non-standard build/deploy patterns")
background_task(agent="explore", prompt="Test patterns: FIND pytest.ini, jest.config, test structure → REPORT unique testing conventions")
\`\`\`
### Code Intelligence Analysis (LSP tools - run in parallel)
LSP provides semantic understanding beyond text search. Use for accurate code mapping.
\`\`\`
# Step 1: Check LSP availability
lsp_servers() # Verify language server is available lsp_servers() # Verify language server is available
# Step 2: Analyze entry point files (run in parallel) # Analyze entry point files (run in parallel)
# Find entry points first, then analyze each with lsp_document_symbols
lsp_document_symbols(filePath="src/index.ts") # Main entry lsp_document_symbols(filePath="src/index.ts") # Main entry
lsp_document_symbols(filePath="src/main.py") # Python entry lsp_document_symbols(filePath="src/main.py") # Python entry
lsp_document_symbols(filePath="cmd/main.go") # Go entry lsp_document_symbols(filePath="cmd/main.go") # Go entry
# Step 3: Discover key symbols across workspace (run in parallel) # Discover key symbols across workspace (run in parallel)
lsp_workspace_symbols(filePath=".", query="class") # All classes lsp_workspace_symbols(filePath=".", query="class") # All classes
lsp_workspace_symbols(filePath=".", query="interface") # All interfaces lsp_workspace_symbols(filePath=".", query="interface") # All interfaces
lsp_workspace_symbols(filePath=".", query="function") # Top-level functions lsp_workspace_symbols(filePath=".", query="function") # Top-level functions
lsp_workspace_symbols(filePath=".", query="type") # Type definitions lsp_workspace_symbols(filePath=".", query="type") # Type definitions
# Step 4: Analyze symbol centrality (for top 5-10 key symbols) # Analyze symbol centrality (for top 5-10 key symbols)
# High reference count = central/important concept # High reference count = central/important concept
lsp_find_references(filePath="src/index.ts", line=X, character=Y) # Main export lsp_find_references(filePath="src/index.ts", line=X, character=Y) # Main export
\`\`\` \`\`\`
#### LSP Analysis Output Format </parallel-tools>
#### Codemap Output Format
\`\`\` \`\`\`
CODE_INTELLIGENCE = { CODE_INTELLIGENCE = {
@@ -125,12 +139,21 @@ CODE_INTELLIGENCE = {
\`\`\` \`\`\`
<critical> <critical>
**LSP Fallback**: If LSP unavailable (no server installed), skip this section and rely on explore agents + AST-grep patterns. **LSP Fallback**: If LSP unavailable (no server installed), skip LSP section and rely on explore agents + AST-grep patterns.
</critical> </critical>
</parallel-tasks> ---
**Collect all results. Mark "p1-analysis" as completed.** ### Step 3: Collect Background Results
After main session analysis complete, collect background agent results:
\`\`\`
// Collect all background_task results
// background_output(task_id="...") for each fired task
\`\`\`
**Merge bash + LSP + background agent findings. Mark "p1-analysis" as completed.**
--- ---