Available

Signal layer telemetry.

Runtime view of the live aggregation system behind toddwatts.dev: source health, coverage, latency, ranking policy, API contract posture, snapshot posture, and publishing configuration.

Feed runtime

Ranked source fabric.

Fetched items150
Ranked items28
Selected sources14
Configured sources16
Quality score77
Fresh sources5
Selected coverage88%
Cache age0s
Newest signal16m ago
Oldest retainedMay 27
Ranking policy

source-weighted score with recency decay and source diversity caps

Diversity policy

prefer source diversity until 36 selected items, then allow up to 6 per source

Snapshot policy

History writer is available but disabled. Set OPS_HISTORY_PROVIDER=vercel-blob with BLOB_READ_WRITE_TOKEN for durable production history.

History provider

no BLOB_READ_WRITE_TOKEN and local history writes are disabled

Alert routing

MONITOR_ALERT_WEBHOOK_URL is missing in production

Interface contract

OpenAPI 3.1 documents 8 API paths and 46 schemas. Local release gates fetch `/api/openapi` before exercising the live route handlers.

Source calibration100 point cap

availability + freshness + latency + volume + selection + editorial priority, capped at 100

Configured16
Selected14
Coverage88%
Avg weight1.02
Avg selected17%
Avg freshness5d
Availability42

online/degraded/error source state

Freshness14

newest item age by source

Latency10

fetch duration band

Volume14

usable item count before ranking

Selection20

selected count and selected/fetched rate

Editorial priority6

source weight in the ranking model

Quality bands

prime80-100

steady60-79

watch35-59

cold0-34

Freshness bands

fresh3h

aging1d

staleopen

unknownopen

Latency bands

fast900ms

steady2500ms

slowopen

Source tuning queue5 recommendations

Operator recommendations prioritize failed fetches, stale inputs, slow sources, and low-selection signal before any source-weight changes are made.

criticalReddit

Source returned no usable items in this run.

Action

Check whether the upstream feed is temporarily empty, blocked, or returning a changed response shape.

30/100 quality · 0/0 selected · 978ms
criticalInfoQ

Source returned no usable items in this run.

Action

Check whether the upstream feed is temporarily empty, blocked, or returning a changed response shape.

32/100 quality · 0/0 selected · 1072ms
watchweb.dev

Freshness is weak or unavailable.

Action

Verify timestamp parsing and consider lowering confidence if the source keeps aging across snapshots.

74/100 quality · 2/10 selected · 1023ms
watchArs Technica

Freshness is weak or unavailable.

Action

Verify timestamp parsing and consider lowering confidence if the source keeps aging across snapshots.

78/100 quality · 2/10 selected · 275ms
watchGitHub Engineering

Freshness is weak or unavailable.

Action

Verify timestamp parsing and consider lowering confidence if the source keeps aging across snapshots.

79/100 quality · 2/10 selected · 328ms
Snapshot intelligenceBaseline pending

current run only. Recommendation tuning should follow repeated drift, source movement, and retained history rather than one noisy run.

Avg quality77/100waiting for baseline
Source coverage88%waiting for baseline
Selected coverage88%waiting for baseline
Ranked items28waiting for baseline
Avg latency625mswaiting for baseline
Fresh sources5waiting for baseline
Source drift watchlist5 inputs
degradedRedditstable watch input

Quality 30/100 current

Selected 0 current

Latency 978ms current

degradedInfoQstable watch input

Quality 32/100 current

Selected 0 current

Latency 1072ms current

onlineweb.devstable watch input

Quality 74/100 current

Selected 2 current

Latency 1023ms current

onlineArs Technicastable watch input

Quality 78/100 current

Selected 2 current

Latency 275ms current

onlineGitHub Engineeringstable watch input

Quality 79/100 current

Selected 2 current

Latency 328ms current

No retained feed snapshot is available for comparison yet.

Enable OPS_HISTORY_WRITE=1 locally or Vercel Blob in production to build a tuning window.

