The set of known headers and their canonical order is currently duplicated across ~5 sites in the Python and JS libraries. Adding or renaming a header means editing each by hand, and they can silently diverge between languages.
Deliverable: a single shared header registry (known headers + canonical order) that both libraries consume — a generated table or a shared data file — so a new header cannot diverge between Python and JS.
Related (same consistency theme): the SPEC ABNF value-bearing terminals (value, feedback-content, actor) don't permit SP, contradicting the prose (which is authoritative). A grammar-wide pass should align the ABNF with the prose. Files: SPEC.md (ABNF), the header definitions in both libraries.
Seriousness: moderate (drift risk; nothing currently broken, but each new header is a manual multi-site edit).
The set of known headers and their canonical order is currently duplicated across ~5 sites in the Python and JS libraries. Adding or renaming a header means editing each by hand, and they can silently diverge between languages.
Deliverable: a single shared header registry (known headers + canonical order) that both libraries consume — a generated table or a shared data file — so a new header cannot diverge between Python and JS.
Related (same consistency theme): the SPEC ABNF value-bearing terminals (
value,feedback-content,actor) don't permit SP, contradicting the prose (which is authoritative). A grammar-wide pass should align the ABNF with the prose. Files:SPEC.md(ABNF), the header definitions in both libraries.Seriousness: moderate (drift risk; nothing currently broken, but each new header is a manual multi-site edit).