Skip to content

Bootstrap / spec_analyze domain pollution

The corpus prior

Agents default to generate-then-fix: feed SPEC → bootstrap / analyze-spec → accept invented entities. Training data rewards full scaffolds from prose. Markdown tables, field names, and UI chrome become fake domain types (Optional, Raise, Field, Display). Offline hangs and unbounded clarification questions are sibling failures.

Wrong shape

spec_analyze(discover_entities) on a clear spend brief
→ entities: Optional, Field, Display, Refund, Booking…
→ agent authors DSL around pollution

Worse than hand-authoring from the brief.

Right shape

  1. Default path: founder brief → close open questions with the founder → knowledge concepts → hand-author DSL from the brief's vocabulary → validate.
  2. Rank bootstrap below hand-authoring and the validate loop.
  3. If bootstrap is used: treat analysis.entities as untrusted draft, not SSOT; keep only nouns the founder actually uses.
  4. Offline path (#1631): LLM analyze-spec times out loud (90s) — never wait on bootstrap to ship.

Why this matters here

1629 A/B: MCP already wins on validate/knowledge; bootstrap polluted the

domain model. Agent cognition improves by not calling the polluting path by default, not by waiting for perfect extraction.