v0.7.0a2
Pre-release
Pre-release
v0.7.0a2 — Architecture deepening + safer memory ops
What's new (user-facing)
aiswmm doctorgains aSessions storerow with full integrity check (states: ok / corrupt / unreadable / absent). Exit code is now non-zero on CORRUPT/UNREADABLE — CI health checks finally catch data-loss conditions.- New verb
aiswmm memory repair-sessionsrebuilds a damagedsessions.sqlitefrom on-disksession_state.json+agent_trace.jsonl. Defaults to interactive y/N confirmation; pass--dry-runto preview or--yesfor scripted use. ~/.aiswmm/silent_fallbacks.jsonl— every silentexcept Exceptionin the agent runtime now appends a structured row (scope,exception_type,exception_str,timestamp_utc). Onejqquery answers "what fell back in this session?"
Internal refactor (zero behaviour change for existing flows)
tool_registry.pysplit from 2163 LOC monolith → 13 family-named modules undertool_handlers/.runtime_loopstartup decomposed into 5 named lifecycle phases.intent_mapmerged intointent_classifier.@on_exception_return_defaultdecorator consolidates 11 tier-1 boundary sites.- Project
CONTEXT.mddocuments the domain vocabulary so future contributors onboard faster.
Fixes
- HIGH:
repair-sessionsno longer offered on a permission-denied DB (would have overwritten a healthy DB). - HIGH:
repair-sessionssummary["ok"]correctly reflects failures (was always True). repair-sessionsusesos.replaceinstead ofshutil.move(cross-filesystem safe).repair-sessionsexits 1 with a friendly stderr on backup failure.