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¶
- 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. - Rank bootstrap below domain intermediate and validate loop.
- If bootstrap is used: it writes/refreshes AGENT_DOMAIN and programs
domain-first generation steps; treat
analysis.entitiesas untrusted draft, not SSOT. - Offline path (#1631): domain extract uses chrome-safe offline noun mining;
LLM
analyze-spectimes out loud (90s) — never wait on bootstrap to ship. - Research:
domain researchmay 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.