Planck v0.1.8
Self-improving agents — Skill Reflector
After any turn with five or more tool calls, the bundled sidecar automatically reflects on the conversation and decides whether to capture the workflow as a reusable skill. A mini-agent (Sidecar.SkillReflector.Runner) runs list_skills → write_skill and injects a create_skill or update_skill synthetic tool result back into the parent agent's history so the LLM sees what was captured on its next turn. Enable per-agent in TEAM.json: "turn_end_hook": "Sidecar.SkillReflector".
Per-agent memory
Agents can now persist and retrieve memory across sessions via Typesense. Sidecar.Memory implements Hooks.Prompt — it injects a condensed memory block before the system prompt and updates it via the update_memory tool. Enable per-agent: "prompt_hook": "Sidecar.Memory".
Session search
Sidecar.SessionIndexer indexes every turn into a long_term_memory Typesense collection. The session_search sidecar tool lets agents query past turns across all sessions.
Sidecar tools visible in the UI
The agents sidebar and status bar now show the tools registered by the connected sidecar as an expandable list. Sidecar tools are also correctly injected into the active orchestrator on connect and removed on disconnect.
Hooks namespace (planck_agent)
Three behaviours under Planck.Agent.Hooks: Compactor, Prompt, and TurnEnd. All use module-based dispatch — no closure wrapping. TurnEnd.reflect/4 dispatches unconditionally; threshold logic belongs to the implementation.
Skill system overhaul (planck_agent)
SkillUsage— per-project SQLite DB at.planck/skills.dbtracks skill usage per agent;load_skillupserts on every call and rankings inform the system prompt.SkillIndex— consolidated struct replacing five separate skill fields in agent state.Skill.tgainsalways_present,planck_version, andcreatorfrontmatter fields.Skill.system_prompt_section/3— three-part index: pinned skills, last-used, discovery line.inject_tool_result/3— new public API for synthetic tool call + result pairs.
planck_setup bundled skill
Installed automatically by the install scripts. Contains guides for providers, teams, skills, sidecars, hooks, and the HTTP API — always present in the system prompt index.
SidecarManager stability fixes
- Handles stdout/stderr from the sidecar process to prevent
FunctionClauseErrorcrashes. - Kills the stale epmd node registration before spawning a new sidecar, fixing "name already in use" failures after a crash.
Other fixes
- macOS binary: pin Burrito ERTS download to OTP 28.4 — OTP 28.5.0.1 was released the same day as v0.1.7 and beam-machine had not yet published a pre-compiled build for it, causing the macOS binary to fail.
- Hex publishing:
local_or_hexnow skips path dependency auto-detection whenHEX_PUBLISHis set, fixing "path deps not allowed" errors duringmix hex.publish. - CI: sidecar integration test sidecar updated for the
Planck.Agent.Hooks.Compactornamespace rename.