feat(tui+release): persist vitest memory guard, aggregate root CHANGELOG, lockstep all packages

TUI: vitest memory-guard threshold and on/off toggle now persist to
global settings (vitestAutoKillEnabled / vitestKillThresholdPct), so
they survive dashboard restarts. Stats panel shows the system-memory
used percentage next to used/free. Utilities panel exposes [+/-] to
adjust the threshold in 5% steps (50–99%).

Release: scripts/release.mjs auto-syncs a root CHANGELOG.md aggregated
from every packages/*/CHANGELOG.md, grouped by version with one
sub-block per package.

Versioning: all private @fusion/* packages joined the changesets fixed
group with the public cli + cli-alias and were aligned to 0.2.5, so
every release bumps every package and produces per-package CHANGELOG
entries that the aggregator picks up.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
gsxdsm
2026-04-25 09:09:31 -07:00
parent 07ad203f29
commit c85dbc9bc6
16 changed files with 665 additions and 15 deletions

View File

@@ -1,6 +1,6 @@
{
"name": "@fusion/core",
"version": "0.1.0",
"version": "0.2.5",
"license": "MIT",
"description": "Fusion core: task store, scheduler, settings, and shared domain types backing the Fusion AI coding agent.",
"homepage": "https://github.com/Runfusion/Fusion#readme",

View File

@@ -52,6 +52,9 @@ export const DEFAULT_GLOBAL_SETTINGS = {
// Dashboard session state (persisted to global settings for PWA/offline restore)
dashboardCurrentNodeId: undefined,
dashboardCurrentProjectIdByNode: undefined,
// Dashboard TUI memory guard
vitestAutoKillEnabled: true,
vitestKillThresholdPct: 90,
} satisfies CompleteSettings<GlobalSettings>;
/** Default values for project-level settings. */

View File

@@ -1123,6 +1123,15 @@ export interface GlobalSettings {
* Clear individual entries by setting them to `undefined` (omitting from update).
* Clearing all entries returns the dashboard to overview mode. */
dashboardCurrentProjectIdByNode?: Record<string, string>;
/** When true, the dashboard TUI's memory guard will SIGKILL any running
* vitest processes once system memory usage crosses
* {@link vitestKillThresholdPct}. The kill is throttled to once per 30
* seconds. Default: true. */
vitestAutoKillEnabled?: boolean;
/** System-memory usage percent (0100) at which the TUI memory guard
* triggers a vitest auto-kill. Clamped to [50, 99] in the UI.
* Default: 90. */
vitestKillThresholdPct?: number;
}
/**