teleo-infrastructure/diagnostics
m3taversal c3f2010a42
Some checks are pending
CI / lint-and-test (push) Waiting to run
feat(activity-feed): add kind + target_url, fix research-session pseudo-slugs
The /api/activity-feed event shape didn't give the frontend a reliable
clickability signal. Two failure modes:

1. Source-archive events (extract/* PRs that filed a paper into
   inbox/archive/ but didn't extract a claim) returned claim_slug="".
   Frontend rendered <Link href="/claims/"> which Next normalized to
   /claims and redirected to /knowledge-base. Wrong page.

2. Research/entity session commits (e.g. astra/research-2026-05-11)
   with empty descriptions fell through to "create" classification with
   a pseudo-slug like research-2026-05-11. Frontend rendered
   /claims/research-2026-05-11 -> 404.

Fix:

- Add `kind` enum (canonical): claim_merged | claim_enriched |
  claim_challenged | source_archived | session_digest. Replaces the
  internal `type` for downstream consumers; `type` kept populated for
  in-flight callers during migration.

- Add `target_url`: explicit clickability signal. Frontend renders
  <Link> when non-null, <span> when null. No special-casing needed.
    * claim_* events -> /claims/{slug}
    * source_archived -> Forgejo blob URL at inbox/archive/{domain}/{slug}.md
    * session_digest -> null (no clickthrough surface yet)

- Detect research/entity commits with empty descriptions as
  session_digest in _classify_event, instead of synthesizing a phantom
  create event with a date-shaped pseudo-slug.

- type filter accepts both legacy `type` and new `kind` values so
  callers migrate at their own pace.

Verified live: source events resolve to inbox/archive/{domain}/...
Forgejo URLs, session-digest rows return target_url=null,
claim_merged events keep /claims/{slug} unchanged.
2026-05-11 12:36:25 +01:00
..
activity_endpoint.py feat(activity): Timeline data gaps — type filter + commit_type classifier + source_channel reshape 2026-04-23 19:51:58 +01:00
activity_feed_api.py feat(activity-feed): add kind + target_url, fix research-session pseudo-slugs 2026-05-11 12:36:25 +01:00
alerting.py fix: sync all code from VPS — repo is now authoritative source of truth 2026-04-15 13:18:01 +01:00
alerting_routes.py fix: sync all code from VPS — repo is now authoritative source of truth 2026-04-15 13:18:01 +01:00
app.py fix(diagnostics): wire /api/leaderboard into app.py + fix rolling-window SQL 2026-04-27 13:30:26 +01:00
backfill_submitted_by.py Consolidate pipeline code from teleo-codex + VPS into single repo 2026-04-07 16:52:26 +01:00
claims_api.py fix(claims): unwrap ```markdown code fences + 404 for fragments 2026-05-11 12:02:54 +01:00
contributor_profile_api.py feat: filter system accounts from leaderboard, add primary_ci field 2026-04-21 11:33:47 +01:00
daily_digest.py Consolidate pipeline code from teleo-codex + VPS into single repo 2026-04-07 16:52:26 +01:00
daily_digest_routes.py Consolidate pipeline code from teleo-codex + VPS into single repo 2026-04-07 16:52:26 +01:00
dashboard-v2.html Consolidate pipeline code from teleo-codex + VPS into single repo 2026-04-07 16:52:26 +01:00
dashboard_agents.py Consolidate pipeline code from teleo-codex + VPS into single repo 2026-04-07 16:52:26 +01:00
dashboard_epistemic.py fix: sync all code from VPS — repo is now authoritative source of truth 2026-04-15 13:18:01 +01:00
dashboard_health.py Consolidate pipeline code from teleo-codex + VPS into single repo 2026-04-07 16:52:26 +01:00
dashboard_ops.py Consolidate pipeline code from teleo-codex + VPS into single repo 2026-04-07 16:52:26 +01:00
dashboard_portfolio.py fix: apply Ganymede review fixes to portfolio code 2026-04-20 17:00:02 +01:00
dashboard_prs.py fix: sync all code from VPS — repo is now authoritative source of truth 2026-04-15 13:18:01 +01:00
dashboard_routes.py sync: dashboard_routes.py from VPS — digest + contributor-graph endpoints 2026-04-21 11:01:15 +01:00
leaderboard_routes.py fix(diagnostics): wire /api/leaderboard into app.py + fix rolling-window SQL 2026-04-27 13:30:26 +01:00
research_routes.py fix: sync all code from VPS — repo is now authoritative source of truth 2026-04-15 13:18:01 +01:00
research_tracking.py fix: sync all code from VPS — repo is now authoritative source of truth 2026-04-15 13:18:01 +01:00
response_audit_routes.py Consolidate pipeline code from teleo-codex + VPS into single repo 2026-04-07 16:52:26 +01:00
review_queue.py fix: sync all code from VPS — repo is now authoritative source of truth 2026-04-15 13:18:01 +01:00
review_queue_routes.py Consolidate pipeline code from teleo-codex + VPS into single repo 2026-04-07 16:52:26 +01:00
shared_ui.py sync VPS state: portfolio dashboard + fetch_coins.py 2026-04-20 16:55:36 +01:00
teleo-diagnostics.service epimetheus: sync VPS-deployed code to repo — Mar 18-20 reliability + features 2026-03-20 20:17:27 +00:00
tier1_metrics.py Consolidate pipeline code from teleo-codex + VPS into single repo 2026-04-07 16:52:26 +01:00
tier1_routes.py Consolidate pipeline code from teleo-codex + VPS into single repo 2026-04-07 16:52:26 +01:00
vitality.py fix: sync all code from VPS — repo is now authoritative source of truth 2026-04-15 13:18:01 +01:00
vitality_routes.py fix: sync all code from VPS — repo is now authoritative source of truth 2026-04-15 13:18:01 +01:00