4.2 KiB
Future Work
Purpose
This document is the catch-all roadmap for planned, deferred, aspirational, experimental, or unimplemented weatherfeeder work. Current behavior belongs in the canonical docs outside docs/roadmap/.
NWS AFD Parsing Resilience
The current parser handles the concrete RAH, LWX, and MFR variants that motivated these ideas. Future work should keep those extension points maintainable as additional evidence appears.
Generalize Wrapper-Scoped Embedded Sections
The scanner currently permits undotted nested headings only inside PREV DISCUSSION. If other wrapper identities are observed, replace the single
wrapper check with a small explicit provider-local registry and add a fixture
for each wrapper family. Do not make the leading dot globally optional: wrapper
scope is the safeguard against classifying uppercase prose as a section.
Extend Conservative Preamble Classification
Leading key-message metadata currently supports validated Issued at, Updated at, and As of <clock> <weekday>... forms. Add future wording variants as
small, ordered classifiers with strict label boundaries and value grammars.
Every addition should include collision tests proving that similar message prose
and malformed metadata remain canonical content.
Keep List-Marker Recognition Extensible
The marker parser currently supports hyphens, asterisks, N), N., (N), and
composite forms such as - (N). If new decorators appear, evolve the helper
toward an explicit marker grammar or typed classification result rather than a
broad punctuation heuristic. Preserve positive-number and whitespace-boundary
checks so ordinary prose is not stripped.
Maintain a Cross-Office Fixture Corpus
The compact RAH, LWX, and current MFR fixtures seed regression coverage for the observed layouts. Future parser changes should add concise, deterministic HTML fixtures for materially distinct office formats and exercise them through both the provider parser and normalizer. Fixture comments should identify the format family and state that edited prose is not an archived product; tests must remain offline and assert both intended extraction and adjacent-section isolation.
SPC Convective Outlook Follow-Ups
Weatherapi Outlook Endpoints
Expose persisted SPC convective outlooks through weatherapi after the weatherfeeder storage contract is stable.
Likely endpoints:
GET /outlooks/convectiveGET /outlooks/convective/activeGET /outlooks/convective/location
Recommended behavior:
- Return the latest outlook run by default.
- Support active outlook filtering by current time and
containsLocation=true. - Consider optional query filters for
day,outlookType, andcontainsLocation. - Preserve canonical outlook geometry for downstream display and audit use.
SPC Day 4-8 Outlooks
Add SPC Day 4-8 convective outlook support as a schema-compatible extension only after Day 1-3 operation is proven.
Notes:
- Day 4-8 products have different semantics from Day 1-3 categorical/tornado/hail/wind products.
- Avoid forcing Day 4-8 assumptions into the current Day 1-3 model until the source shapes and consumer needs are reviewed.
- Prefer reusing
weather.outlook.v2if the fields remain accurate; otherwise write a separate roadmap before changing the canonical contract.
Degraded SPC Bundle Mode
Evaluate whether the SPC source should support degraded partial bundles when one required upstream product fails.
Current behavior should remain atomic: if a required GeoJSON or print-page fetch fails, emit no event for that poll.
Future degraded mode would need a clear contract for:
- distinguishing "no risk polygon" from "product missing";
- exposing per-product fetch errors without leaking raw provider internals into canonical events;
- deciding whether downstream sinks and APIs should store or serve partial snapshots.
Richer SPC Page Assets And Tables
Evaluate whether to parse additional SPC print-page metadata beyond the current discussion text.
Possible additions:
- archive GeoJSON/shapefile/KML links;
- image URLs;
- page risk tables;
- city tables;
- richer discussion section metadata.
Keep GeoJSON products authoritative for polygons, validity windows, and point matching unless a future roadmap explicitly changes that contract.