{"ok":true,"service":"kelly-glass-lab","route":"/api/glass-lab/source-activation-roadmap","generatedAt":"2026-07-08T05:57:32.799Z","readOnly":true,"mutationAllowed":false,"publicUserWriteAllowed":false,"secretValuesRecorded":false,"title":"Source Activation Roadmap","plainEnglish":"A read-only roadmap of available source feeds that are not yet confirmed as wired in the public proof window, ranked by likely impact on KELLY's sector labs.","summary":{"activationItemCount":26,"affectedLabCount":12,"affectedSourceFamilyCount":18,"highPriorityCount":11,"mediumPriorityCount":2,"watchPriorityCount":13},"sourceCounts":{"noaa-nasa":1,"nasa-firms":2,"nasa":1,"nws":2,"fred":3,"sec-edgar":2,"fec":1,"the-odds-api":1,"eia":2,"bls":1,"nasdaq-data-link":2,"openaq":2,"openfda":1,"coingecko":1,"finnhub":1,"geonames":1,"opensky":1,"firecrawl":1},"labCounts":{"energy_climate":3,"public_health":3,"geo_world_model":2,"earth_disaster":2,"weather_risk":2,"macro_pressure":4,"markets":5,"company_events":1,"policy_government":1,"sports_odds":1,"transport_logistics":1,"source_intake":1},"items":[{"id":"energy_climate:noaa-nasa","labId":"energy_climate","labTitle":"Energy & Climate Lab","labRoute":"/sector-labs/energy-climate","sourceId":"noaa-nasa","sourceLabel":"NOAA / NASA","sourceRoute":"/source-feed/noaa-nasa","cost":"free_mixed","priority":1,"priorityLabel":"high","whyItMatters":"Weather and disaster lenses need official/near-real-time environmental signals before KELLY can make stronger closure claims.","nextStep":"Confirm the API key/feed binding in the primary runtime, then refresh Source Feed Catalog and proof surfaces. Glass Lab does not write or configure the feed.","currentLabCoveragePercent":25},{"id":"public_health:nasa-firms","labId":"public_health","labTitle":"Public Health Signals Lab","labRoute":"/sector-labs/public-health","sourceId":"nasa-firms","sourceLabel":"NASA FIRMS","sourceRoute":"/source-feed/nasa-firms","cost":"free_key","priority":1,"priorityLabel":"high","whyItMatters":"NASA and Earth signals strengthen planet-scale context, hazards, climate, and public science lanes.","nextStep":"Confirm the API key/feed binding in the primary runtime, then refresh Source Feed Catalog and proof surfaces. Glass Lab does not write or configure the feed.","currentLabCoveragePercent":40},{"id":"geo_world_model:nasa","labId":"geo_world_model","labTitle":"Geo World Model Lab","labRoute":"/sector-labs/geo-world-model","sourceId":"nasa","sourceLabel":"NASA APIs","sourceRoute":"/source-feed/nasa","cost":"free_key","priority":1,"priorityLabel":"high","whyItMatters":"NASA and Earth signals strengthen planet-scale context, hazards, climate, and public science lanes.","nextStep":"Confirm the API key/feed binding in the primary runtime, then refresh Source Feed Catalog and proof surfaces. Glass Lab does not write or configure the feed.","currentLabCoveragePercent":50},{"id":"earth_disaster:nasa-firms","labId":"earth_disaster","labTitle":"Earth & Disaster Lab","labRoute":"/sector-labs/earth-disaster","sourceId":"nasa-firms","sourceLabel":"NASA FIRMS","sourceRoute":"/source-feed/nasa-firms","cost":"free_key","priority":1,"priorityLabel":"high","whyItMatters":"NASA and Earth signals strengthen planet-scale context, hazards, climate, and public science lanes.","nextStep":"Confirm the API key/feed binding in the primary runtime, then refresh Source Feed Catalog and proof surfaces. Glass Lab does not write or configure the feed.","currentLabCoveragePercent":60},{"id":"earth_disaster:nws","labId":"earth_disaster","labTitle":"Earth & Disaster Lab","labRoute":"/sector-labs/earth-disaster","sourceId":"nws","sourceLabel":"National Weather Service","sourceRoute":"/source-feed/nws","cost":"free_no_key","priority":1,"priorityLabel":"high","whyItMatters":"Weather and disaster lenses need official/near-real-time environmental signals before KELLY can make stronger closure claims.","nextStep":"Confirm the API key/feed binding in the primary runtime, then refresh Source Feed Catalog and proof surfaces. Glass Lab does not write or configure the feed.","currentLabCoveragePercent":60},{"id":"weather_risk:nws","labId":"weather_risk","labTitle":"Weather Risk Lab","labRoute":"/sector-labs/weather-risk","sourceId":"nws","sourceLabel":"National Weather Service","sourceRoute":"/source-feed/nws","cost":"free_no_key","priority":1,"priorityLabel":"high","whyItMatters":"Weather and disaster lenses need official/near-real-time environmental signals before KELLY can make stronger closure claims.","nextStep":"Confirm the API key/feed binding in the primary runtime, then refresh Source Feed Catalog and proof surfaces. Glass Lab does not write or configure the feed.","currentLabCoveragePercent":71},{"id":"energy_climate:fred","labId":"energy_climate","labTitle":"Energy & Climate Lab","labRoute":"/sector-labs/energy-climate","sourceId":"fred","sourceLabel":"FRED","sourceRoute":"/source-feed/fred","cost":"free_key","priority":2,"priorityLabel":"high","whyItMatters":"Market and macro feeds strengthen forecast cones, base rates, settlement timing, and calibration history.","nextStep":"Confirm the API key/feed binding in the primary runtime, then refresh Source Feed Catalog and proof surfaces. Glass Lab does not write or configure the feed.","currentLabCoveragePercent":25},{"id":"macro_pressure:fred","labId":"macro_pressure","labTitle":"Macro Pressure Lab","labRoute":"/sector-labs/macro-pressure","sourceId":"fred","sourceLabel":"FRED","sourceRoute":"/source-feed/fred","cost":"free_key","priority":2,"priorityLabel":"high","whyItMatters":"Market and macro feeds strengthen forecast cones, base rates, settlement timing, and calibration history.","nextStep":"Confirm the API key/feed binding in the primary runtime, then refresh Source Feed Catalog and proof surfaces. Glass Lab does not write or configure the feed.","currentLabCoveragePercent":33},{"id":"markets:fred","labId":"markets","labTitle":"Markets Lab","labRoute":"/sector-labs/markets","sourceId":"fred","sourceLabel":"FRED","sourceRoute":"/source-feed/fred","cost":"free_key","priority":2,"priorityLabel":"high","whyItMatters":"Market and macro feeds strengthen forecast cones, base rates, settlement timing, and calibration history.","nextStep":"Confirm the API key/feed binding in the primary runtime, then refresh Source Feed Catalog and proof surfaces. Glass Lab does not write or configure the feed.","currentLabCoveragePercent":44},{"id":"markets:sec-edgar","labId":"markets","labTitle":"Markets Lab","labRoute":"/sector-labs/markets","sourceId":"sec-edgar","sourceLabel":"SEC EDGAR","sourceRoute":"/source-feed/sec-edgar","cost":"free_no_key","priority":2,"priorityLabel":"high","whyItMatters":"This source family is available in the lab model but not confirmed in the public proof window yet.","nextStep":"Confirm the API key/feed binding in the primary runtime, then refresh Source Feed Catalog and proof surfaces. Glass Lab does not write or configure the feed.","currentLabCoveragePercent":44},{"id":"company_events:sec-edgar","labId":"company_events","labTitle":"Company Events Lab","labRoute":"/sector-labs/company-events","sourceId":"sec-edgar","sourceLabel":"SEC EDGAR","sourceRoute":"/source-feed/sec-edgar","cost":"free_no_key","priority":2,"priorityLabel":"high","whyItMatters":"This source family is available in the lab model but not confirmed in the public proof window yet.","nextStep":"Confirm the API key/feed binding in the primary runtime, then refresh Source Feed Catalog and proof surfaces. Glass Lab does not write or configure the feed.","currentLabCoveragePercent":50},{"id":"policy_government:fec","labId":"policy_government","labTitle":"Policy & Government Lab","labRoute":"/sector-labs/policy-government","sourceId":"fec","sourceLabel":"FEC","sourceRoute":"/source-feed/fec","cost":"free_key","priority":3,"priorityLabel":"medium","whyItMatters":"Government feeds strengthen policy, election, spending, and institutional reality closure lanes.","nextStep":"Confirm the API key/feed binding in the primary runtime, then refresh Source Feed Catalog and proof surfaces. Glass Lab does not write or configure the feed.","currentLabCoveragePercent":75},{"id":"sports_odds:the-odds-api","labId":"sports_odds","labTitle":"Sports Odds Lab","labRoute":"/sector-labs/sports-odds","sourceId":"the-odds-api","sourceLabel":"TheOddsAPI","sourceRoute":"/source-feed/the-odds-api","cost":"free_key_limited","priority":4,"priorityLabel":"medium","whyItMatters":"Odds feeds strengthen implied-probability comparison, closing-line tracking, and forecast calibration.","nextStep":"Confirm the API key/feed binding in the primary runtime, then refresh Source Feed Catalog and proof surfaces. Glass Lab does not write or configure the feed.","currentLabCoveragePercent":67},{"id":"energy_climate:eia","labId":"energy_climate","labTitle":"Energy & Climate Lab","labRoute":"/sector-labs/energy-climate","sourceId":"eia","sourceLabel":"EIA","sourceRoute":"/source-feed/eia","cost":"free_key","priority":5,"priorityLabel":"watch","whyItMatters":"This source family is available in the lab model but not confirmed in the public proof window yet.","nextStep":"Confirm the API key/feed binding in the primary runtime, then refresh Source Feed Catalog and proof surfaces. Glass Lab does not write or configure the feed.","currentLabCoveragePercent":25},{"id":"macro_pressure:bls","labId":"macro_pressure","labTitle":"Macro Pressure Lab","labRoute":"/sector-labs/macro-pressure","sourceId":"bls","sourceLabel":"BLS Public Data API","sourceRoute":"/source-feed/bls","cost":"free_limited","priority":5,"priorityLabel":"watch","whyItMatters":"This source family is available in the lab model but not confirmed in the public proof window yet.","nextStep":"Confirm the API key/feed binding in the primary runtime, then refresh Source Feed Catalog and proof surfaces. Glass Lab does not write or configure the feed.","currentLabCoveragePercent":33},{"id":"macro_pressure:eia","labId":"macro_pressure","labTitle":"Macro Pressure Lab","labRoute":"/sector-labs/macro-pressure","sourceId":"eia","sourceLabel":"EIA","sourceRoute":"/source-feed/eia","cost":"free_key","priority":5,"priorityLabel":"watch","whyItMatters":"This source family is available in the lab model but not confirmed in the public proof window yet.","nextStep":"Confirm the API key/feed binding in the primary runtime, then refresh Source Feed Catalog and proof surfaces. Glass Lab does not write or configure the feed.","currentLabCoveragePercent":33},{"id":"macro_pressure:nasdaq-data-link","labId":"macro_pressure","labTitle":"Macro Pressure Lab","labRoute":"/sector-labs/macro-pressure","sourceId":"nasdaq-data-link","sourceLabel":"Nasdaq Data Link","sourceRoute":"/source-feed/nasdaq-data-link","cost":"free_key","priority":5,"priorityLabel":"watch","whyItMatters":"This source family is available in the lab model but not confirmed in the public proof window yet.","nextStep":"Confirm the API key/feed binding in the primary runtime, then refresh Source Feed Catalog and proof surfaces. Glass Lab does not write or configure the feed.","currentLabCoveragePercent":33},{"id":"public_health:openaq","labId":"public_health","labTitle":"Public Health Signals Lab","labRoute":"/sector-labs/public-health","sourceId":"openaq","sourceLabel":"OpenAQ","sourceRoute":"/source-feed/openaq","cost":"free_key_limited","priority":5,"priorityLabel":"watch","whyItMatters":"This source family is available in the lab model but not confirmed in the public proof window yet.","nextStep":"Confirm the API key/feed binding in the primary runtime, then refresh Source Feed Catalog and proof surfaces. Glass Lab does not write or configure the feed.","currentLabCoveragePercent":40},{"id":"public_health:openfda","labId":"public_health","labTitle":"Public Health Signals Lab","labRoute":"/sector-labs/public-health","sourceId":"openfda","sourceLabel":"openFDA","sourceRoute":"/source-feed/openfda","cost":"free_limited","priority":5,"priorityLabel":"watch","whyItMatters":"This source family is available in the lab model but not confirmed in the public proof window yet.","nextStep":"Confirm the API key/feed binding in the primary runtime, then refresh Source Feed Catalog and proof surfaces. Glass Lab does not write or configure the feed.","currentLabCoveragePercent":40},{"id":"markets:coingecko","labId":"markets","labTitle":"Markets Lab","labRoute":"/sector-labs/markets","sourceId":"coingecko","sourceLabel":"CoinGecko","sourceRoute":"/source-feed/coingecko","cost":"free_limited","priority":5,"priorityLabel":"watch","whyItMatters":"This source family is available in the lab model but not confirmed in the public proof window yet.","nextStep":"Confirm the API key/feed binding in the primary runtime, then refresh Source Feed Catalog and proof surfaces. Glass Lab does not write or configure the feed.","currentLabCoveragePercent":44},{"id":"markets:finnhub","labId":"markets","labTitle":"Markets Lab","labRoute":"/sector-labs/markets","sourceId":"finnhub","sourceLabel":"Finnhub paid overlay","sourceRoute":"/source-feed/finnhub","cost":"paid_optional","priority":5,"priorityLabel":"watch","whyItMatters":"This source family is available in the lab model but not confirmed in the public proof window yet.","nextStep":"Confirm the API key/feed binding in the primary runtime, then refresh Source Feed Catalog and proof surfaces. Glass Lab does not write or configure the feed.","currentLabCoveragePercent":44},{"id":"markets:nasdaq-data-link","labId":"markets","labTitle":"Markets Lab","labRoute":"/sector-labs/markets","sourceId":"nasdaq-data-link","sourceLabel":"Nasdaq Data Link","sourceRoute":"/source-feed/nasdaq-data-link","cost":"free_key","priority":5,"priorityLabel":"watch","whyItMatters":"This source family is available in the lab model but not confirmed in the public proof window yet.","nextStep":"Confirm the API key/feed binding in the primary runtime, then refresh Source Feed Catalog and proof surfaces. Glass Lab does not write or configure the feed.","currentLabCoveragePercent":44},{"id":"geo_world_model:geonames","labId":"geo_world_model","labTitle":"Geo World Model Lab","labRoute":"/sector-labs/geo-world-model","sourceId":"geonames","sourceLabel":"GeoNames","sourceRoute":"/source-feed/geonames","cost":"free_limited","priority":5,"priorityLabel":"watch","whyItMatters":"This source family is available in the lab model but not confirmed in the public proof window yet.","nextStep":"Confirm the API key/feed binding in the primary runtime, then refresh Source Feed Catalog and proof surfaces. Glass Lab does not write or configure the feed.","currentLabCoveragePercent":50},{"id":"transport_logistics:opensky","labId":"transport_logistics","labTitle":"Transport & Logistics Lab","labRoute":"/sector-labs/transport-logistics","sourceId":"opensky","sourceLabel":"OpenSky Network","sourceRoute":"/source-feed/opensky","cost":"free_limited","priority":5,"priorityLabel":"watch","whyItMatters":"This source family is available in the lab model but not confirmed in the public proof window yet.","nextStep":"Confirm the API key/feed binding in the primary runtime, then refresh Source Feed Catalog and proof surfaces. Glass Lab does not write or configure the feed.","currentLabCoveragePercent":67},{"id":"weather_risk:openaq","labId":"weather_risk","labTitle":"Weather Risk Lab","labRoute":"/sector-labs/weather-risk","sourceId":"openaq","sourceLabel":"OpenAQ","sourceRoute":"/source-feed/openaq","cost":"free_key_limited","priority":5,"priorityLabel":"watch","whyItMatters":"This source family is available in the lab model but not confirmed in the public proof window yet.","nextStep":"Confirm the API key/feed binding in the primary runtime, then refresh Source Feed Catalog and proof surfaces. Glass Lab does not write or configure the feed.","currentLabCoveragePercent":71},{"id":"source_intake:firecrawl","labId":"source_intake","labTitle":"Source Intake & Provenance Lab","labRoute":"/sector-labs/source-intake","sourceId":"firecrawl","sourceLabel":"Firecrawl","sourceRoute":"/source-feed/firecrawl","cost":"paid_key","priority":5,"priorityLabel":"watch","whyItMatters":"This source family is available in the lab model but not confirmed in the public proof window yet.","nextStep":"Confirm the API key/feed binding in the primary runtime, then refresh Source Feed Catalog and proof surfaces. Glass Lab does not write or configure the feed.","currentLabCoveragePercent":75}],"boundary":{"readOnly":true,"publicUserWriteAllowed":false,"roadmapIsRecommendationNotExecution":true,"roadmapDoesNotConfigureSecretsOrFeeds":true,"approvedDataApisRemainTheOnlyRuntimeIntakePath":true}}