The current run is still analyzed so low-quality sources remain visible.

Source health

Every input, visible.

Source
Quality
Fetched
Selected
Latency
Freshest
onlineHacker NewsHN · weight 1.18
Quality score95prime
Fetched20
Selected210% rate
Latency412msfast
Freshest1h agofresh
onlineLobstersLOB · weight 1.15
Quality score85prime
Fetched10
Selected220% rate
Latency654msfast
Freshest4h agoaging
degradedRedditREDDIT · weight 0.96
Quality score30cold
Fetched0
Selected00% rate
Latency978mssteady
Freshestn/aunknown
degradedInfoQINFOQ · weight 1.12
Quality score32cold
Fetched0
Selected00% rate
Latency1072mssteady
Freshestn/aunknown
onlineArs TechnicaARS · weight 1.02
Quality score78steady
Fetched10
Selected220% rate
Latency275msfast
Freshest2d agostale
onlineMIT Tech ReviewMIT TR · weight 0.98
Quality score83prime
Fetched10
Selected220% rate
Latency235msfast
Freshest3h agoaging
onlineTechCrunch AITC AI · weight 0.95
Quality score89prime
Fetched10
Selected220% rate
Latency278msfast
Freshest1h agofresh
onlineOpenAI NewsOPENAI · weight 1.08
Quality score84prime
Fetched10
Selected220% rate
Latency828msfast
Freshest20h agoaging
onlineHugging FaceHF · weight 1.08
Quality score84prime
Fetched10
Selected220% rate
Latency617msfast
Freshest20h agoaging
onlineSimon WillisonSIMON · weight 1.12
Quality score85prime
Fetched10
Selected220% rate
Latency549msfast
Freshest15h agoaging
onlineLatent SpaceLATENT · weight 1.10
Quality score80prime
Fetched10
Selected220% rate
Latency902mssteady
Freshest14h agoaging
onlineGitHub EngineeringGH ENG · weight 1.06
Quality score79steady
Fetched10
Selected220% rate
Latency328msfast
Freshest6d agostale
onlineCloudflareCF · weight 1.04
Quality score90prime
Fetched10
Selected220% rate
Latency685msfast
Freshest1h agofresh
onlineweb.devWEB.DEV · weight 1.00
Quality score74steady
Fetched10
Selected220% rate
Latency1023mssteady
FreshestMay 29stale
onlineThe VergeVERGE · weight 0.72
Quality score86prime
Fetched10
Selected220% rate
Latency703msfast
Freshest16m agofresh
onlineWiredWIRED · weight 0.68
Quality score85prime
Fetched10
Selected220% rate
Latency457msfast
Freshest1h agofresh
Data shape

Category mix and history.

Category distribution
ai20
systems16
tech15
dev11
research8
web4
Snapshot state
0

No local snapshots yet. This is expected unless FEED_SNAPSHOT_WRITE=1 is configured.

History store
disabled

Provider is disabled; durable storage needs Vercel Blob credentials.

Publish posture
locked

Blog publishing is guarded by bearer auth, schema validation, CORS allow-listing, rate limiting, and attempt history.

Alert routing
disabled

Set MONITOR_ALERT_WEBHOOK_URL to route degraded/error monitor runs to Slack, email automation, or incident tooling.

API contract
OpenAPI 3.1

`/api/openapi` publishes 8 documented paths, 46 schemas, and bearer-auth schemes for publish and monitor operations.

History controls0/0 publish · 0/0 monitor
Window
Publish history

Recent write attempts.

0 shown · 0 recorded · success 0

No publish attempts recorded yet. The history layer will record success, rejection, unauthorized, rate-limited, and error outcomes when enabled.
Synthetic monitor

Recent production checks.

0 shown · 0 recorded · issues 0

No monitor runs recorded yet. Configure `CRON_SECRET`, `MONITOR_ALERT_WEBHOOK_URL`, and deploy the Vercel cron to record route, header, feed, history, and alert posture.