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 → dazzle domain extract / domain(extract) → AGENT_DOMAIN.md (agent audience) → domain research / gaps → domain promote → knowledge concepts → hand-author DSL → validate.
  2. Rank bootstrap below domain intermediate and validate loop.
  3. If bootstrap is used: it writes/refreshes AGENT_DOMAIN and programs domain-first generation steps; treat analysis.entities as untrusted draft, not SSOT.
  4. Offline path (#1631): domain extract uses chrome-safe offline noun mining; LLM analyze-spec times out loud (90s) — never wait on bootstrap to ship.
  5. Research: domain research may answer questions and set owner hints; it refuses ungrounded nouns (no chrome invents).

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.