Changeset 0.27.2 (#169)

This commit is contained in:
2026-03-11 00:22:02 +00:00
parent e4efe6b934
commit dcb915555e
20 changed files with 2106 additions and 880 deletions

View File

@@ -162,7 +162,7 @@ v0.27.1 Tasks Foundation ✅
(service channels, scheduler,
task definitions, cron)
v0.27.2 Task Execution
v0.27.2 Task Execution
(budgets, admin controls,
run history, kill switch)
@@ -953,19 +953,23 @@ Depends on: v0.27.0 (debt clearance).
---
## v0.27.2 — Task Execution: Budgets + Admin Controls
## v0.27.2 — Task Execution: Budgets + Admin Controls
Guardrails for unattended execution.
Depends on: v0.27.1 (task scheduler).
- [ ] Execution budget enforcement: `max_tokens`, `max_tool_calls`, `max_wall_clock`
- [x] Execution budget enforcement: `max_tokens`, `max_tool_calls`, `max_wall_clock`
- [x] ~~`task_runs` table + store~~ (shipped v0.27.1 — table, PG+SQLite store, run history API)
- [ ] Budget breach → `budget_exceeded` status + owner notification
- [x] Budget breach → `budget_exceeded` status + owner notification
- [x] ~~Concurrent run skip~~ (shipped v0.27.1 — scheduler skips if `GetActiveRun` returns non-nil)
- [ ] Global config: `tasks.enabled`, `tasks.allow_personal`, `tasks.max_concurrent`
- [ ] Default budget ceilings in global config (overridable per task)
- [ ] `tasks.create` and `tasks.admin` permissions
- [ ] Admin panel → Tasks section (CRUD, history, kill switch, budget config)
- [x] Global config: `tasks.enabled`, `tasks.allow_personal`, `tasks.max_concurrent`
- [x] Default budget ceilings in global config (overridable per task)
- [x] `tasks.create` and `tasks.admin` permissions
- [x] Admin panel → Tasks section (CRUD, history, kill switch, budget config)
- [x] Completion invocation from scheduler (headless executor via `CoreToolLoop`)
- [x] Full cron parsing via `robfig/cron/v3` (replacing minimal parser)
- [x] Provider resolution for task context (BYOK → team → global → routing policy)
- [x] Kill switch: `POST /tasks/:id/kill` cancels active run
---