edfcore 0.4.256 → 0.4.258

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.
@@ -109,5 +109,5 @@ export declare const SIGNAL_FIELD_BLOCK_OFFSETS: {
109
109
  readonly reserved: 224;
110
110
  };
111
111
  /** Published package version. Kept in sync with package.json by a test. */
112
- export declare const VERSION = "0.4.256";
112
+ export declare const VERSION = "0.4.258";
113
113
  //# sourceMappingURL=constants.d.ts.map
package/dist/constants.js CHANGED
@@ -79,5 +79,5 @@ export const SIGNAL_FIELD_BLOCK_OFFSETS = {
79
79
  reserved: 224,
80
80
  };
81
81
  /** Published package version. Kept in sync with package.json by a test. */
82
- export const VERSION = '0.4.256';
82
+ export const VERSION = '0.4.258';
83
83
  //# sourceMappingURL=constants.js.map
package/docs/CHANGELOG.md CHANGED
@@ -6,6 +6,37 @@ alone does not tell you whether you were affected.
6
6
  edfcore is pre-1.0. Patch releases have carried behaviour changes where the old behaviour was a
7
7
  defect; those are called out below.
8
8
 
9
+ ## 0.4.258
10
+
11
+ - **Added** a check on the `Next:` convention, which `AGENTS.md` states as an absolute — "every
12
+ thrown message ends with a `Next:` clause naming what the caller should do" — and nothing
13
+ enforced. All 151 messages keep it today; what was missing is that the 152nd would not have
14
+ had to. The clause is the part that survives contact with a real user: "byte range [0, 512) is
15
+ outside the 256-byte buffer" says what happened, and "Next: check that the header and these
16
+ bytes came from the same file" says what it means.
17
+ - Both halves are covered, which took two passes. `EdfFormatError` is never thrown with `new` — it
18
+ is built from a diagnostic by `fatalError`, `sink.fatal`, `scalingError` and `toFormatError` — so
19
+ reading only `throw new` sees 90 messages and misses the 61 that carry the larger share of the
20
+ contract. And finding where a `throw` ends cannot be done by balancing parentheses:
21
+ `[${offset}, ${offset + length})` closes one, and the first version of this check reported the
22
+ two messages using that interval notation as violations of a rule they keep.
23
+
24
+ ## 0.4.257
25
+
26
+ - **Fixed** `AGENTS.md`'s description of the layering, which had been wrong about nearly every
27
+ tier. It sketched six — "`bytes`/`text` → `diagnostics` → `header`/`decode`/`tal` → `time` →
28
+ `io` → entry points" — where the declarations use eight, and grouped modules that are not
29
+ together: `bytes` is layer 0 and `text` is layer 1, `header`, `decode` and `tal` are three
30
+ different layers rather than one, and `io` spans two. 0.4.256 reasoned from that sentence to
31
+ correct a module's layer, which is a good argument for the sentence being right. It is now a
32
+ table of the eight, and says plainly that each module's own declaration is the source of truth
33
+ rather than a second definition.
34
+ - **Added** a check that the summary names the layers that exist, and that the count in the
35
+ sentence above it matches. Only the numbers are compared — a prose list of members is the
36
+ inventory problem this project keeps deleting, and the declarations already answer membership.
37
+ What a summary can still get wrong unnoticed is the shape: a tier added or removed in one place
38
+ and not the other.
39
+
9
40
  ## 0.4.256
10
41
 
11
42
  - **Corrected** `src/tal/ticks.ts` from layer 3 to layer 1, and started enforcing the direction
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "edfcore",
3
- "version": "0.4.256",
3
+ "version": "0.4.258",
4
4
  "description": "Modern, typed, zero-dependency reader for EDF, EDF+, BDF and BDF+ biosignal files. Works in browsers and Node with true random access.",
5
5
  "keywords": [
6
6
  "edf",
package/src/constants.ts CHANGED
@@ -93,4 +93,4 @@ export const SIGNAL_FIELD_BLOCK_OFFSETS = {
93
93
  } as const;
94
94
 
95
95
  /** Published package version. Kept in sync with package.json by a test. */
96
- export const VERSION = '0.4.256';
96
+ export const VERSION = '0.4.258';