Mark NWS forecast discussion resilience implemented
This commit is contained in:
@@ -2,10 +2,10 @@
|
||||
|
||||
## Status
|
||||
|
||||
The original heading-variant work and the first resilience follow-up are
|
||||
implemented. A second resilience follow-up is proposed to cover additional
|
||||
observed NWS heading and key-message formats without changing the canonical
|
||||
forecast-discussion contract.
|
||||
Implemented.
|
||||
|
||||
The original heading-variant work and both resilience follow-ups are
|
||||
implemented without changing the canonical forecast-discussion contract.
|
||||
|
||||
## Completed Baseline
|
||||
|
||||
@@ -23,9 +23,10 @@ change markers, and keeps the first occurrence of each mapped role. Provider and
|
||||
normalizer tests cover two office-format families while preserving the existing
|
||||
wire contract.
|
||||
|
||||
## Remaining Problem
|
||||
## Implemented Extensions
|
||||
|
||||
Observed AFDs still expose common forms outside the completed baseline:
|
||||
The parser now handles common AFD forms that were outside the completed
|
||||
baseline:
|
||||
|
||||
- a qualifier may appear between the identity and terminal ellipsis, as in
|
||||
`.DISCUSSION (Today through Thursday)...`;
|
||||
@@ -39,21 +40,20 @@ Observed AFDs still expose common forms outside the completed baseline:
|
||||
`LONG TERM` sections, so wording flexibility cannot safely rely on treating
|
||||
every similar identity as an alias.
|
||||
|
||||
These gaps do not undermine the provider-local architecture, but they mean the
|
||||
parser is still brittle at its syntax, semantic-alias, and list-tokenization
|
||||
extension points. The current compact cross-office fixture does not exercise
|
||||
these format families.
|
||||
These provider-local extensions preserve the architecture while strengthening
|
||||
syntax, semantic-alias, and list-tokenization handling. Compact cross-office
|
||||
fixtures exercise each added format family.
|
||||
|
||||
## Objective
|
||||
## Implementation Approach
|
||||
|
||||
Make common, minor NWS presentation changes local and inexpensive to support
|
||||
while preserving strict structural recognition and the existing canonical
|
||||
schema. A new observed heading form should require an isolated grammar helper;
|
||||
a true synonym should require one role-registry entry; and a new list marker
|
||||
should require one marker-classifier case. None should require changes to the
|
||||
scanner, canonical model, normalizer architecture, or downstream contracts.
|
||||
Common, minor NWS presentation changes remain local and inexpensive to support
|
||||
while strict structural recognition and the existing canonical schema are
|
||||
preserved. Each observed heading form uses an isolated grammar helper, a true
|
||||
synonym uses one role-registry entry, and each list marker uses one
|
||||
marker-classifier case. None requires changes to the scanner, canonical model,
|
||||
normalizer architecture, or downstream contracts.
|
||||
|
||||
## Target End State
|
||||
## Implemented Behavior
|
||||
|
||||
### Heading syntax
|
||||
|
||||
@@ -85,7 +85,7 @@ ellipsis-first form. Malformed heading-like lines remain body content.
|
||||
|
||||
Every successfully parsed heading is a section boundary regardless of whether
|
||||
its identity has a canonical role. This includes `DISCUSSION`, `NEAR TERM`,
|
||||
aviation, marine, hydrology, office-specific sections, and future structurally
|
||||
aviation, marine, hydrology, office-specific sections, and other structurally
|
||||
compatible identities.
|
||||
|
||||
### Canonical role aliases
|
||||
@@ -166,9 +166,9 @@ The implementation remains confined to the NWS provider parser plus owning
|
||||
provider and normalizer tests. It uses the Go standard library and introduces no
|
||||
runtime configuration or general parser framework.
|
||||
|
||||
## Acceptance Criteria
|
||||
## Acceptance Coverage
|
||||
|
||||
The follow-up is complete when automated tests demonstrate that:
|
||||
Automated tests demonstrate that:
|
||||
|
||||
- all previously supported heading, scanning, preamble, marker, and canonical
|
||||
results remain compatible;
|
||||
|
||||
Reference in New Issue
Block a user