|
Some checks are pending
CI / lint-and-test (push) Waiting to run
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.
|
||
|---|---|---|
| .. | ||
| activity_endpoint.py | ||
| activity_feed_api.py | ||
| alerting.py | ||
| alerting_routes.py | ||
| app.py | ||
| backfill_submitted_by.py | ||
| claims_api.py | ||
| contributor_profile_api.py | ||
| daily_digest.py | ||
| daily_digest_routes.py | ||
| dashboard-v2.html | ||
| dashboard_agents.py | ||
| dashboard_epistemic.py | ||
| dashboard_health.py | ||
| dashboard_ops.py | ||
| dashboard_portfolio.py | ||
| dashboard_prs.py | ||
| dashboard_routes.py | ||
| leaderboard_routes.py | ||
| research_routes.py | ||
| research_tracking.py | ||
| response_audit_routes.py | ||
| review_queue.py | ||
| review_queue_routes.py | ||
| shared_ui.py | ||
| teleo-diagnostics.service | ||
| tier1_metrics.py | ||
| tier1_routes.py | ||
| vitality.py | ||
| vitality_routes.py | ||