Skip to content

v0.0.49 — lead-directed scout survey

Choose a tag to compare

@sebyx07 sebyx07 released this 25 Jul 13:00
· 31 commits to main since this release

Planning now runs a survey team that decides its own shape

The pre-planning survey used to send four hardcoded lenses at every repo, blind to whether it faced a twelve-package monorepo or a single src/. Each scout started from zero, so four of them paid for the same discovery before answering anything.

  • A repo map, built without an LLM (workspace/repo-skeleton.ts) — git ls-files folded into a ranked directory tree plus root manifests, handed to every agent downstream.
  • A scout lead decides how many scouts and where, then briefs each one with sub-questions, start paths, files to read whole, and the identifiers this codebase actually uses. One scout is a legitimate answer: a scout is unrationed, so splitting only pays when the ground genuinely divides.
  • Scouts roam. The briefing is a floor, not a ceiling — cover it, correct it where the map misled, follow the code past it. Findings come back anchored to file:line and schema-capped, so raw reads stay out of the Planner's context.
  • A gap round lets the lead close specific holes, bounded at two rounds.
  • The tracked-file size gate is gone; the lead sizes the wave with actual information instead.

One fan-out knob

subagentLimit (default 10 — 1 main agent + 10 subagents) replaces editorConcurrency. Shared by scout waves and the Worker's editor fanout, and now per-run overridable:

aitm start "" --subagents 20      # or AITM_SUBAGENTS=20

It caps concurrency, not work: each lead decides how much help it needs, and each subagent reads as much as it judges necessary.

Fixed

A planner transcript could be left open forever if anything threw between beginTranscript and the finally that closes it. The survey now runs before the transcript opens.