Files
intelligence-terminal/docs/source-fetch-instrumentation.md
MrSphay 2025ae09db
All checks were successful
Codex Template Compliance / template-compliance (pull_request) Successful in 4s
Build / test-and-image (pull_request) Successful in 53s
fix: infer source fetch metrics
2026-05-17 14:44:21 +02:00

1.2 KiB

Source Fetch Instrumentation

safeFetch() and safeFetchText() attribute requests to /api/metrics.fetch.bySource.

Rules:

  • Prefer passing an explicit source option from source modules when the call has a clear Crucix source name.
  • If source is omitted, the shared helper infers a stable provider name from the request host.
  • Unknown hosts fall back to the lowercase host instead of the old unknown bucket.
  • Raw fetch() calls should be limited to cases where the shared helper cannot represent the protocol cleanly.

Current raw-fetch exceptions:

Area Reason
OAuth/session handshakes Token exchange calls often need custom form bodies, credential headers, or status-specific diagnostics.
Bot and alert delivery Telegram/Discord alert calls are outbound operator notifications, not intelligence source health.
LLM providers Provider clients already track model/provider status separately from source fetch health.
Dashboard browser calls Browser-side /api/* and asset fetches are UI behavior, not source provider health.

When adding a new intelligence source, use safeFetch(url, { source: 'SourceName' }) unless there is a documented exception.