|
Some checks are pending
CI / lint-and-test (push) Waiting to run
Implements Ship's claim detail contract — one round-trip, all data
resolved server-side. Replaces thin domain-only stub with full tree walk
(domains/ + foundations/ + core/), DB joins for PRs and reviews, and
server-side wikilink resolution to eliminate frontend N+1 cascades.
Response shape (Ship brief 2026-04-29):
slug, title, domain, secondary_domains, confidence, description,
created, last_review, body (raw markdown), sourced_from, reviews,
prs, edges {supports,challenges,related,depends_on}, wikilinks
Wikilink resolution:
- Builds title→stem index from frontmatter title field, fallback to
filename stem normalized via _normalize_for_match
- Returns flat {link_text: slug_or_null} map; unresolved → null so
frontend can render plain text
- Inline normalization (lowercase, hyphen↔space, collapse whitespace,
strip punctuation). Note: lib/attribution.py exposes only
normalize_handle today, not the title normalizer Ship referenced.
If a canonical helper lands later, point at it.
Caches:
- title→slug index: 60s TTL (warm cache <20ms p50 verified)
- list endpoint: 5min TTL (preserved from prior)
- Cold: ~3.3s for tree walk of 1,866 files; warm: 13-17ms
Bug fixed in second pass:
- _resolve_sourced_from defaulted title="" which leaked LIKE '%%'
matching every PR. Now requires non-empty title+stem; handler falls
back to slug.replace("-"," ") when frontmatter title is missing.
Verified live on VPS:
- AI diagnostic triage claim (no fm.title): sourced_from=1, prs=0
(correct — Feb claim, pre-description-tracking)
- Recent extract PR claim: sourced_from=1 with URL, prs=1, reviews=1,
last_review populated, edges 3 supports + 7 related, wikilinks 0
- 404 on missing slug: correct
- Claim with [[maps/...]] wikilink: 5/6 resolved (correct null on map)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
||
|---|---|---|
| .. | ||
| 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 | ||