@cosyte/astm 0.1.1 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,13 +1,180 @@
1
1
  # Changelog
2
2
 
3
- All notable changes to this project will be documented in this file.
3
+ ## 0.1.2
4
4
 
5
- The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
- and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
- Versions and publishing are managed with [Changesets](https://github.com/changesets/changesets);
8
- this file is maintained by hand (Changesets handles the version bump and publish only).
5
+ ### Patch Changes
9
6
 
10
- ## [Unreleased]
7
+ - 93c5774: The README follows our shared layout, with Support and Security sections and the Node.js versions CI tests (22, 24, and 26), and at a fifth of its former length it fits well inside npm's README limit. Its API tour and its coverage and compatibility notes moved, unchanged, to two pages on docs.cosyte.com/astm: "The API, layer by layer" and "Coverage and compatibility". No code, API, or behavior changes.
8
+
9
+ ## 0.1.1
10
+
11
+ ### Patch Changes
12
+
13
+ - Published through npm trusted publishing, with provenance.
14
+
15
+ ## 0.1.0
16
+
17
+ ### Minor Changes
18
+
19
+ - **One date conversion surface across the @cosyte parsers.** `toObject`, `toISO` and `toDate` read a
20
+ parsed ASTM date the same way the sibling parsers do. `toObject` returns only the components the
21
+ value stated, and `toISO` appends no offset, because ASTM states none. `toDate` returns a `Date` only
22
+ when you pass `assumeOffsetMinutes`: an analyzer's timestamp is local to the analyzer.
23
+ - **A LIVD catalog records where it came from.** `defineLivdCatalog` takes an optional second argument
24
+ (publisher, publication version, LOINC version, LOINC copyright), and every annotation carries the
25
+ catalog's LOINC version, so a mapping can be reproduced. A catalog with no LOINC version still
26
+ builds and raises one `ASTM_LIVD_CATALOG_NO_LOINC_VERSION` warning.
27
+ - **Reported units can choose between candidate LOINCs.** A LIVD entry can carry
28
+ `representativeUnit`, `vendorSpecimenDescription` and `vendorResultDescription`. When one vendor
29
+ code maps to several LOINCs, the candidate whose unit exactly equals the reported unit is answered
30
+ `mapped`. The comparison is verbatim and case sensitive, not UCUM, and every unit-selected answer
31
+ says so. No match, or more than one, is still `ambiguous`.
32
+ - **Flags and statuses name the vocabulary they were graded against.** An abnormal flag carries the
33
+ code system and version it was compared with, and `HU` and `LU` are now recognized. A result status
34
+ says that no citable published source binds its letters, rather than implying one.
35
+ - **One deliberate break from 0.0.x**, in the LIVD mapping and in what `primaryCode()` returns:
36
+ a populated first component of the Universal Test ID is no longer reported as a LOINC, and
37
+ `primaryCode()` returns the vendor local code and nothing else. The hand-written entries below and
38
+ the [0.1.0 release notes](https://github.com/cosyte/astm/releases/tag/v0.1.0) give the migration.
39
+
40
+ ## 0.0.22
41
+
42
+ ### Patch Changes
43
+
44
+ - Gate the two-file contract between `CLAUDE.md` and the agent notes.
45
+ - Read the bytes git carries in the PHI sweep, as a union with the working-tree walk.
46
+
47
+ ## 0.0.21
48
+
49
+ ### Patch Changes
50
+
51
+ - Correct two false claims the contested-alignment codes rested on, both on consumer surfaces.
52
+ - Close the three measurement holes the contested-alignment claim corrections left behind.
53
+
54
+ ## 0.0.20
55
+
56
+ ### Patch Changes
57
+
58
+ - Read a stream embedded as a source string literal in the PHI commit-gate, and refuse a sweep that did not observe its corpus.
59
+
60
+ ## 0.0.19
61
+
62
+ ### Patch Changes
63
+
64
+ - Report a contested escape alignment whose tail this reader cannot read, not only one it cannot consume.
65
+ - The README lockup now links to cosyte.com.
66
+ - Report components a competing escape alignment moved one slot along.
67
+ - Development tooling only: the repository's own pre-commit PHI scanner no longer lets a caller's git configuration decide which staged entries it looks at.
68
+
69
+ ## 0.0.18
70
+
71
+ ### Patch Changes
72
+
73
+ - Report a field a competing escape alignment read short.
74
+
75
+ ## 0.0.17
76
+
77
+ ### Patch Changes
78
+
79
+ - Report a competing escape alignment that shifted a result's units and status into slots the sender did not write them in.
80
+
81
+ ## 0.0.15
82
+
83
+ ### Patch Changes
84
+
85
+ - Stop a delimiter set that names one of the escape mnemonics from altering the values it emits, and state what a header's delimiter-declaration surplus costs on emit.
86
+
87
+ ## 0.0.14
88
+
89
+ ### Patch Changes
90
+
91
+ - Refuse a `startFrameNumber` that cannot be written as a frame number, which used to go out as whatever byte the arithmetic truncated to and could cost a framed stream every one of its records.
92
+
93
+ ## 0.0.13
94
+
95
+ ### Patch Changes
96
+
97
+ - Refuse to emit a record whose own type letter the delimiter set would escape away, which used to produce a stream that read back as different records and, in its silent branch, fabricated a final lab result out of patient identifiers.
98
+
99
+ ## 0.0.11
100
+
101
+ ### Patch Changes
102
+
103
+ - A symbolic link under a scan root read clean on both of the PHI scanner's enumerating routes, so a link pointing at a file full of real identifiers passed the gate twice over.
104
+ - Make the package's own publish gate fail when a build would ship without its type declarations.
105
+
106
+ ## 0.0.10
107
+
108
+ ### Patch Changes
109
+
110
+ - Stop the frame encoder from silently writing a different character than the one it was given.
111
+
112
+ ## 0.0.9
113
+
114
+ ### Patch Changes
115
+
116
+ - Report a record whose fields did not separate, instead of reading it back with no value, no units and no status, and stop calling a message a result set when a record's type letter is unreadable.
117
+ - Stop one unescaped `&` in a value from swallowing every following field.
118
+
119
+ ## 0.0.8
120
+
121
+ ### Patch Changes
122
+
123
+ - Remove `ASTM_RECORD_UNKNOWN_TYPE` from the profile safety gate's tolerable allow-list.
124
+
125
+ ## 0.0.7
126
+
127
+ ### Patch Changes
128
+
129
+ - The alt text on the README's Cosyte mark now says how its two overlapping rounded squares differ, one solid and one outlined.
130
+
131
+ ## 0.0.6
132
+
133
+ ### Patch Changes
134
+
135
+ - The Cosyte mark now opens the README, and follows the reader's color scheme.
136
+
137
+ ## 0.0.5
138
+
139
+ ### Patch Changes
140
+
141
+ Internal tooling and CI only. No change to the published package surface.
142
+
143
+ ## 0.0.4
144
+
145
+ ### Patch Changes
146
+
147
+ - Correct the API documentation shipped in the type declarations, and stop it going stale.
148
+ - Stop pairing one patient's results with another's, and add `messages()` to read a stream as the sequence of messages it actually is.
149
+ - Read the delimiters from every header, not just the first, so a stream carrying more than one message no longer silently loses fields.
150
+ - Emit one delimiter set for the whole stream, so a round-trip no longer silently loses fields.
151
+ - Close the two emit-side gaps where a stream went out that could not be read back.
152
+
153
+ ## 0.0.3
154
+
155
+ ### Patch Changes
156
+
157
+ - Documentation: the page describing what the library does and does not do moves from an "About" category into **Troubleshooting**, matching the section order every other `@cosyte/*` package uses.
158
+ - The status note on the README, the overview page and the install page no longer names a version number, because a release made that number wrong every time.
159
+
160
+ ## Released before this file was generated
161
+
162
+ Every release section above this heading is written by
163
+ [Changesets](https://github.com/changesets/changesets) from the changesets in `.changeset/`, newest
164
+ release first. The release writes its own version heading, so nothing above this line is maintained
165
+ by hand, and a change is recorded by adding a changeset rather than by editing this file. The
166
+ sections for 0.0.3 to 0.1.1 were filled in from the GitHub release notes when generation was turned
167
+ on, because those releases shipped while this file was kept by hand and its last version heading was
168
+ 0.0.2. Each repeats the "What changed" list from that release's notes, and 0.1.0 adds one line on
169
+ its deliberate break.
170
+
171
+ Everything below this heading was maintained by hand, in the
172
+ [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) format, and is left as it was written. The
173
+ entries from the start down to `[0.0.2]` sat under an `[Unreleased]` heading that no release rolled
174
+ over, so they record what 0.0.3 to 0.1.1 changed, written as the work landed rather than sorted by
175
+ release. Three things were dropped: the preamble above them (it said the file was kept by hand), the
176
+ `[Unreleased]` heading itself, and its link definition at the foot of the file. No entry was
177
+ reworded.
11
178
 
12
179
  **What 0.1 means for you.** This release is the first whose public API we treat as settled: the
13
180
  exported names, options, return shapes and warning codes are the surface we keep stable. What it
@@ -2712,6 +2879,5 @@ EOT` session **reassembles exactly the source records**; a **raw-TCP stream equa
2712
2879
  interactive contention/timeout/retransmit **timing**) is a thin consumer adapter, and the standard's
2713
2880
  exact numeric timeouts / retry counts are deferred (we model transitions, not timers).
2714
2881
 
2715
- [Unreleased]: https://github.com/cosyte/astm/commits/main
2716
2882
  [0.0.2]: https://github.com/cosyte/astm/releases/tag/v0.0.2
2717
2883
  [0.0.1]: https://github.com/cosyte/astm/releases/tag/v0.0.1
package/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2026 Cosyte
3
+ Copyright (c) 2026 Cosyte LLC
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal