AIMEAT 1.17.0 — Tasks triage, Quality tab & per-agent concurrency
Everything since v1.15.0 (1.15.1 → 1.17.0). Companion: aimeat-crewai 0.3.8 on PyPI (separate tag).
[1.17.0] - 2026-06-01
Agent Tasks tab triage — long task lists are split into three buckets so the
working set stays small without pagination, plus on-demand search and a per-task
view of the memory entries a task produced. Full design:
docs/plans/agent-tasks-triage-plan.md.
Added
- Triage buckets — the Tasks tab now has Recent (non-terminal + recently
finished), Keep (manually pinned), and Archive (manually archived +
auto-archived old terminal tasks), each with a live count. Per-task Keep /
Archive / Restore actions. One fieldtriage('kept'|'archived'|null) on
AgentTaskRecord(SQLite + MongoDB);PATCH /v1/agents/{name}/tasks/{id}/triage. - On-demand search — a 🔍 toggle reveals a search box (title + description)
plus time chips (Today / 7d / 30d / All).GET /v1/agents/{name}/tasksgained
bucket,q,updated_after,updated_beforeparams and returns per-bucket
countsfor the tab badges. No pagination — buckets + search handle length. - Auto-archive node config (admin Config tab) —
tasks.auto_archive
(default on) andtasks.archive_after_hours(default 24): un-triaged terminal
tasks fall to Archive once older than the window. AIMEAT derives buckets from
these; off = tasks stay in Recent until archived manually. - Per-task memory entries — the expanded task lists the memory entries that
belong to it: entries taggedtask:<id>, the task'sdeliverableKey, and the
live-status key prefix (agents.<name>.tasks.<id>.), deduped by key. Each entry
is collapsible, and JSON values render as a structured key/value tree
(indented nested blocks, type-coloured values) rather than raw text. (A
tagging-aware runner populates thetask:<id>entries; until then the
deliverableKey + live key show.)
Changed
- Blur-title eye is hover-only in the Tasks list — the per-task "hide title"
toggle now appears on row hover/focus instead of always being visible,
de-cluttering long lists; rows whose title is already hidden keep their eye.
Fixed
- No more empty flash on live updates — tabs that refetch on the live-update
signal no longer blank-then-repaint; they swap fresh data in place (first mount
still shows the loading state, via ashowSpinneroption on the loaders).
Applied across the agent Quality, Activity, Agent Config, Services tabs, the
profile Knowledge, Packages, Notifications tabs, and the admin Memory,
Stats, Packages, Cortex, Sharing Groups, Agent Tasks tabs.
Companion
aimeat-crewai0.3.8 (PyPI, versioned independently via the
aimeat-crewai-v*tag) implements the worker pool that consumes the
max_concurrent_tasksconfig from 1.16.2:run_crew_daemonruns EXECUTE tasks
on a bounded thread pool, each with its own liaison/MCP, reading the value from
the integration kit. Default 1 = serial (unchanged).
[1.16.2] - 2026-06-01
Follow-on to the Quality tab (1.16.0): an owner-facing way to rate from the UI,
richer rating metadata, and a new per-agent runner-concurrency config.
Added
max_concurrent_tasksper-agent runner config —PATCH /v1/agents/{name}/max-concurrent-tasks(1–20, default 1) and an editable
number field at the top of the agent Tasks tab. Default 1 = serial (safe
for any engine, backward-compatible); higher values require a runner that can
process tasks in parallel (e.g. a CrewAI daemon with a per-task liaison/worker
pool). AIMEAT only stores and exposes the number — it does not enforce
concurrency server-side. The runner reads it from the integration kit's
watchdog_spec.max_concurrent_tasks; the field is also on the agents list
(max_concurrent_tasks). Persisted onAgentRecord(SQLite + MongoDB).- Owner "Rate deliverable" control — completed (
done) tasks now show a
Rate / Re-rate button in the Tasks tab (next to the deliverable) and in a
new "Rate deliverables" list on the Quality tab (unrated first). Opens a
shared modal (1–5 stars, context, source-grounded flag, comment) that calls
POST /v1/agents/{name}/tasks/{id}/rate; the per-context rollups refresh on
submit. - Optional
metadataon a rating — free-form evaluation context
(temperature, top_p, max_tokens, tokens, cost, …) stored on the rating for
later slicing (size-capped at 4 KB serialized).
Fixed
- Quality tab custom metrics are now read from the agent's GAII namespace
(where an agent's own memory writes land) instead of the owner GHII, so
agent-publishedagents.<name>.statistics.custom.*entries actually surface.
[1.16.0] - 2026-05-31
Agent Quality tab — per-context peer/owner reviews of task deliverables,
turned into a quality picture alongside recomputed performance statistics.
Reviews attach to tasks (not the work/actions system) and carry a quality
context dimension, so an agent's strengths and weaknesses surface per area
(e.g. creative: 4.5★ / factual: 2.1★). Full design and rationale:
docs/plans/agent-quality-tab-plan.md.
Added
POST /v1/agents/{name}/tasks/{id}/rate— review a completed (done)
task's deliverable with a 1–5 star rating and acontext
(factual/creative/code/planning/summarization/research/communication/other).
Authorization: the task's owner, or a same-owner agent (e.g. a parent
orchestrator that delegated the work) — an agent cannot rate its own
deliverable. Logged as aratingtask event.- Source-grounding hard gate — for the factual family
(factual/research/code/summarization) an agent rater must set
source_grounded: true(the rating was checked against the inputs/sources),
otherwise the request is rejected with422 GROUNDING_REQUIRED. Human owners
are exempt;creativeaccepts an output-alone craft rating. Stops stars from
rewarding confabulation over faithfulness. GET /v1/agents/{name}/statistics— recomputes a performance rollup (task
counts, success rate, completion durations by context) and a per-context
review rollup (stars, distribution, variance, low-confidence flag below n=10,
rater mix, per-model slice) from the agent's tasks — anyone can recompute,
so the result is not forgeable. Written to the owner's public cache keys
agents.<name>.statistics.performance/.reviews, and surfaces any custom
metrics published underagents.<name>.statistics.custom.*.- Quality tab in the expanded agent view (profile → Agents → agent →
Quality) — performance cards + durations by context, per-context star bars
with sample size and a low-confidence flag, and a custom-metrics list. Quality
reads statistics + reviews; the existing Activity tab (event log / pulse)
is unchanged. - Optional
metadataon a rating — free-form evaluation context
(temperature, top_p, max_tokens, tokens, cost, …) stored on the rating for
later slicing (size-capped at 4 KB serialized).evaluated_modelis a
first-class field so stars are not compared blindly across model changes. AgentTaskRatingon the task record (SQLite + MongoDB), surfaced on the
AgentTaskAPI schema.
Notes
- New E2E suite
test/e2e-agent-quality.ts(15 checks: happy paths, grounding
hard gate, self-rating + non-done + validation rejections, rollup, public
cache) — green on SQLite and MongoDB.
[1.15.1] - 2026-05-31
Added
- Cooperative task cancellation — owners can Cancel an active/stalled
task from the Tasks tab. It writes an owner-scopedagents.cancel.task.<id>
marker (a same-owner runner self-skips before its next kickoff) and natively
pauses an active task for immediate effect — a circuit breaker for abandoned or
over-delegated subtasks. (Theaimeat-crewaidaemon honours the marker as of
its 0.3.7 release.) aimeat-agents.jsbrowser library — commission and observe AIMEAT agents
from a web page (new servedlib-agents.jshelper + demo HTML).
Fixed
- Integration tab no longer flashes on live updates — a
showSpinneroption
on its loader stops the tab from re-rendering its loading state every time
server-side data changes (first mount still shows it). (Extended to the rest of
the tabs in 1.17.0.)