state-hub/api
tegwick b28298a2ec feat(dashboard): entity list UX — REF column, name cells, detail pages (CUST-WP-0030)
- ref-cell.js: REF column component — click=copy deeplink, dblclick=open
- field-help.js: field registry + fieldRow helper with help-tip decoration;
  FK fields (task_id, workstream_id, repo_id) render as async-linked cells
  with entity-title bubble-help on hover
- GET /token-events/{id} endpoint + get-by-id tests
- GET /repos/by-id/{repo_id} UUID lookup endpoint
- Landing pages: /token-events/[id], /workstreams/[id], /repos/[slug], /tasks/[id]
- token-cost.md: REF + Name columns on all three tables; parallel fetch of
  workstreams/tasks for title resolution
- reference.md: entity detail page URL scheme documented

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-29 22:35:35 +02:00
..
models feat(token-tracking): record AI token consumption per task (CUST-WP-0029) 2026-03-29 17:46:46 +02:00
routers feat(dashboard): entity list UX — REF column, name cells, detail pages (CUST-WP-0030) 2026-03-29 22:35:35 +02:00
schemas feat(token-tracking): repo aggregation via graph walk (task→workstream→repo) 2026-03-29 19:05:23 +02:00
config.py Add state-hub v0.1 — local-first state service for the Custodian 2026-02-24 17:47:49 +01:00
database.py Add state-hub v0.1 — local-first state service for the Custodian 2026-02-24 17:47:49 +01:00
doi_engine.py perf(doi): fingerprint-based DB cache for DoI results 2026-03-20 01:47:19 +01:00
main.py feat(token-tracking): record AI token consumption per task (CUST-WP-0029) 2026-03-29 17:46:46 +02:00