Lupin 0.2.2: lupin update and agents --wire
Two follow-ups to 0.2.1's agent routes, both asked for in review:
lupin update(ADR-49): one command from "there is a newer Lupin" to "everything on this machine runs it". Registry check (only when you invoke it, never a startup phone-home),npm i -g lupin-code@latestwith npm's own output, and, when alupin-tuisidecar is on your PATH and a Rust toolchain exists, the sidecar is rebuilt to the matching version from the TUI sources the package now ships and replaced only on build success. No sidecar, no offer; no cargo, the manual command is printed.lupin agents ... --wire(ADR-48): the last manual step of subagent routing gone.set <name> --profile <p> --wirewritesmodel: claude-lupin-agent:<name>into the agent's definition file (project.claude/agentsfirst, then home; frontmattername:match first, filename fallback);unset <name> --wirerestoresinherit. The one deliberate exception to "Lupin never touches your harness": explicit flag, that single field, old value printed, every other byte preserved, no frontmatter block means refusal, and built-in agents (no file) are named as out of reach: for those the blanketsubagentsroute is the lever.
Full changelog: https://github.com/Fanfulla/Lupin/blob/main/CHANGELOG.md