Skip to content

Prepare the 0.1.0 release: examples, install section, metadata and the 0.1 changeset - #132

Merged
NSchatz merged 1 commit into
mainfrom
release-0.1-prep
Sep 25, 2026
Merged

NSchatz merged 1 commit into
mainfrom
release-0.1-prep

Conversation

@NSchatz

@NSchatz NSchatz commented Sep 25, 2026

Copy link
Copy Markdown
Contributor

Prepares @cosyte/fhir for its 0.1.0 release. No change under src/.

What changes

  • examples/: four runnable programs, one per job the README presents:

    • read-and-validate.ts: read an Observation, keep 120.0 exactly as written, branch on value[x], validate, write back.
    • safe-to-summarize.ts: the negation on a refuted allergy, a vaccine not given and a do-not-perform order; an unknown modifierExtension refused by assertSafeToSummarize.
    • json-and-xml.ts: one Observation read from JSON and XML into equivalent models, XML written back byte for byte, a DTD refused with DTD_FORBIDDEN.
    • bundles-and-ndjson.ts: transaction versus batch, reference resolution (resolved, unresolved, external), and a Bulk Data NDJSON stream with a malformed line isolated by number.

    Each imports @cosyte/fhir by name (resolved through the package's own exports to the built dist/), reads only synthetic fixtures already under test/__fixtures__/, asserts its own output with node:assert/strict and prints a final <name>: ok line.

  • Scripts: pnpm examples (scripts/run-examples.ts: fails on a non-zero exit, a missing final line, a missing dist/ or an empty folder; a planted wrong expectation turns it to exit 1), typecheck:examples, lint:examples, phi-scan:examples. format and format:check now cover examples/.

  • CI: a new examples job in ci.yml (install, build, typecheck, lint, run, PHI-scan), actions pinned to the same commits as the fuzz job.

  • README: an ## Install section before ## Usage in the house style, so the quickstart (first ts block after it) is the Usage program. The status line no longer says unpublished, and "Do not depend on this package" is gone.

  • package.json: description without the pre-alpha wording, wider keywords, homepage https://docs.cosyte.com/fhir. repository and bugs were already right.

  • 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 leads CHANGELOG.md [Unreleased]; the changeset README, CONTRIBUTING and the changelog preamble now describe the 0.x rule instead of the 0.0.x ladder.

With this changeset the open Version Packages PR derives 0.1.0 from 0.0.11 (0.0.11 was never published; npm has 0.0.10).

Quickstart proof

pnpm build && npm pack                                  -> cosyte-fhir-0.0.11.tgz (exit 0)
npm init -y && npm install ./cosyte-fhir-0.0.11.tgz    (empty dir, exit 0)
qs-extract.mjs node_modules/@cosyte/fhir/README.md      -> "## Install" L65, code block L81 (ts)
node quickstart.mts                                     exit 0

Local gates (pnpm 10.0.0)

typecheck, lint, test (102 files, 4134 tests), build, attw, format:check, check:no-emdash, check:no-internal-refs, check:docs-set, typecheck:examples, lint:examples, examples (4 of 4), phi-scan, phi-scan:examples, phi-scan --staged: all exit 0.

Not in this PR

The Version Packages PR goes red at 0.1.0 on tests that pin the 0.0.x version; that is handled separately.

https://claude.ai/code/session_01U24bnHKNxQWMxmfN7ny7w9

…e 0.1 changeset

The operator directed every package to 0.1.x. This adds what a 0.1.0 of
@cosyte/fhir needs besides the version bump itself:

- examples/: four runnable programs, one per job the README presents
  (read and validate, the safety readout, JSON and XML, Bundles and
  NDJSON). Each imports @cosyte/fhir by name, so it resolves through the
  package's own exports to the built dist/, reads only synthetic fixtures
  already under test/__fixtures__, checks its own output with
  node:assert and prints a final "<name>: ok" line.
- scripts/run-examples.ts and `pnpm examples`: runs every example, fails
  on a non-zero exit, a missing final line, a missing dist/ or an empty
  folder. Planting a wrong expectation turns it to exit 1.
- typecheck:examples, lint:examples and phi-scan:examples, and an
  examples job in ci.yml that installs, builds and runs all four, with
  actions pinned to the same commits as the other jobs there.
- README: an Install section before Usage in the house style, so the
  first ts block after it is the Usage program, which runs verbatim from
  a clean install. The status line no longer says unpublished and the
  "do not depend" sentence is gone.
- package.json: description without the pre-alpha wording, keywords,
  homepage https://docs.cosyte.com/fhir.
- A minor changeset stating what 0.1 covers, what the version promises
  below 1.0 and what is not covered yet, with the same statement leading
  CHANGELOG.md [Unreleased]. The changeset README, CONTRIBUTING and the
  changelog preamble now describe the 0.x rule instead of the 0.0.x
  ladder. With this changeset the pending Version Packages PR derives
  0.1.0 from 0.0.11; 0.0.11 itself is never published.

No change under src/.

Claude-Session: https://claude.ai/code/session_01U24bnHKNxQWMxmfN7ny7w9
@NSchatz
NSchatz enabled auto-merge (squash) September 25, 2026 21:17
@NSchatz
NSchatz merged commit cb08b2c into main Sep 25, 2026
12 checks passed
@NSchatz
NSchatz deleted the release-0.1-prep branch September 25, 2026 21:20
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