Version pin / banner distrust¶
The corpus prior¶
Agents read the CLI banner or a single importlib string and write
framework_version = "~0.38" (stale template) or refuse to serve because two
version strings disagree. Training data treats “printed version” as SSOT.
Wrong shape¶
banner says 0.106.0, package metadata 0.104.x → agent invents “install ~0.106”
while pin and installed may already match under tilde rules
Right shape¶
- After
dazzle init, pin is~{{major.minor}}from installed package. - For decisions: use
status(operation=mcp)→version_cognition(installed, project_pin, compatible) ordazzle version/ doctor — not banner alone. - If serve rejects pin: fix
framework_versionin dazzle.toml to match installed minor, or install the requested range deliberately. - Do not invent pins from partial greps of monorepo tags.
Why this matters here¶
1629 G7: agent cannot trust version statements for pin decisions. Cognition¶
needs a triple (installed / pin / compatible), not a single string.