context-hygiene · git:20260726.7992efa · 2026-07-26 · sha256 7672f45c749b5000
context-hygiene git:20260726.7992efaA
Immutable. This exact content never changes and is served at /api/v1/blob/7672f45c749b5000.
--- name: context-hygiene agent: none description: Nightly context trim for ACTIVE_PRIORITIES and the dated SESSION_LOG schema. Archives before removal, uses content-hash compare-and-swap, and refuses unknown shapes. allowed-tools: Read, Write, Bash user-invocable: true status: PRODUCTION - bounded archive writer triggers: - context hygiene - trim session log - archive old session entries - clean active priorities --- # /context-hygiene This is the sole bounded compaction exception to the Session Log chronicle. It runs only when invoked, never while the framework is being installed or tested against a real vault. ## Precondition 1. Read `vault/memory/SESSION_LOG.md` and `vault/memory/ACTIVE_PRIORITIES.md`. 2. Hash both exact byte streams with SHA-256. 3. Run: ```text node daemons/nightly-context-hygiene.mjs --root <aigent-root> ``` Green means no edit is needed. Red permits only the bounded archive below. Unreadable or unfamiliar content is a failure, not permission to rewrite. ## Session Log archive The executable target schema uses newest-first dated H2 blocks. A canonical block starts with `## YYYY-MM-DD - title` and contains one nonempty occurrence of each field: - `Objective` - `Completed` - `Decisions` - `Open threads` - `Next action` Archival rules: - Keep the newest five live dated blocks. - Move older whole blocks to `vault/memory/SESSION_LOG_ARCHIVE_<YYYY-MM-DD>.md`. - Preserve source text and order. - Preserve frontmatter, title, schema guidance, and archive links. - Dedupe by exact dated heading plus block hash. - Refuse a block whose boundary cannot be determined without judgment. ## Active Priorities archive The mechanically checkable live shape contains: - exactly one `## Operating Mode: <mode>` heading; - one to five live bullet priorities under `## Tier 1`, `## Tier 2`, or `## Tier 3` headings; - no placeholder priority; - one valid `Last reviewed: YYYY-MM-DD` line; and - no embedded `## Archived` section. Move only content explicitly marked stale, superseded, or archived to `vault/memory/ACTIVE_PRIORITIES_ARCHIVE_<YYYY-MM-DD>.md`. If removal requires a human decision, preserve it and report the gate. ## Compare-and-swap Immediately before each write, hash the live source again. If either hash differs from the precondition hash, abort with `CONTEXT_HYGIENE_RACE`. Archive must be durable before the source is trimmed. After writing, re-run the checker. Only its literal `CONTEXT_HYGIENE PASS` receipt may record the checkpoint green. Return archive paths and before/after hashes in bounded detail. Never touch another memory file.