429c5bbf ยท zzmq.dev@gmail.com/zz
Commit
429c5bbf8447b23377ded118e8e1f3b9b01c2b41
Add cross-repo Ladder search, wired into actual contributor decisions Ladder content (file/repo rung summaries) was being generated but never consulted -- every scripted agent flow built its prompt purely from raw git file content and the ask's own description. This makes it findable and actually used: - A D1 FTS5 index (migration 0008), upserted from the one real choke point every rung write already passes through (CloudflareBackend's writeLadder) -- no changes needed at any call site. - GET /api/ladder/search, BM25-ranked, public-repo-scoped for v1, no embeddings/vector search (keeps this at zero extra cost, consistent with Vectorize already being cut from this build). - A new Backend.searchLadder() method (not a direct HTTP call from inside the tool's execute() -- that was tried first and is wrong: when ladder_search is dispatched through the generic remote tool-calling loop, its execute() runs server-side inside the Durable Object, where there's no filesystem/credentials to make an outbound authenticated call with. Confirmed and fixed live. - scriptedWork.ts's contributor flow can't let the model call a tool mid-generation (generateText always passes an empty tools array, by design, for reliability) -- so the search runs in the surrounding code instead, once per ask, with hits spliced into the proposal prompt as "potentially relevant code elsewhere in the ecosystem." Same change made to the generic loop's SYSTEM_PROMPT for ask kinds that do use real tool-calling. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Troy Howard <thoward37@gmail.com> -- 2026-10-13T01:23:31.000Z