fix: todos scan task ballooned to 2.5MB and analysis produced no output

The todos pre-scan walked .output/ (Nitro) and .vercel/ (Vercel) build
dirs, flagging 119 of 124 candidates inside minified bundles (single
lines up to 162KB). buildTodosScanTask embedded full candidate lines in
the task prompt, producing a 2.5MB prompt on freno-dev; the analysis
agent settled with ok:true + empty text + no findings.md, verify failed,
and resume re-ran the same oversized prompt and failed identically.

- scope: exclude .output/.vercel/.netlify (shared by all checks)
- todos: truncate candidate code at 160 chars in the prompt + fallback
- agent-runner: a session settling with no text and no observed message/
  tool events now fails the run loudly instead of reporting ok:true
- agent prompts: add the three dirs to each skip list
- tests: excluded-dir scan, prompt truncation, emptySessionError cases
This commit is contained in:
2026-08-11 12:12:15 -04:00
parent 595ce48f3c
commit d8be026a2b
9 changed files with 174 additions and 21 deletions

View File

@@ -56,6 +56,13 @@ export const SCOPE_EXCLUDE_DIRS: ReadonlySet<string> = new Set([
".nuxt",
".turbo",
".svelte-kit",
// Framework/deploy build output: Nitro, Vercel, Netlify artifact dirs.
// Generated bundles dominate a naive marker/stub scan (freno-dev alone
// flagged 119 of 124 candidates inside `.output/`/`.vercel/` minified
// bundles) and must never feed the pre-scan or the agent's file walk.
".output",
".vercel",
".netlify",
"__pycache__",
".venv",
"venv",