novahiz 0.4.1 → 0.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
@@ -5,6 +5,61 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
5
5
 
6
6
  ## [Unreleased]
7
7
 
8
+ ## [0.5.1] - 2026-10-05
9
+
10
+ Fix-forward release: the `v0.5.0` tag was pushed but its CI never reached
11
+ `npm publish`, so no `0.5.0` exists on the registry.
12
+
13
+ ### Fixed
14
+
15
+ - `tests/memory-robust.test.ts` built the child process's import URL from a
16
+ hardcoded absolute path (`file:///C:/Users/...`): the two-process lock test
17
+ only passed on one machine and failed every CI run with "le fils ne s'est
18
+ jamais signale pret". The URL now derives from `import.meta.url`.
19
+ - `tests/clepsydre-scheduler.test.ts` (lock test) observed the released lock
20
+ a single `setImmediate` after `release()`, racing a wake armed at delay 0
21
+ for a past-due schedule: depending on event-loop timing it saw either
22
+ `busy = []` or the task re-locked by a second execution. The test stops the
23
+ wake before observing the state, so the lock-release assertion is
24
+ deterministic. The re-arm it exposes (a past-due schedule on a busy task
25
+ keeps `arm()` at delay 0) is left to the scheduler, not to this release.
26
+
27
+ ## [0.5.0] - 2026-10-05
28
+
29
+ ### Added
30
+
31
+ - **Token economy, plugin + skill** (`adapters/opencode/novahiz-token-economy.ts`,
32
+ `skills/token-economy/SKILL.md`): the plugin trims oversized tool output
33
+ before it reaches the model - head kept, full text written to
34
+ `<NOVAHIZ_HOME>/tmp/tool-output/`, footer naming the file to re-read instead
35
+ of re-running - and `/novahiz-tokens` posts the estimated saving for the
36
+ session without a model call. Strictly opt-in: nothing happens until
37
+ `NOVAHIZ_TOKEN_ECONOMY=1`, `read`/`edit`/`write` and skill output are never
38
+ trimmed, and any plugin error fails open. Budgets: `NOVAHIZ_TE_MAX_LINES`
39
+ (120), `NOVAHIZ_TE_MAX_BYTES` (16384), `NOVAHIZ_TE_TOOLS`,
40
+ `NOVAHIZ_TE_DUMP_DIR`. The skill carries the agent-side rules (read the
41
+ smallest thing, batch calls, delegate exploration, answer in paths).
42
+ - The installer now copies both plugin files into `<config>/plugins/`, the
43
+ directory opencode actually loads plugins from.
44
+
45
+ ### Fixed
46
+
47
+ - **Argus vulnerable fixtures are no longer collected by the test runner**:
48
+ `mcp/argus/src/test/` was renamed to `mcp/argus/src/fixtures/`, so
49
+ `node --test` (and `node scripts/ci-local.mjs`) stops picking
50
+ `test_xss.js` - a deliberately vulnerable sample - up as a test file and
51
+ failing on `require is not defined in ES module scope`. The argus end-to-end
52
+ suite still reports 30/30.
53
+ - `tests/clepsydre-tools.test.ts` used a one-shot date hardcoded to
54
+ `2026-10-05T09:00:00Z`, which started failing once the clock passed it; the
55
+ test now uses a date relative to now.
56
+
57
+ ### Docs
58
+
59
+ - `docs/TOKENS.md` rewritten around what is implemented (the plugin, the
60
+ skill, `novahiz tokens`); it now states that the `tokens` block of
61
+ `novahiz.config.example.json` is read by no code.
62
+
8
63
  ## [0.4.1] - 2026-10-05
9
64
 
10
65
  ### Fixed