Highlights
Prevention becomes mechanical. v0.8.0 cleaned the graph; days later it was dirty again — the instructions-only self-check had a blind spot. v0.9.0 closes it twice over:
- New
jira-markuphygiene rule: Jira comment drafts are stored verbatim inside fenced code blocks (Jira wiki markup like{{monospace}}andh3.headings never parses as broken Logseq macros again); unfenced residue is reported by brain-doctor. Fence-masking is now universal across all catalog rules, so fenced drafts are never mangled by auto-fixes. - brain-save now runs a mechanical post-write verify: after every save, one grep pass over exactly the files written catches
{{ }}, bare#Ntags, un-namespaced links,[[file://]]links, and broken backtick spans — then fixes and re-verifies.
Task pages get a lifecycle. status:: active | blocked | done on task pages: brain-save seeds and suggests it, brain-status groups by it (done tasks collapse to a count), brain-load brief mode skips done tasks, staleness stops nagging about finished work, and brain-doctor gains a guided one-time backfill for existing graphs.
Big pages stay lean. Suggestion-based Session Log rotation: past 64 KB or 40 entries, brain-save offers to move entries older than 90 days to a Projects/<Name>/SessionArchive page (search still reaches them; loads and dashboards skip them).
The Index stops rotting. Every save refreshes the project one-liner in Index.md. brain-save also scans its own composed summary for decision-shaped statements and offers to record them properly in Decisions.
Rules stop crying wolf. duplicate-entry no longer flags repeating skills-used:: property lines or same-day saves; bare-hash-tag catches punctuation-adjacent tags like (#1) and #2–#5 (PCRE lookbehind, with a valid POSIX ERE fallback).
Validation
Fixture-graph integration pass: 10/10 catalog detections and 13/13 skill-flow checks. See docs/superpowers/specs/2026-07-07-v0.9.0-design.md and the validated implementation plan.
Full changelog: v0.8.0...v0.9.0