summaryrefslogtreecommitdiff
path: root/subagents/frontmatter.lua
AgeCommit message (Collapse)Author
2026-08-20Replace lyaml with api7-lua-tinyyaml and prepare the 0.1.0 releasev0.1.0t
lyaml binds the system libyaml, which luarocks does not vendor, so installing the rock failed wherever that library was absent, taking the whole extension down on a stock macOS machine. api7-lua-tinyyaml is pure Lua and matches lyaml on every quoting, escaping and block-scalar form profiles use. What the subset costs: anchors and aliases are not resolved, and plain multi-line scalars raise. The raise surfaces through the existing parse warning, but an unresolved alias came back as the literal "*alias" string and would have become a profile name, so frontmatter.parse now detects those keys, drops them, and warns. Point source.url at code.tjp.lol with a v0.1.0 tag, replacing a GitHub URL that never existed. Add a LICENSE file and mise release tasks, and fix the README dependency-install command, which called a luarocks.cmd function that does not exist.
2026-08-17subagents extension on the generic host surfacest
The rock now owns all subagent policy on top of libpanto-lua's generic APIs: children are ordinary panto.agent instances over rock-constructed stores, started with agent:run_async and awaited by arming uv.new_poll on each job's wake_fd from the tool handler's coroutine. subagents/jobs.lua carries the session policy the host used to own: the concurrency gate (4 running, FIFO queue, cancel-while-queued never starts), the await contract (results in input order; "first" returns settled plus remaining by identity), and settle-time shaping. subagents/spawn.lua seeds new children (primary system context, child role, profile body with manifest metadata), resolves model/reasoning through panto.ext.resolve_model, filters subagents.* out of the inherited tool set via agent:set_tools, and reads resume defaults back from stored message metadata. One-shot structured workers are a null_store agent with a declaration-only output tool, tool_choice forced, dispatch_tools=false. subagents/progress.lua renders per-tool-entry cards through the component handle's invalidate seam; turn_interrupt cancels live children, turn_end closes them. Spec suite rewritten against fakes of the new surfaces (98 cases), including gate/queue/cancel bounds, resume-default extraction, one-shot capture via unresolved tool calls, tool filtering, and manifest seeding.