- drop agent_run_groups table and group_id/scope_kind/scope_id columns (schema v8)
- remove group_id from AgentExecutionContext and recovery group counters
- flatten TasksPage background tab into a per-run list
- add WebUI Agents page with definition CRUD and inline provider/model
- bump version to 1.11.0
- RunQuota now enforced: background admission acquires the run permit
(global→session) and the runner holds it until terminal commit;
foreground never takes run permits so nested limit=1 cannot deadlock
- RuntimeAdmission activity guard held by background runners for the
whole run; admission checked before any durable write
- signal_contract_json/signal_delivery persisted at run admission so
definition-level steer delivery actually takes effect (was silently
falling back to queue)
- terminal completion payload carries the run's emitted signal IDs
(design §12.3) so the main Agent can recognise duplicates
- ROOT caller_scope_id is the literal "ROOT" (design §9.6)
- legacy general delegation returns a deprecation/migration hint
Cleanup:
- remove unused AgentCaller enum and run_parallel wrapper
- remove unreachable http_get_only prompt machinery (http_request is
RootOnly and never enters sub-agent registries)
- drop never-read EmittedSignal fields; derive WakeupSource from
TurnInputSource instead of duplicating match arms
- replace the /stop oneshot compatibility bridge with a plain turn_busy
flag; the worker's forced-cancel path now selects on the cancellation
token (implementation doc §11.1)
Version 1.8.0
- AgentCatalog/definitions with strict Markdown frontmatter, delegation graph,
fail-closed tool scoping, and signal contracts
- structured cancellation (AgentError::Cancelled/TimedOut) across provider
streams, tool batches, and sleep; /stop drives the same terminal state
- schema v6 run/group/inbox persistence with execution-ID conditional
transitions and completion-slot reservations
- ExecutionGate separating run quota from provider/tool step permits
- background completion inbox with hidden-trigger continuation turns,
fairness scheduling, lease release, dead-lettering, and activation recovery
- typed TurnMailbox with two-phase steer admission and atomic consumption at
turn commit; /stop releases admitted steer events back to pending
- emit_signal tool with contract-enforced rate/dedupe/severity/size limits
- WS run/event projection (GetAgentRuns, AgentRunUpdated, AgentEventUpdated),
/api/agent-runs* management endpoints, /api/tasks union, WebUI run tree
and signal cards
- ChannelContext.durable_private persisted for continuation delivery reuse
Version 1.7.0