Prepare the 0.1.0 release: runnable examples, metadata and the 0.1 changeset - #92
Merged
Merged
Conversation
…angeset The 0.1.0 release needs examples a new user can run, CI that keeps them honest, package metadata that points at the docs site, and a changelog entry that says what 0.1 means for someone depending on the package. - examples/: four programs covering the jobs the README presents (read results, build and frame, drive the transfer protocol receiver, map local codes to LOINC). Each imports @cosyte/astm by name, so it runs against the built package through its own exports, and asserts its own output. Synthetic input only, copied from test/fixtures. - pnpm examples runs them all (scripts/run-examples.ts, refusing to pass when it finds nothing to run); typecheck:examples and lint:examples check them against the built types, and phi-scan:examples names them to the PHI scanner, whose default walk does not reach examples/. - ci.yml gains an examples job running all four after a build, with actions pinned to the same commits release.yml pins. - format and format:check now cover examples/. - package.json: keywords for the standards and the lab audience, and homepage https://docs.cosyte.com/astm. - .changeset/first-minor-release.md: the minor that states what 0.1 covers, what the version promises below 1.0, and what is not covered yet. CHANGELOG.md [Unreleased] carries the same statement, and documentation/release-readiness.md accounts for the new changeset and records the operator's 2026-09-25 direction to publish 0.1.x ("I need every single package on v0.1.x and published."), which replaces the earlier publication block. The README quickstart already ran verbatim from a clean install of the packed tarball, so it is unchanged. Claude-Session: https://claude.ai/code/session_01U24bnHKNxQWMxmfN7ny7w9
NSchatz
enabled auto-merge (squash)
September 25, 2026 20:20
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Prepares
@cosyte/astmfor its 0.1.0 release. No change undersrc/.What changes
examples/: four runnable programs, one per job the README presents:
read-results.ts: parse a de-framed record stream and read each result's value, units, flag and status, with the two patient IDs kept distinct.build-and-frame.ts: build spec-clean records, frame them with checksums, read them back, and see a corrupted frame refused.receive-over-ltp.ts: drive the receiver state machine (ACK, NAK a damaged frame, accept the retransmission, deliver the records).map-local-codes-to-loinc.ts: map local codes to LOINC with a caller-supplied LIVD catalog (one candidate, two settled by units, one unmapped).Each imports
@cosyte/astmby name, so it resolves through the package's ownexportsto the builtdist/, prints what it read, and asserts its own output. Inputs are synthetic; the one data file is a copy oftest/fixtures/tier1-result.astm.Scripts:
pnpm examples(scripts/run-examples.ts, which refuses to pass when it finds nothing to run),typecheck:examplesandlint:examples(against the built types, viaexamples/tsconfig.jsonandexamples/eslint.config.js), andphi-scan:examples(the scanner's default walk does not reachexamples/).formatandformat:checknow coverexamples/.CI: a new
examplesjob inci.ymlthat installs, builds, typechecks, lints, runs and PHI-scans the examples, with actions pinned to the same commitsrelease.ymlpins.package.json: keywords for the standards and the lab audience;
homepageis now https://docs.cosyte.com/astm.description,repositoryandbugswere already correct.Changeset
first-minor-release.md(minor): what 0.1 covers, what the version promises below 1.0, what is not covered yet. The same statement leadsCHANGELOG.md[Unreleased], anddocumentation/release-readiness.mdaccounts for the new changeset and records the operator's 2026-09-25 direction to publish 0.1.x.Quickstart proof
The README quickstart was already self-contained. From the packed tarball:
Local gates
pnpm typecheck && pnpm lint && pnpm test && pnpm build && pnpm attwpass (72 files, 1267 tests), as doformat:check,phi-scan,check,check:no-emdash,check:no-internal-refs,typecheck:examples,lint:examples,examplesandphi-scan:examples.https://claude.ai/code/session_01U24bnHKNxQWMxmfN7ny7w9