Docs decay.Agents grep; you pray.Larger context windows don't scale.

Deterministic context discovery does.

Works with
Claude CodeCursorCodexGemini
noodl
claude (#1)
claude (#2)
$noodl analyze ~/your-repo
·Parsing 2,847 files...
·Extracting 12,403 symbols...
·Tracing call paths...
·Clustering graph...
·Graph ready — 847ms
·mcp://localhost:3001
>Where is payment retry logic?
·MCP Request: query_with_context({ q: "payment retry" })
·Response
Process: Payment Retry Flow
handleRetry() → payment.ts:142
validateCard() → payment.ts:89
chargePayment() → stripe.ts:201
>Show the full execution trace
·MCP Request: read_resource({ uri: "process://a3f2..." })
·Response
Entry: OrderController.checkout()
→ PaymentService.process()
→ handleRetry() ← you are here
→ StripeClient.charge()
>Check impact of my changes
·MCP Request: detect_impact({ change_scope: "unstaged" })
·git diff --unstaged
·mapping to graph...
·Response
1 symbol changed:
handleRetry() in payment.ts:142
3 processes impacted:
├─ OrderService.processPayment()
├─ SubscriptionService.renew()
└─ RefundService.initiateRefund()

THE PROBLEM

Agents are probablistic

?2 of 9 related symbols found
1.read config/session.ts just config
2.read middleware/auth.ts found
3.read utils/jwt.ts not found
4.read utils/token.ts CSRF tokens
5.read routes/login.ts route only
6.read lib/cookies.ts unrelated
7.read services/user.ts not auth
8.read handlers/auth.ts handlers
9.read helpers/auth.ts found

THE SOLUTION

Structural Awareness

PARENTCHILDCHILDCALLSREFSUSESIMPLREFSrootuserauthmiddlewaresession95%82%67%Context expanded: 9 related symbols
1.parse intent
2.semantic search[95%]
3.FTS search[82%]
4.expand context[67%]
5.traverse graph4 refs
6.rank & merge

WORKFLOW INTEGRATION

Four Points of Integration

From automatic context enrichment to explicit control

Frequently Asked Questions

Never. All analysis and storage happens locally. Your code never leaves your machine.