Directories
¶
| Path | Synopsis |
|---|---|
|
Package app is the composition root (Option C): the ONLY place that wires domains, platform, and modes together.
|
Package app is the composition root (Option C): the ONLY place that wires domains, platform, and modes together. |
|
cmd
|
|
|
watchpost
command
Command watchpost is the terminal-native live weather station.
|
Command watchpost is the terminal-native live weather station. |
|
domains
|
|
|
fire
Package fire holds what the wildfire providers share (B5): the proximity rules (from `[fire]` in config; AI-3 defaults), the confidence scale, the distance test, and hotspot clustering.
|
Package fire holds what the wildfire providers share (B5): the proximity rules (from `[fire]` in config; AI-3 defaults), the confidence scale, the distance test, and hotspot clustering. |
|
fire/firms
Package firms reads NASA FIRMS active-fire detections (B5; AI-3): the keyed upgrade over HMS — VIIRS NOAA-20/21 near-real-time points minutes old, via the area CSV API.
|
Package firms reads NASA FIRMS active-fire detections (B5; AI-3): the keyed upgrade over HMS — VIIRS NOAA-20/21 near-real-time points minutes old, via the area CSV API. |
|
fire/hms
Package hms reads NOAA-NESDIS Hazard Mapping System fire detections (B5, live-probed 2026-08-25; keyless): one KMZ for the whole continent, refreshed every 10 minutes, holding a merged `hms_fire<date>.kml` with analyst-curated points from GOES-East/West, NOAA-20/21, Suomi NPP and MODIS — ~25k placemarks, each with Lon/Lat/YearDay/Time/Satellite/Method/ Ecosystem/FRP in its description.
|
Package hms reads NOAA-NESDIS Hazard Mapping System fire detections (B5, live-probed 2026-08-25; keyless): one KMZ for the whole continent, refreshed every 10 minutes, holding a merged `hms_fire<date>.kml` with analyst-curated points from GOES-East/West, NOAA-20/21, Suomi NPP and MODIS — ~25k placemarks, each with Lon/Lat/YearDay/Time/Satellite/Method/ Ecosystem/FRP in its description. |
|
fire/wfigs
Package wfigs reads NIFC's Wildland Fire Interagency Geospatial Services current-incident layer (B5, live-probed 2026-08-25; keyless, public domain): one GeoJSON query for every active wildfire in the country (~600, under the layer's 2,000-record cap), answered for each location by distance.
|
Package wfigs reads NIFC's Wildland Fire Interagency Geospatial Services current-incident layer (B5, live-probed 2026-08-25; keyless, public domain): one GeoJSON query for every active wildfire in the country (~600, under the layer's 2,000-record cap), answered for each location by distance. |
|
globalfeed
Package globalfeed is the global event ticker's data layer (0.12.0): the largest active hazard events in the world — significant earthquakes (USGS), tropical cyclones (NHC) and US severe/tornado warnings (NWS) — mapped to one Event model, deduped and stacked most-recent-first.
|
Package globalfeed is the global event ticker's data layer (0.12.0): the largest active hazard events in the world — significant earthquakes (USGS), tropical cyclones (NHC) and US severe/tornado warnings (NWS) — mapped to one Event model, deduped and stacked most-recent-first. |
|
locations
Package locations resolves user queries (city names, US zips) to LocationRefs — embedded-first (geodata index: offline, ~7µs) with the Open-Meteo geocoder as online fallback for misses (AI-8 hybrid; a fallback resolve carries the geocode_fallback warning so honesty survives — §10.2).
|
Package locations resolves user queries (city names, US zips) to LocationRefs — embedded-first (geodata index: offline, ~7µs) with the Open-Meteo geocoder as online fallback for misses (AI-8 hybrid; a fallback resolve carries the geocode_fallback warning so honesty survives — §10.2). |
|
locations/coverage
Package coverage answers one question for the location resolvers: does the National Weather Service serve this place? Both the offline index (domains/locations) and the online geocoder (domains/locations/openmeteo) need the same answer, and neither may import the other — so it lives here (red-team 0.9.0 round 2 N-2: the offline path refused Puerto Rico while the online path accepted Paris).
|
Package coverage answers one question for the location resolvers: does the National Weather Service serve this place? Both the offline index (domains/locations) and the online geocoder (domains/locations/openmeteo) need the same answer, and neither may import the other — so it lives here (red-team 0.9.0 round 2 N-2: the offline path refused Puerto Rico while the online path accepted Paris). |
|
locations/geodata
Package geodata is the embedded offline geocoding index — the S2 spike's measured "compact" representation: two go:embed gzipped TSVs decompressed once at Load into single backing byte slices with sorted offset indexes; rows parse lazily on access.
|
Package geodata is the embedded offline geocoding index — the S2 spike's measured "compact" representation: two go:embed gzipped TSVs decompressed once at Load into single backing byte slices with sorted offset indexes; rows parse lazily on access. |
|
locations/openmeteo
Package openmeteo resolves location queries via the Open-Meteo Geocoding API (keyless; AI-8).
|
Package openmeteo resolves location queries via the Open-Meteo Geocoding API (keyless; AI-8). |
|
marine/coops
Package coops reads NOAA CO-OPS Tides & Currents (B3 UAT 61, live-probed; free, no key): tide predictions (high/low, 3,499 stations), observed water level (301 gauges) and tidal-current predictions (4,430 stations).
|
Package coops reads NOAA CO-OPS Tides & Currents (B3 UAT 61, live-probed; free, no key): tide predictions (high/low, 3,499 stations), observed water level (301 gauges) and tidal-current predictions (4,430 stations). |
|
marine/ndbc
Package ndbc reads NOAA National Data Buoy Center observations (B3 UAT 29, live-probed; free, no key): the active-station list gives every buoy's position, and each station's realtime2 text product carries the latest observed wave height (WVHT), dominant period (DPD), mean direction (MWD), and water temperature (WTMP) — the 5-day product.
|
Package ndbc reads NOAA National Data Buoy Center observations (B3 UAT 29, live-probed; free, no key): the active-station list gives every buoy's position, and each station's realtime2 text product carries the latest observed wave height (WVHT), dominant period (DPD), mean direction (MWD), and water temperature (WTMP) — the 5-day product. |
|
radio/player
Package player plays NOAA Weather Radio relays (B4, architecture §5/§10.4, AI-5): Icecast HTTP → ICY metadata strip → go-mp3 → resample → oto.
|
Package player plays NOAA Weather Radio relays (B4, architecture §5/§10.4, AI-5): Icecast HTTP → ICY metadata strip → go-mp3 → resample → oto. |
|
radio/pronounce
Package pronounce is the library of pronunciation rules — how the correspondent reads abbreviations, zones, states and product contractions — kept as editable tables, not as maps in the code (HUM LEAD 2026-08-28: the same shape as the report scripts; a rule is a line in a file).
|
Package pronounce is the library of pronunciation rules — how the correspondent reads abbreviations, zones, states and product contractions — kept as editable tables, not as maps in the code (HUM LEAD 2026-08-28: the same shape as the report scripts; a rule is a line in a file). |
|
radio/script
Package script is the library of spoken report scripts — what the correspondent says, kept as editable text, not as strings in the app (HUM LEAD 2026-08-28: "configurable, extendable, editable; picked up by file name, not wired").
|
Package script is the library of spoken report scripts — what the correspondent says, kept as editable text, not as strings in the app (HUM LEAD 2026-08-28: "configurable, extendable, editable; picked up by file name, not wired"). |
|
radio/spectrum
Package spectrum turns the player's latest PCM into visualizer band levels (UAT 92).
|
Package spectrum turns the player's latest PCM into visualizer band levels (UAT 92). |
|
radio/stream
Package stream resolves a location to NOAA Weather Radio audio (B4, architecture §5/§10.6, AI-4): the vendored NWS transmitter table says which transmitter covers a county and where every transmitter stands; two community Icecast directories (wxradio.org, weatherUSA) say which transmitters are actually relayed.
|
Package stream resolves a location to NOAA Weather Radio audio (B4, architecture §5/§10.6, AI-4): the vendored NWS transmitter table says which transmitter covers a county and where every transmitter stands; two community Icecast directories (wxradio.org, weatherUSA) say which transmitters are actually relayed. |
|
radio/synth
Package synth is the synthesized NOAA-Weather-Radio-style broadcast (B4 step 2, architecture §5 "Synth", AI-13): when no relay carries a location's transmitter — 89 % of them — the NWS text products the real broadcast reads from are fetched, normalized into spoken English, and voiced locally.
|
Package synth is the synthesized NOAA-Weather-Radio-style broadcast (B4 step 2, architecture §5 "Synth", AI-13): when no relay carries a location's transmitter — 89 % of them — the NWS text products the real broadcast reads from are fetched, normalized into spoken English, and voiced locally. |
|
seismic
Package seismic holds the earthquake rules and the USGS provider (0.11.0).
|
Package seismic holds the earthquake rules and the USGS provider (0.11.0). |
|
seismic/usgs
Package usgs reads the USGS Earthquake Hazards Program FDSN event feed (0.11.0, live-probed 2026-08-27; keyless, public domain).
|
Package usgs reads the USGS Earthquake Hazards Program FDSN event feed (0.11.0, live-probed 2026-08-27; keyless, public domain). |
|
severe
Package severe is the unified severe-event index (0.13.0, SAM-D-26 AX-1 = A): the global feeds' events (domains/globalfeed) and the tracked locations' alerts (platform/snapshot) folded into one de-duplicated, classified, sorted, capped list of rows, plus the [A]-shaped record of any row.
|
Package severe is the unified severe-event index (0.13.0, SAM-D-26 AX-1 = A): the global feeds' events (domains/globalfeed) and the tracked locations' alerts (platform/snapshot) folded into one de-duplicated, classified, sorted, capped list of rows, plus the [A]-shaped record of any row. |
|
weather/nws
Package nws is the National Weather Service provider — the mandatory US source and the harmonization tie-break authority (T-E′, OQ-9).
|
Package nws is the National Weather Service provider — the mandatory US source and the harmonization tie-break authority (T-E′, OQ-9). |
|
modes
|
|
|
report
Package report renders Snapshots for stdout: --json (machine, schema v1.0-rc) and --report-only (line-oriented plain text — also the documented screen-reader surface, R-12d/G-9a).
|
Package report renders Snapshots for stdout: --json (machine, schema v1.0-rc) and --report-only (line-oriented plain text — also the documented screen-reader surface, R-12d/G-9a). |
|
tty
Package tty hosts the live TUI program (modes/ — reads ONLY platform/snapshot per the import lint; M5 is structural).
|
Package tty hosts the live TUI program (modes/ — reads ONLY platform/snapshot per the import lint; M5 is structural). |
|
pkg
|
|
|
schema
Package schema generates the published JSON Schema (draft 2020-12) for the watchpost report envelope, by reflection over platform/snapshot types — the struct IS the source of truth, so schema drift is impossible by construction (M5; architecture §10.3).
|
Package schema generates the published JSON Schema (draft 2020-12) for the watchpost report envelope, by reflection over platform/snapshot types — the struct IS the source of truth, so schema drift is impossible by construction (M5; architecture §10.3). |
|
platform
|
|
|
astro
Package astro computes sunrise/sunset from position and date (NOAA solar equations) — no provider carries them, so the assembler fills every Daily row from geometry (B3 UAT 32).
|
Package astro computes sunrise/sunset from position and date (NOAA solar equations) — no provider carries them, so the assembler fills every Daily row from geometry (B3 UAT 32). |
|
config
Package config owns the watchpost user configuration file.
|
Package config owns the watchpost user configuration file. |
|
declset
Package declset lists a Go package directory's top-level declarations so a test can pin them against a golden: a pure file move (quality pass Q2) must not add, drop or rename one, and `git diff --stat` cannot certify a 1→13 split (rename detection needs whole-file similarity — red-team R2-22).
|
Package declset lists a Go package directory's top-level declarations so a test can pin them against a golden: a pure file move (quality pass Q2) must not add, drop or rename one, and `git diff --stat` cannot certify a 1→13 split (rename detection needs whole-file similarity — red-team R2-22). |
|
geo
Package geo holds the pure great-circle helpers shared by providers that pick stations by proximity (NDBC buoys, NWS observation stations — UAT 60).
|
Package geo holds the pure great-circle helpers shared by providers that pick stations by proximity (NDBC buoys, NWS observation stations — UAT 60). |
|
httpx
Package httpx is watchpost's single outbound HTTP client.
|
Package httpx is watchpost's single outbound HTTP client. |
|
invariant
Package invariant provides side-effect-free invariant checks with explicit error-return recovery — the ratified Go idiom for P10 Rule 5 (P10-05-INVARIANT- DENSITY, ruling D-2).
|
Package invariant provides side-effect-free invariant checks with explicit error-return recovery — the ratified Go idiom for P10 Rule 5 (P10-05-INVARIANT- DENSITY, ruling D-2). |
|
plaintext
Package plaintext is the boundary for text that arrives from outside — provider prose, relay titles, a config file's labels: escape sequences and control characters are dropped so nothing a server or a file sends can address the terminal (red-team 0.9.0 S-F6, NFR-6).
|
Package plaintext is the boundary for text that arrives from outside — provider prose, relay titles, a config file's labels: escape sequences and control characters are dropped so nothing a server or a file sends can address the terminal (red-team 0.9.0 S-F6, NFR-6). |
|
render
Package render is the D-9 pivot seam: the ONLY package allowed to import go-studs.
|
Package render is the D-9 pivot seam: the ONLY package allowed to import go-studs. |
|
sched
Package sched is the tiered fetch scheduler (architecture §3, §10.8) — THE single freshness authority.
|
Package sched is the tiered fetch scheduler (architecture §3, §10.8) — THE single freshness authority. |
|
snapshot
Package snapshot is THE data contract (architecture.md §2, §10.1, §10.11).
|
Package snapshot is THE data contract (architecture.md §2, §10.1, §10.11). |
|
term
Package term owns terminal capabilities and the keybinding data model.
|
Package term owns terminal capabilities and the keybinding data model. |
|
tz
Package tz memoizes time-zone loading (B3 UAT 74).
|
Package tz memoizes time-zone loading (B3 UAT 74). |
|
third_party
|
|
|
go-studs/components
Package components provides professional terminal UI building blocks following the GO-STUDS design pattern.
|
Package components provides professional terminal UI building blocks following the GO-STUDS design pattern. |
|
go-studs/rendering
Package rendering provides terminal rendering utilities for GO-STUDS components.
|
Package rendering provides terminal rendering utilities for GO-STUDS components. |
|
go-studs/theme
Package theme provides terminal theme detection and management for STUDS components.
|
Package theme provides terminal theme detection and management for STUDS components. |
|
tools
|
|
|
alertrec
command
Command alertrec records live NWS alert-feed states as replay fixtures (architecture §10.8): it polls /alerts/active for the given zones on a cadence and appends one JSONL feed-state line per poll — replayable by the domains/alerts harness (M2/M3).
|
Command alertrec records live NWS alert-feed states as replay fixtures (architecture §10.8): it polls /alerts/active for the given zones on a cadence and appends one JSONL feed-state line per poll — replayable by the domains/alerts harness (M2/M3). |
|
nwrtable
command
Command nwrtable turns the NWS county-coverage list (CCL.js — the public-domain JS arrays behind weather.gov/nwr/county_coverage) into the vendored transmitter table domains/radio/stream/transmitters.csv (architecture §10.6, B4).
|
Command nwrtable turns the NWS county-coverage list (CCL.js — the public-domain JS arrays behind weather.gov/nwr/county_coverage) into the vendored transmitter table domains/radio/stream/transmitters.csv (architecture §10.6, B4). |
|
slope
command
Command slope is the quality pass's growth statistic (plan §1, §2.1; red-team BQ-1, RT-3, R2-1): given a soak's post-GC heap series it reports the per-day slope with an autocorrelation-robust confidence interval, the 30-day projection of that interval's upper edge, and the DETECTION FLOOR — the smallest 30-day growth the run could have certified — so a "no growth" verdict is a measurement, not an assertion.
|
Command slope is the quality pass's growth statistic (plan §1, §2.1; red-team BQ-1, RT-3, R2-1): given a soak's post-GC heap series it reports the per-day slope with an autocorrelation-robust confidence interval, the 30-day projection of that interval's upper edge, and the DETECTION FLOOR — the smallest 30-day growth the run could have certified — so a "no growth" verdict is a measurement, not an assertion. |
Click to show internal directories.
Click to hide internal directories.















