@massu/core 2.5.3 → 2.5.5
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 +56 -0
- package/dist/cli.js +436 -365
- package/dist/hooks/auto-learning-pipeline.js +26 -2
- package/dist/hooks/classify-failure.js +26 -2
- package/dist/hooks/cost-tracker.js +26 -2
- package/dist/hooks/fix-detector.js +26 -2
- package/dist/hooks/incident-pipeline.js +26 -2
- package/dist/hooks/intent-suggester.js +26 -2
- package/dist/hooks/memory-recall.js +26 -2
- package/dist/hooks/post-edit-context.js +26 -2
- package/dist/hooks/post-tool-use.js +26 -2
- package/dist/hooks/pre-compact.js +26 -2
- package/dist/hooks/pre-delete-check.js +26 -2
- package/dist/hooks/pre-tool-use-gate.js +26 -2
- package/dist/hooks/quality-event.js +26 -2
- package/dist/hooks/rule-enforcement-pipeline.js +26 -2
- package/dist/hooks/security-gate.js +26 -2
- package/dist/hooks/session-end.js +633 -313
- package/dist/hooks/session-start.js +26 -2
- package/dist/hooks/user-prompt.js +26 -2
- package/docs/SECURITY.md +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -10,6 +10,62 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
|
|
|
10
10
|
> redistributed under the **Apache License 2.0**. Full license + NOTICE:
|
|
11
11
|
> `packages/core/assets/embedder/MODEL-LICENSE`.
|
|
12
12
|
|
|
13
|
+
## [2.5.5] - 2026-11-09
|
|
14
|
+
|
|
15
|
+
### Fixed
|
|
16
|
+
|
|
17
|
+
- **Replies no longer wait for the session-end hook.** `massu init` ran the session-end
|
|
18
|
+
hook at the end of every reply, and it blocked: measured 11-15 seconds per reply (up to 21)
|
|
19
|
+
on a long session. It now runs in the background (Claude Code's `async` hook option) and
|
|
20
|
+
limits itself, because Claude Code sets no time limit on a background hook. Each run has a
|
|
21
|
+
20-second budget (`MASSU_SESSION_END_BUDGET_MS`) and skips, and reports, work it has no time
|
|
22
|
+
for. A watchdog ends a run that overruns. Two runs for the same session never overlap: the
|
|
23
|
+
second asks the first to go again. A run after the first in a session takes about 0.4 seconds.
|
|
24
|
+
Run `massu init` again to pick up the background setting.
|
|
25
|
+
- **Session cost is now real.** Every stored session cost was 0 tokens. The transcript reader
|
|
26
|
+
dropped each response's token counts, and only the first reply of a session could be stored
|
|
27
|
+
at all. Cost is now calculated for each response at its own model's published price,
|
|
28
|
+
including 5-minute and 1-hour cache writes, fast mode, US-only routing, and Claude Haiku
|
|
29
|
+
5.5's higher rate for prompts over 100,000 tokens. Each response is counted once, though a
|
|
30
|
+
transcript repeats it across several lines. A model with no known price is reported as
|
|
31
|
+
unknown, never guessed; the old fallback charged $3/$15 and counted cache reads as free.
|
|
32
|
+
- **Old cost records repair themselves.** Sessions whose transcripts are still on disk are
|
|
33
|
+
recalculated in the background; the rest show "unknown" instead of $0. `massu_cost_session`
|
|
34
|
+
and `massu_cost_trend` say which sessions are unknown or only partly priced.
|
|
35
|
+
- **Price overrides add to the built-in list instead of replacing it.** An
|
|
36
|
+
`analytics.cost.models` entry in `massu.config.yaml` now overrides one model. Before, any
|
|
37
|
+
entry discarded the built-in prices, so every other model was charged the fallback rate. A
|
|
38
|
+
new optional `cache_write_1h_per_million` sets the 1-hour cache-write price.
|
|
39
|
+
- **A failed cloud sync no longer queues a second copy of the item.** Retrying a queued item
|
|
40
|
+
that failed again added a duplicate to the queue each time. Items the time budget can't
|
|
41
|
+
reach now wait for the next run with their retry count unchanged.
|
|
42
|
+
|
|
43
|
+
The memory database moves to schema version 2 (new cost columns). Massu backs the database up
|
|
44
|
+
before changing its schema, as before.
|
|
45
|
+
|
|
46
|
+
## [2.5.4] - 2026-11-08
|
|
47
|
+
|
|
48
|
+
### Fixed
|
|
49
|
+
|
|
50
|
+
- **Release tooling no longer reports a successful publish as failed.** After `npm publish`
|
|
51
|
+
succeeded, the release verifier waited 90 seconds, then reported FAIL with "this is not
|
|
52
|
+
propagation lag". npm's registry can take a few minutes to serve a new version. The verifier
|
|
53
|
+
now has three results. PASS: the version is served and the package carries the fix. PENDING:
|
|
54
|
+
npm accepted the publish but isn't serving it yet; re-run `--verify-only`, don't publish again.
|
|
55
|
+
FAIL: npm refused the publish, or the served package is wrong.
|
|
56
|
+
- **Publishing no longer leaves uncommitted changes.** The four bundled-public-key modules
|
|
57
|
+
stamped the current time into their first line, so every publish rewrote four tracked files
|
|
58
|
+
whose keys hadn't changed. One shared, deterministic generator replaces the four hand-copied
|
|
59
|
+
ones, and a test confirms each committed module matches what the generator renders.
|
|
60
|
+
- **The public repository carries release tags again.** Every mirror sync now tags the public
|
|
61
|
+
commit that holds a release's exact tree, verifies the tag on GitHub, and never moves an
|
|
62
|
+
existing tag. This release backfills v2.0.0, v2.3.0 and v2.5.3.
|
|
63
|
+
- **The public repository's six `nx` security alerts are cleared.** They came from two test
|
|
64
|
+
fixtures that declared `nx ^17.0.0`. Nothing installs either fixture; both now declare
|
|
65
|
+
`^22.7.10`.
|
|
66
|
+
|
|
67
|
+
`@massu/core` behaves exactly as 2.5.3 did: every change is in release tooling and test fixtures.
|
|
68
|
+
|
|
13
69
|
## [2.5.3] - 2026-11-08
|
|
14
70
|
|
|
15
71
|
### Added
|