Repository navigation
0.0.2
·
101 commits
to main
since this release
Immutable
release. Only release title and notes can be modified.
Added
- A
./.github/actions/setup-rustcomposite action (#33). The six gating jobs
inci.ymland the coverage job insonar.ymlcall it instead of each
carrying its own pinned toolchain step. The release lane keeps its own,
because a publishing lane restores no cache, and now says so at the step. - The internal constraint model and the two template readers that fill it
(#13, #14), inferrochart-compile. Both ADL generations normalize into one
model, so the field derivation is written once and nothing above that point
can tell which reader produced a node: each node carries a node identity, a
Reference Model type, an occurrences interval, a constraint payload, the
terminology in scope, and the five parts an overlay key step needs
(docs/architecture.mdsections 3 and 6.2). The ADL 1.4 reader walks a
parsed.opt, resolvinguse_nodeinternal references the vendor flattener
left in place and reading the constrainers only the ITS-XML family declares
(C_DV_STATE,C_CODE_REFERENCE,T_COMPLEX_OBJECT). The ADL 2 reader
starts from source archetypes, flattens them and generates the operational
form itself, folding theC_PRIMITIVE_TUPLEshapes for quantity and ordinal
into the same payloads the ADL 1.4 domain types produce, and carrying
constraint_status, which ADL 1.4 cannot state. A node with
occurrences matches {0}is absent from the model, and a template that
requires content at a slot it never filled is refused with a typed error
naming the slot rather than rendered as a guess. 121 of the 123 committed CKM
templates read; the two refusals are required unfilled slots. - A crate-scoped
deny.tomllicence exception foropenehr-term, which
embeds the openEHR support terminology under CC-BY-SA-3.0 and reaches this
tree throughopenehr-itsandopenehr-adl. - The release supply chain (#39, #34): a
v*tag now publishes a container
image, SBOMs, checksums and Sigstore attestations beside the binaries, and a
quickstartcompose.yamla downloader can run without a clone. The binaries
and the image are built in reusable workflows called by jobs that carry no
steps of their own, which is what the SLSA Build Level 3 claim rests on;
cargo auditablewrites the dependency list into every shipped binary,
CycloneDX describes it beside the archive, and syft describes each image
platform from that embedded list. A consumer verifies with
gh attestation verify --signer-workflow, andfinalize-releaserefuses to
publish a draft missing any of the 27 assets a four-target release promises.
The compose file'sdemoprofile starts FerroEHR and FerroTERM alongside, and
its header says plainly that those are separately licensed products and that
the profile is for evaluation. - The server's runtime surface (#41): one
FERROCHART_environment namespace
read in one place, a loopback default bind that only the container image
widens, a refusal to start when either upstream endpoint is missing that
names the variable, an unauthenticatedGET /health, and orderly shutdown
on SIGTERM. The book gains an Operate section describing all of it. - The documentation lane (#4): a book under
website/bookrendered by the
pinned mdBook toolchain that.github/actions/docs-toolchaininstalls, and
docs.yml, which verifies it on every pull request and publishes it to
GitHub Pages frommain.docs/VERSIONS.mdcarries the three tool pins and
scripts/checks/versions.shstops skipping that check. - The vendored openEHR CKM template corpus, licence by licence (#12).
Fixed
- Status text that had gone stale as the repository gained code: the README no
longer says there is no code and no binary,docs/ci-cd.mdno longer calls
the Rust tier gated off,scripts/checks/versions.shand four.claude
rules no longer describe a design phase that closed, and a reference to
issue #20 that meant a different repository's issue now names #33.
Changed
.claude/rules/ci-cd.mdanddocs/ci-cd.mddescribe the pipeline that
exists rather than the one that was waiting for a workspace, and drop a
stale issue reference carried over from another repository.