summaryrefslogtreecommitdiff
path: root/subagents/luatool.lua
diff options
context:
space:
mode:
authort <t@tjp.lol>2026-08-17 23:35:36 -0600
committert <t@tjp.lol>2026-08-18 00:40:46 -0600
commit372ef8ff40991644ec2654c61328f31779f4ad21 (patch)
tree9bc69a578995e14f154202badcdbe0021a39c467 /subagents/luatool.lua
parent7f8fdd8e868fb5fad71eacdf0c4fd0a97fe9c6ee (diff)
Validation-pass fixes; DESIGN.md describes the shipped seam
jobs: a child whose wake pipe cannot be armed is refused up front instead of started into a state nothing can wake (the luv-less drain loop survives only for hosts without a loop); a closing child keeps its concurrency slot and its id's exclusivity until the pump actually exits, so teardown can no longer over-admit new children or let two turns share one session file. Resume-metadata reads honor the plain-error contract on a malformed store. workflow: the built-in schema subset validator is the only validator — the jsonschema probe made behavior depend on an undeclared rock (see rockspec: that dependency is deliberately rejected); dead exports and the unreachable half of the structured-output guard are gone, keeping the empty-arguments provider case. DESIGN.md's seam sections now describe the shipped division: binding-level async jobs and tool control, host-level resolve_model/ExtHost/turn events/ component handles, rock-level policy; protocol bodies run to completion on the loop thread and cannot yield, cancellation is scoped to the stream that opened it, and a child's compaction leaves protocol sessions alone.
Diffstat (limited to 'subagents/luatool.lua')
-rw-r--r--subagents/luatool.lua3
1 files changed, 0 insertions, 3 deletions
diff --git a/subagents/luatool.lua b/subagents/luatool.lua
index 089c67b..8aaa5c9 100644
--- a/subagents/luatool.lua
+++ b/subagents/luatool.lua
@@ -54,7 +54,6 @@ local CHUNK_NAME = "subagents.lua"
local M = {}
M.max_jobs = MAX_JOBS
-M.instruction_budget = INSTRUCTION_BUDGET
local function shallow_copy(source, skip)
local copy = {}
@@ -139,8 +138,6 @@ local function format_return(value)
return workflow.json_encode(value)
end
-M.format_return = format_return
-
-- Tool handler for `subagents.lua`. `profiles` is the discovered profile set
-- from activation; when omitted the workflow API discovers it lazily.
function M.handle(input, profiles)