Establishes the package layout, limits/error model and decision-log
convention that every later HTTP/2 phase depends on, per
flash/docs/http2/IMPLEMENTATION-PLAN.md Phase 0.
- dev.relism.flash.h2: package-info (architecture overview), Http2ErrorCode
(the 14 RFC 9113 §7 codes with precomputed 4-byte wire encodings),
Http2Exception (connection error -> GOAWAY) and Http2StreamException
(stream error -> RST_STREAM), neither extending IOException, both with
stack-trace capture disabled on the hot rejection path.
- Http2Limits: every bound Phase 0 requires (concurrent streams, frame
size, header list size, CONTINUATION/reset/settings/ping rate bounds,
flow-control windows, HPACK table size/string length, assembly and idle
timeouts), each documented with the attack or RFC clause it addresses.
- dev.relism.flash.http.Http1Limits: the h1 bounds needed by EX-03 (strict
Content-Length) and EX-08 (header count/size limits).
- flash/docs/http2/DECISIONS.md seeded with DEC-01..DEC-11 (the ten
decisions implied by the plan itself, plus DEC-11 recording that commits
keep scope `core` rather than adding `h2` to AGENTS.md).
- flash/docs/http2/IMPLEMENTATION-PLAN.md: added the Progress Ledger
(tracks phase status across sessions) and checked off Phase 0's DoD.
19 new tests, full flash module suite green (226/226).
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>