Skip to content

v2.17.0

Choose a tag to compare

@github-actions github-actions released this 27 Jun 01:29
· 2 commits to main since this release
3dfba30

v2.17.0 — 2026-06-27

Added — dashboard search now spans agents + the code graph (grouped)

Dashboard keyword search previously covered only the federated document index, so
the agents registry and the code-navigation graph were unsearchable. Search now
spans three surfaces, grouped in the results list (Documents / Agents / Code):

  • documents — the federated index (FTS5 + LIKE fallback), unchanged.
  • agents — the roles/agents registry (agents.db) by name / description / profile.
  • code — the code-navigation graph (code_graph.db) by node label, per repo.

Each result carries a kind and a prefixed id; build_doc() is now a dispatcher
(role:/agent: → the registry profile, code:<repo>|<node> → a code-graph node
summary of its location + callers / outbound calls-uses, otherwise → a
federated-index document). All read-only. The agent profile and code-node summary
render through the existing XSS-safe Markdown renderer, with every embedded value
(labels, file paths, repo slugs) backtick-wrapped so an adversarial value cannot
form a live link.

Per-surface result caps (documents 50; agents + code 20 each, with roles and
agents given independent budgets so neither starves the other) and per-surface
truncation (truncated_kinds) so a "+" badge only appears on a group that
actually overflowed. Code-node caller/uses sections show a true "N of M" when
capped, and outbound edges to un-ingested target nodes still appear. New SQL is
fully parameterized and LIKE-escaped.

24 new/updated tests in tests/test_dashboard.py cover agent + code search and
detail, the id-prefix dispatch and its error branches, injection / wildcard
safety on the new surfaces, missing-store degradation, the node-id-with-pipe
round-trip, the dangling-target fallback, and the per-surface truncation badge;
the existing document-search assertions are scoped to kind=="document".