# Aletheia 0.1.8 release notes

Released 2026-10-28.

[npm 0.1.8](https://www.npmjs.com/package/aletheia-mem/v/0.1.8) · [GitHub release](https://github.com/mohamed-ashraf-elsaed/aletheia-mem/releases/tag/v0.1.8) · [Changes since 0.1.7](https://github.com/mohamed-ashraf-elsaed/aletheia-mem/compare/v0.1.7...v0.1.8)

```bash
npm install -g aletheia-mem@0.1.8
```
### Added

- `aletheia facts clean --dry-run` (the default) and `aletheia facts clean --apply`. The command applies the fact quality gate to already-stored facts, reports counts and the first ten examples per rejection reason, and `--apply` dismisses the failures with `quality:<reason>` through the normal reversible dismissal path.
- A `facts.minConfidence` setting (0.3–0.9, default 0.4). The existing confidence calculation is unchanged; the floor only stops weaker facts from being stored.

### Fixed

- `scripts/release.mjs --prepare` corrupted the changelog when a release note contained the text `$` followed by a backtick: it expanded as a replacement pattern and copied the header into the note. Notes are now copied literally.

### Changed

- Fact extraction now keeps only assistant summaries and notes as eligible sources. User prompts and tool output/file contents (including raw back-filled transcripts) are no longer extracted into facts.
- Every candidate fact passes a quality gate before it is stored: balanced quotes and brackets, no escaped newlines/tabs, no code-like tokens (`$`, `->`, `::`, `=>`, braces, backticks, SQL or HTML tags), 3–40 words and at most 200 characters, a 1–8 word subject that is not a bare pronoun/demonstrative and does not start with a continuation word, and an object that does not end mid-clause. Each rejection returns a stable reason code and is counted.
- The session-start Facts section caps each fact line at 140 characters (dismissed facts were already skipped).
- The CI regression gate now uses a harder seeded corpus (near-duplicate distractors, answers ranked 3rd and 6th, 50,000 rows). Its baseline is Recall@5 0.90 and p95 latency about 7.8 ms, above the 5 ms floor, so a latency regression of more than 20% now fails the build too.
- The default test timeout is 20 s instead of 5 s, because three installer tests timed out on a slow Windows runner.
