- Local TypeScript: scan .ts and .tsx, skipping dependencies and build output. Remote ingestion is not implemented.
- Source locations: let readers find the code behind an answer.
- Prompt boundaries: request answers from retrieved context and acknowledge missing evidence. Correctness still needs evaluation.
INTERACTIVE ENGINEERING EXAMPLE
Synthetic code · deterministic chunking · no embeddings, semantic search or LLM outputBefore retrieval: preserve the source.
Change the chunk size and overlap to inspect how source lines become context. Smaller chunks offer less context; overlap repeats boundary lines. This simple approach can split a function in the middle.3 chunks · viewing lines 1–10synthetic/inventory.ts · source metadata travels with the content
1 // Synthetic example: inventory.ts
2 type Item = { id: string; stock: number; price: number };
3
4 export function available(items: Item[]): Item[] {
5 return items.filter(item => item.stock > 0);
6 }
7
8 export function subtotal(items: Item[]): number {
9 return items.reduce((sum, item) => sum + item.price, 0);
10 }Inspect the full synthetic input
1 // Synthetic example: inventory.ts
2 type Item = { id: string; stock: number; price: number };
3
4 export function available(items: Item[]): Item[] {
5 return items.filter(item => item.stock > 0);
6 }
7
8 export function subtotal(items: Item[]): number {
9 return items.reduce((sum, item) => sum + item.price, 0);
10 }
11
12 export function findItem(items: Item[], id: string) {
13 return items.find(item => item.id === id);
14 }
15
16 export function describe(item: Item): string {
17 return `${item.id}: ${item.stock} available`;
18 }
19
20 // Chunk boundaries follow lines, not syntax trees.