This release adds 3 notable features for engineering teams evaluating rollout.
✓ No known CVEs patched in this version
Topics
+14 more
Summary
AI summaryAdded on-demand and background TTL entry eviction for LockedBlackboard.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Feature | Medium |
`LockedBlackboard.startSweep(intervalMs?)` automatically evicts expired TTL entries on a configurable interval, defaulting to 60,000 ms (1 minute). `LockedBlackboard.startSweep(intervalMs?)` automatically evicts expired TTL entries on a configurable interval, defaulting to 60,000 ms (1 minute). Source: granite4.1:8b-q6_K@2026-05-19 Confidence: high |
— |
| Feature | Medium |
`LockedBlackboard.stopSweep()` cleanly cancels the background sweep timer. `LockedBlackboard.stopSweep()` cleanly cancels the background sweep timer. Source: granite4.1:8b-q6_K@2026-05-19 Confidence: high |
— |
| Feature | Medium |
`LockedBlackboard` now includes TTL background sweep functionality with `purgeExpired()` and `startSweep(intervalMs?)` methods. `LockedBlackboard` now includes TTL background sweep functionality with `purgeExpired()` and `startSweep(intervalMs?)` methods. Source: granite4.1:8b-q6_K@2026-05-19 Confidence: low |
— |
| Feature | Medium |
New `purgeExpired(): number` method evicts all expired TTL entries from in-memory cache on demand and returns eviction count. New `purgeExpired(): number` method evicts all expired TTL entries from in-memory cache on demand and returns eviction count. Source: granite4.1:8b-q6_K@2026-05-19 Confidence: low |
— |
| Feature | Medium |
`LockedBlackboard` adds `purgeExpired()` to evict expired TTL entries on demand. `LockedBlackboard` adds `purgeExpired()` to evict expired TTL entries on demand. Source: granite4.1:30b@2026-05-20-audit Confidence: low |
— |
| Feature | Medium |
`LockedBlackboard.startSweep(intervalMs?)` starts a background interval that calls `purgeExpired()` automatically. `LockedBlackboard.startSweep(intervalMs?)` starts a background interval that calls `purgeExpired()` automatically. Source: granite4.1:30b@2026-05-20-audit Confidence: low |
— |
| Feature | Medium |
`purgeExpired()` returns the number of evicted entries. `purgeExpired()` returns the number of evicted entries. Source: granite4.1:30b@2026-05-20-audit Confidence: low |
— |
| Bugfix | Medium |
Closed the gap where written TTL keys never read again would remain in memory until next disk round-trip, now handled by background sweep. Closed the gap where written TTL keys never read again would remain in memory until next disk round-trip, now handled by background sweep. Source: granite4.1:8b-q6_K@2026-05-19 Confidence: low |
— |
| Bugfix | Medium |
Background sweep removes expired TTL keys that were never read, preventing memory bloat in long‑running processes. Background sweep removes expired TTL keys that were never read, preventing memory bloat in long‑running processes. Source: granite4.1:30b@2026-05-20-audit Confidence: low |
— |
Full changelog
Network-AI v5.5.9 — TTL Background Sweep
All 3,136 tests pass. Zero TypeScript errors.
Features
LockedBlackboard TTL background sweep (lib/locked-blackboard.ts)
purgeExpired(): number— evicts all expired TTL entries from the in-memory cache on demand; returns the number of evictions. Call it anytime to reclaim memory without waiting for the next read or persist cycle.startSweep(intervalMs?: number)— starts a backgroundsetIntervalthat callspurgeExpired()automatically. Default interval: 60,000 ms (1 min). The timer isunref()'d so it never prevents a clean process exit.stopSweep()— cancels the sweep timer cleanly; safe to call even if no sweep is running.
Why this matters: read() and persistToDisk() already filtered expired entries on access, but keys that were written with a TTL and never read again would stay in the in-memory map until the next disk round-trip. startSweep() closes that gap for long-running processes with high write throughput and short-lived keys.
const board = new LockedBlackboard('.', { env: 'prod' });
board.startSweep(30_000); // evict expired entries every 30 s
// ...
board.stopSweep(); // clean shutdown
8 new tests added to test-phase11.ts.
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About Jovancoding/Network-AI
Multi-agent orchestration MCP server with race-condition-safe shared blackboard. 20+ MCP tools: blackboard read/write, agent spawn/stop, FSM transitions, budget tracking, token management, and audit log query. `npx network-ai-server --port 3001`.
Related context
Beta — feedback welcome: [email protected]