Skip to content

cr150 L6a: report sink format in isolation (line writer, f64, escaper, trailer, SHA-256, reader) - #416

Merged
luisleo526 merged 8 commits into
core/cr150-p00-contractsfrom
core/cr150-l6a
Oct 18, 2026
Merged

luisleo526 merged 8 commits into
core/cr150-p00-contractsfrom
core/cr150-l6a

Conversation

@luisleo526

Copy link
Copy Markdown
Collaborator

CR-150 lane L6a, per DESIGN rev 6 §3.7 and its row, coded against the P00 contracts (#413). The base is core/cr150-p00-contracts, so this diff shows L6a only.

  • 20810dd: a red test pins the sink wire format before the implementation.
  • 998f83f: a dependency-free streaming SHA-256.
  • 5e3e8e5: the isolated report-sink line writer, implementing P00's report_sink_writer.hpp.
  • 2a7ec1d: a strict streaming reference reader.
  • 44b48bd: the reader proof is isolated from host settings.

Lab: rj-20261018t125016-9547df green (preflight, release, debug, docs) on 44b48bd. The Fable gating read comes before merge. Not to merge before the 1.6.2-rc.1 cut, and only after #413.

🤖 Generated with Claude Code

Add the P00-only runtime witness, 1,000,000 checked-in Python repr samples and all 2,098 binary64 powers of two, UTF-8 cases, writer artifacts and strict-reader refusals. Expected red on a6abb14: undefined report_sink formatting and LineWriter implementations; pf_sink is also absent. Compilation and execution are reserved for CORE-TOP lab per the lane brief; no observed red diagnostic is claimed.
Implement the FIPS 180-4 block schedule, streaming updates, copy-on-finalize digest and lowercase hex encoding. Extend the already-red format unit with NIST vectors and every two-part split of the short messages. Lab compilation and execution remain pending per the executor brief.
Add Python repr-compatible binary64 rendering, byte-validating UTF-8 escaping, the seven fixed descriptors, E/T serialization and SHA-counted trailers. Buffer checked writes in 64 KiB and latch validation or I/O failure before publication. Keep P00 declarations unchanged. S2 uses internal WriterError and cached repeated finalization, with runtime error-code mapping reserved for L6b-1. No build or tests were run on this machine.
Validate fixed ordered v1 descriptors, typed records, exact Python f64 lexemes, bounded UTF-8 JSON lines and the final counts/SHA receipt. Yield immutable typed rows in one pass and expose completion only after EOF. Extend the format witness with an exact 1 MiB boundary, zero/nonzero descriptor shapes, finalization lifecycle and malformed-stream cases. Execution is deferred to CORE-TOP lab as required.
Keep Python assertions enabled regardless of PYTHONOPTIMIZE, suppress bytecode artifacts and retry an interrupted child wait. This only strengthens the pending lab witness; no build or test was executed here.
Apply CORE-TOP wave1 and the Fable gating read: add report_sink_writer.cpp and sha256.cpp to PINEFORGE_KERNEL_SOURCES, one per line, and append the format unit inventory/registration after the pinned test lines.

Mechanically re-anchor only shifted top-level CMake citations. Preserve the prose and claims recorded by 47184e5 and 868aa65; no sentence is reworded. Keep all C++/Python bodies, P00 declarations, fixture evidence and other lines unchanged.

No configuration, compilation, tests or guards run in this fix round per the executor brief. Commit hooks are disabled for this invocation to honor that instruction; lab proof remains with CORE-TOP.
Merge P00 V1/V2 ee3083d and L15a squash 72e34d4 without rebasing or changing either lane implementation.

Resolve five documentation conflicts against the final merged CMake code: kernel target 161, alias 162, aggregate target 172-175, header install 474-479, example inclusion 390 and runner guard 512-513. Preserve the incoming L15a source citations and hash pins; retain and re-anchor L6a wiring citations from f397d88. Citation lineage is 47184e5 and 868aa65; no documentation prose is reworded.

Resolve tests/CMakeLists.txt by keeping the P00 and L15a unit/guard registrations intact and appending the L6a format registration. Read back the unchanged evidence pin at 3267 and supporting lines 3235, 3263, 3287 and 3293-3294. No build, tests or guard scripts run; commit hooks disabled for this invocation per CORE-TOP. Never push.
Merge 0faaf06, the L8a #419 squash, on top of the prior 40dbeaa merge without rewriting history. Keep both lane implementations, incoming helper adaptations, frozen contracts and every test/guard intact.

Resolve the sole conflict at tests/CMakeLists.txt EOF by retaining the complete incoming P00/L15a/L8a registrations and appending the two L6a format-unit registration lines. Read back the fixture evidence pin at 3267 and supporting lines 3235, 3263, 3287 and 3293-3294 against the merged file.

Documentation merges retain the incoming source anchors/hash pins and the round-1 CMake coordinates from 40dbeaa: target 161, alias 162, aggregate 172-175, install 474-479, examples 390 and runner 512-513. No prose is reworded. Citation lineage remains f397d88, 47184e5 and 868aa65.

No configuration, build, test, generator or guard script run. Hooks disabled for this invocation under CORE-TOP instructions. No push; lab proof belongs to CORE-TOP.
@luisleo526
luisleo526 marked this pull request as ready for review October 18, 2026 18:16
@luisleo526
luisleo526 merged commit d3eab70 into core/cr150-p00-contracts Oct 18, 2026
1 check passed
luisleo526 added a commit that referenced this pull request Oct 18, 2026
Merge integration head d3eab70, including L6a #416 and L1 commit 0157156, without rewriting the accepted L8B history.

Resolve only the shared tests/CMakeLists.txt append region: retain the integration report-format rows and append the L8B prefix unit after them. All registrations remain after the manually re-read private-fixture pins. No source file, test body, guard or documentation sentence was edited in the resolution; incoming code and citation updates are retained unchanged.

No build, test, generator, checker or verification script was run here. No push.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant