@zakkster/lite-signal-decorators 1.5.0 → 1.5.1

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
@@ -4,6 +4,36 @@ All notable changes to `@zakkster/lite-signal-decorators` are documented here.
4
4
  The format follows Keep a Changelog; this project adheres to Semantic
5
5
  Versioning.
6
6
 
7
+ ## [1.5.1] - 2026-08-31
8
+
9
+ Test-suite hardening only; the library source (`SignalDecorators.js`) is
10
+ unchanged from 1.5.0. Seven torture retention gates were found to be vacuous
11
+ variant-2 tautologies -- they tracked the instance inside an effect owner, so
12
+ `stop()`/dispose auto-untracked it and `size() === 0` held even while instances
13
+ stayed retained -- and were converted to the finalization-authority pattern:
14
+ the real instance is tracked OUTSIDE any owner via new harness helpers, never
15
+ untracked, then hard-settled with a residual budget of `RES = max(16, n/1000)`.
16
+ Independent `stats()` / F-0 pool-floor oracles were left intact.
17
+
18
+ ### Added
19
+
20
+ - **`TORTURE_LEAK=1`** -- a retention RED control (matching the package's
21
+ `TORTURE_*` env convention) that pins instances to force the converted
22
+ retention gates RED, proving each gate can actually fail.
23
+
24
+ ### Changed
25
+
26
+ - **7 retention gates across 6 torture files** converted from vacuous
27
+ variant-2 tautologies to the finalization-authority pattern (track the real
28
+ instance outside any owner via new `test/torture/helpers/harness.mjs`
29
+ helpers, no untrack, hard settle, residual `<= RES = max(16, n/1000)`; `pool[]`
30
+ scaffolding cleared before the settle). Files: `test/torture.mjs`,
31
+ `test/torture/fleet-torture.mjs`, `test/torture/introspection-torture.mjs`,
32
+ `test/torture/leak-torture.mjs`, `test/torture/localto-torture.mjs`,
33
+ `test/torture/reinit-torture.mjs`.
34
+ - **`leak-torture` `LEAK_EVERY` 512 -> 64** so its `TORTURE_BREAK=leak-torture`
35
+ sabotage control still exceeds the new residual budget.
36
+
7
37
  ## [1.5.0] - 2026-08-30
8
38
 
9
39
  The gamedev release -- decisions/0013 criterion (d), and the LADDER CLOSES. The
@@ -596,4 +596,4 @@ export class ReactiveDisposedError extends Error {
596
596
  // --- Version ------------------------------------------------------------------
597
597
 
598
598
  /** Package version. Kept in lockstep with package.json and llms.txt. */
599
- export const VERSION: "1.5.0";
599
+ export const VERSION: "1.5.1";
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @zakkster/lite-signal-decorators v1.5.0
2
+ * @zakkster/lite-signal-decorators v1.5.1
3
3
  * --------------------
4
4
  * Standard-decorators layer over @zakkster/lite-signal. Turns a plain class into
5
5
  * a reactive view-model with measured per-instance cost and deterministic
@@ -2702,4 +2702,4 @@ export function auditReactive(on) {
2702
2702
  // --- Version ------------------------------------------------------------------
2703
2703
 
2704
2704
  /** Package version. Kept in lockstep with package.json and llms.txt. */
2705
- export const VERSION = "1.5.0";
2705
+ export const VERSION = "1.5.1";
package/llms.txt CHANGED
@@ -1,6 +1,6 @@
1
1
  # @zakkster/lite-signal-decorators
2
2
 
3
- VERSION 1.5.0
3
+ VERSION 1.5.1
4
4
 
5
5
  > Standard-decorators layer over @zakkster/lite-signal, built on the TC39
6
6
  > decorators proposal (Stage 2.7 since 2026-05; TS 5.x / Babel 2023-11 emit
@@ -169,7 +169,7 @@ slot for a poison handle, so any later read/write throws a named
169
169
  `FinalizationRegistry` reports any instance GC'd without `disposeReactive`.
170
170
  - `ReactiveDisposedError` -- `extends Error`, `name` `"ReactiveDisposedError"`,
171
171
  fields `className` and `key`.
172
- - `VERSION` -- `"1.5.0"`.
172
+ - `VERSION` -- `"1.5.1"`.
173
173
 
174
174
  ## Registry law (one registry per host chain)
175
175
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zakkster/lite-signal-decorators",
3
- "version": "1.5.0",
3
+ "version": "1.5.1",
4
4
  "description": "Standard-decorators layer over @zakkster/lite-signal (TC39 decorators proposal, Stage 2.7 since 2026-05; TS 5.x / Babel 2023-11 emit unchanged). The reactive class layer where an instance has a measured cost, deterministic teardown, and a churn benchmark.",
5
5
  "author": "Zahary Shinikchiev <shinikchiev@yahoo.com>",
6
6
  "license": "MIT",