Skip to content

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

# from stale init template or banner folklore
framework_version = "~0.38"
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

  1. After dazzle init, pin is ~{{major.minor}} from installed package.
  2. For decisions: use status(operation=mcp)version_cognition (installed, project_pin, compatible) or dazzle version / doctor — not banner alone.
  3. If serve rejects pin: fix framework_version in dazzle.toml to match installed minor, or install the requested range deliberately.
  4. 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.