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 +55 -0
- package/README.md +433 -417
- package/adapters/opencode/agent/novahiz.md +2 -0
- package/adapters/opencode/novahiz-token-economy.ts +255 -0
- package/bin/novahiz.cmd +2 -2
- package/catalog/overrides.json +13 -0
- package/catalog/rules.json +14 -0
- package/docs/CONFIGURATION.md +5 -0
- package/docs/TOKENS.md +83 -28
- package/install/install.mjs +596 -591
- package/mcp/argus/IMPLEMENTATION-SUMMARY.md +1 -1
- package/mcp/argus/src/commands/test.mjs +4 -4
- package/package.json +1 -1
- package/skills/token-economy/SKILL.md +103 -0
- package/src/commands/doctor.ts +856 -856
- package/install/install.mjs.novahiz-bak +0 -592
- package/mcp/argus/tmp/argus/argus-results-1791138636150.json +0 -83
- package/mcp/novahiz-docs/data/index.sqlite +0 -0
- /package/mcp/argus/src/{test → fixtures}/test_hardcoded.php +0 -0
- /package/mcp/argus/src/{test → fixtures}/test_injection.sh +0 -0
- /package/mcp/argus/src/{test → fixtures}/test_vulnerable.py +0 -0
- /package/mcp/argus/src/{test → fixtures}/test_xss.js +0 -0
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
|