Skip to content

feat: prepare jlreq 0.1.0 for release - #29

Merged
P4suta merged 1 commit into
mainfrom
feat/prepare-jlreq-0.1.0
Aug 25, 2026
Merged

feat: prepare jlreq 0.1.0 for release#29
P4suta merged 1 commit into
mainfrom
feat/prepare-jlreq-0.1.0

Conversation

@P4suta

@P4suta P4suta commented Aug 25, 2026

Copy link
Copy Markdown
Owner

What this changes

Prepares jlreq and jlreq-conformance as release-grade 0.1.0 crates while preserving the documented line-composition boundary. Composition is now exact and fallible with typed resource limits; paragraph preparation and indexed dynamic programming bound work deterministically; protocol-v1 transport is streamed, bounded, timeout-safe, and response IDs may arrive out of order.

This also completes the three-engine conformance census, mutation and coverage gates, three focused fuzz targets, package verification, release artifact automation, public API and error-code controls, and the 0.1.0 user and maintainer documentation.

Specification basis

The implementation continues to derive its class, spacing, break, adjustment, and construct behavior from the vendored JLReq snapshots and recorded provenance. Generated tables and derived data remain byte-for-byte gated, and the prepared implementation is checked against the retained small-input oracle across profiles, writing modes, and constructs.

Conformance

  • Every observable rule this touches has a protocol-v1 case naming its JLReq section
  • Where JLReq permits alternatives, each permitted outcome is recorded
  • Differences from other implementations remain documented with reasoning
  • census-all passes for all 10 kinds and 122,199 cases with zero differences across Rust, OCaml, and Racket

Checks

  • Full just release-check passes from a clean tracked tree
  • 516 workspace tests plus the 10,000-cluster and pathological 8,000,000-transition gates pass
  • jlreq coverage is 96.92% line and 97.73% region; conformance coverage is 90.59% line and 87.38% region
  • Full mutation passes: jlreq 1,949 tested with 0 missed and 0 timeout; conformance 326 tested with 0 missed and 0 timeout
  • no_std, WASM, MSRV 1.85, package extraction, doctest, CLI install, and crates.io publish dry-runs pass
  • The layout core gained no std, I/O, font, or floating-point dependency
  • No allow or ignore was added to make a gate pass

Release boundary

This PR does not publish either crate, create a tag, invoke the release workflow, or create a GitHub Release. Those external and irreversible steps remain on the explicit publication checklist.

@P4suta
P4suta enabled auto-merge (squash) August 25, 2026 12:07
@P4suta
P4suta merged commit e5a377d into main Aug 25, 2026
28 of 29 checks passed
@P4suta
P4suta deleted the feat/prepare-jlreq-0.1.0 branch August 25, 2026 12:09
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