S57 · Defragger & Context Compaction

Declared state: absent — memory caps and retention sweeps exist, nothing compacts the working set.

This is the repository plan and evidence, not a live health reading. A task marked done may still depend on credentials, devices, deployment or a newer acceptance test.

Dependencies

S30, S07, S03

Tasks and gates

57.F1 · Long sessions compact into durable summaries so the tenth hour is as sharp as the first.

Tier F · open · Verification: planned-test

Gate: new `test_defragger.py` — a long session compacts and the answer still holds

    57.F2 · Near-duplicate facts merge into ONE canonical entry with provenance intact — the dedup that exists within a layer, extended across them.

    Tier F · open · Verification: planned-test

    Gate: new `test_defragger.py`, extended with a new `test_defragger_merge` case — cross-layer duplicates collapse, disagreements do not

      57.R1 · The tool catalogue is pruned by MEASURED usage; a tool never called is retired and the retirement is recorded, not silently deleted.

      Tier R · open · Verification: planned-test

      Gate: extend `test_tool_usage.py` with a new `test_catalogue_retirement` case — an uncalled tool retires with a row

        57.R2 · SQLite vacuum plus a cold-segment archive, so recall does not slow as the store grows.

        Tier R · open · Verification: planned-test

        Gate: new `test_defragger.py`, extended with a new `test_defragger_vacuum` case — post-vacuum recall stays inside its budget

          HUD screen contracts

          All subsystems · Source: docs/systems-plan.json.