Repository navigation
Conversation
This document outlines the rules for parsing and framing HTTP/1.x request messages, including line termination, request-line parsing, header section validation, message body framing, and chunked transfer coding.
Expanded README to include detailed library specifications, planned theorems, and unproven aspects.
|
Reviewed the specification at
The reproducibility boundary also needs to be explicit: this head contains only LICENSE, README.md, SPEC.md and bar.toml. The PR acknowledges that implementation is still to be pushed, so please remove “proved” from the README title for now and attach the source, fixtures, commands and outputs behind the reported 2,520-stream / 120-socket results. Independent spec approval is not the only remaining step at this revision. AI-assisted specification review against the pinned files and RFCs. No Lean build, parser execution or unpublished test suite was run; the examples above identify gaps in the written rules, not observed behavior of an implementation. |
Companion Lean 4 (
|
|
The companion specification adds one proof obligation that needs strengthening before implementation review: Its conclusion is only Keep the current lemma under a name such as AI-assisted review of the new theorem statement. I checked the countermodel's implication on 20 combinations of versions, header lists and Content-Length presence. This identifies a gap in the proposed specification, not an observed failure of the parser; the implementation and Lean proofs are not present at |
Initializes the RFC 9112 HTTP/1.1 request framing and chunked transfer-coding slice for
Proven-Commons/httpfollowing Verified Bar v2 (playbook/verified-bar.md) and theHttp.Spec/Http.Proofslayout (Proven-Commons/mission#22).Included in this initial specification PR
SPEC.md: Wire-level specification covering strictCRLFline splitting, single-SPrequest-line grammar,obs-foldand space-before-colon rejection, disjointContent-LengthvsTransfer-Encodingresolution (CL.TE/TE.CL,HTTP/1.0Transfer-EncodingperEEF-CVE-2026-94194, non-finalchunked), and strictCRLFchunk-data terminators (CVE-2025-23167).bar.tomlandREADME.md: Verified Bar v2 manifest (status = "in-progress") and 15-theorem table culminating in prefix-free framing (parseRequest_prefix_free) and unique multi-message stream decomposition (parseRequest_stream_unique).Verification and Next Build Step
2,520generated streams (500canonical round-trips,1,092pipelined prefix-free checks,12/12caught planted mutations) plus120live TCP socket comparisons against Node.jsv18.20.4(llhttp) passed with0unexpected mismatches (confirming stricter rejection onCVE-2025-23167,EEF-CVE-2026-94194, and multi-SPrequest lines).v4.35.0runner: push the companionHttp/Types.lean,Http/Framing.lean,Http/Spec/Defs.lean,Http/Spec.lean,Http/Proofs.lean,Main.lean,comparator.json,lakefile.toml, andtests/modules onto this branch and runlake build && lake comparator --paranoidbefore independent spec approval.Leaving unmerged per
MERGE-SOP.md.