# Release Notes

## Current Pre-Release

This pre-release focuses on production hardening for the CPU-first SNN stack.

### Highlights

- Unified direct-memory serialization and restoration across `SpikingLLM`, `SaraInference`, training scripts, evaluation scripts, and maintenance utilities.
- Removed unsafe `eval()` usage from the active loading path and replaced it with safe parsers and shared helpers.
- Added lightweight runtime diagnostics for `SaraAgent`, including session persistence of recent issues and optional CLI diagnostics display.
- Replaced the chat calculator `eval()` path with a safe arithmetic parser that supports only basic operations.
- Added stronger FORCE artifact validation to fail fast on malformed shapes and mismatched metadata.
- Fixed the `UnifiedSNNModel` FORCE readout path so one logical step updates reservoir state only once.
- Added TurboQuant-style shared quantization utilities and integrated them into `SaraInference`, `SpikingTransformerModel`, and `SpikingLLM` save/load paths.
- Extended `train_snn_lm.py` with optional TurboQuant-style checkpoint compression flags for managed model outputs.
- Added retrieval-hygiene instrumentation for `SaraAgent`, including `off_topic_suppression`, `multi_turn_consistency`, and `retrieval_stability`.
- Added context-aware retrieval stabilization across `SaraAgent`, `SparseMemoryStore` / hippocampus, and `SaraInference` direct memory so noise recall is reduced at multiple layers.
- Unified retrieval diagnostics formatting and storage across `SaraAgent` and `SaraInference` through a shared utility module.

### Reliability Work Included

- Added regression tests for direct-memory round-trips, inference memory compatibility, agent session recovery, CLI dispatch, and calculator safety.
- Added lightweight soak tests for repeated `SaraAgent` dialogue turns and repeated `SaraInference` memory updates.
- Added explicit release soak acceptance thresholds so the release gate now checks minimum workload, bounded diagnostics, and memory round-trip integrity together.
- Added a lightweight `SaraAgent` dialogue benchmark report under `workspace/evaluation/` so Phase 3 quality work can be tracked numerically.
- Added lightweight Phase 3 accuracy benchmarks for `SaraInference` and `SpikingLLM`, plus an aggregated `phase3_accuracy_suite.py` report under `workspace/evaluation/`.
- Added Phase 3 accuracy history tracking and optional embedding of the latest accuracy summary into `release_soak.py` reports so shipping checks can review reliability and lightweight quality gates together.
- Added `retrieval_hygiene` focus summaries and trend/delta reporting to Phase 3 and release summaries so recall quality changes can be tracked across runs.
- Marked `scripts/old/` as legacy and documented that it is not the recommended production path.
- Expanded CLI end-to-end coverage for `sara-chat` and `sara-train`, including managed-output validation and training-runtime failure handling.
- Embedded checklist-oriented release review state into `release_soak.py` summaries so managed output paths, release notes review state, and final review readiness can be audited from one report.

### Operational Notes

- The project continues to prioritize SNN-friendly efficiency: no backpropagation, no required GPU path, and no matrix-heavy runtime dependency for the newly added reliability features.
- New diagnostics are intentionally lightweight and bounded to avoid turning observability into a hidden energy cost.
- Retrieval diagnostics now use a shared schema, making it easier to compare `SaraAgent` and `SaraInference` behavior during Phase 3 / Phase 4 tuning.
- Release soak now supports `quick`, `release`, and `extended` profiles so longer CPU-only shipping checks can use a fixed acceptance baseline.
- `extended` remains the required profile for final shipping decisions, while `release` remains useful for routine pre-release validation.

### Known Gaps Before Full Production Release

- The `extended` soak profile should still be run on the actual target environment before a public production release.
- End-to-end CLI scenario coverage is improved, but command families outside the primary `sara-chat` / `sara-train` path still deserve broader coverage.
- Legacy scripts remain available for reference, but production usage should prefer `src/sara_engine`, `scripts/train`, `scripts/eval`, and `scripts/sara_cli.py`.
