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 → close open questions with the founder → knowledge concepts → hand-author DSL from the brief's vocabulary → validate.
- Rank bootstrap below hand-authoring and the validate loop.
- If bootstrap is used: treat
analysis.entitiesas untrusted draft, not SSOT; keep only nouns the founder actually uses. - Offline path (#1631): LLM
analyze-spectimes 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.