v0.12.0 — the scaffold delivers skills
Fixed
decimalai initproduced an agent that could not read any of its skills. Onlangchain— the framework you get by default —inject_skill_bodydefaulted toFalseand the adapter registers noload_skilltool, so both body channels were off. The model received a menu of skill titles with no mechanism to read them.inject_skill_bodyis now tri-state and resolved per adapter: no tool loop means inject, a tool loop means don't double-deliver, an explicit setting always wins.- A single 5xx could destroy 50 buffered traces. Non-429 responses got zero retries, and
flush()'s bareexceptcleared a buffer that auto-flushes at 50.502/503/504are now retried,500is opt-in per call site, and the buffer survives 5xx andhttpx.RequestError. - The generated
langchainfile was not an agent — a chat model namedagentwith no tool loop, so following its own docstring returned an empty string. It now emitscreate_agent(...)with a real loop, usinglangchain.agents.create_agentrather than the deprecatedlanggraph.prebuilt.create_react_agent. - The generated
openai-agentsfile died withMaxTurnsExceededon a realistic ticket. - Google ADK can deliver a skill body. It was refused a scaffold on a "no prompt seam" claim that was wrong.
Added
decimalai init --framework pydantic-ai— the third scaffoldable framework. A live run of the generated file answered with a figure that exists only in the skill body the model pulled throughload_skill.
Full notes in CHANGELOG.md.