May 30, 2026
Compaction as internal ability, memory promoted to SYSTEM, theme halo fix
Routed continuity compaction through a new INTERNAL CompactionAbility (TKT-731)
Routed continuity compaction through a new INTERNAL CompactionAbility (TKT-731). It now earns an ACT-trail pill and a durable audit row, but is fully excluded from abilities.sqlite, the policy matrix, and every processor scope, so it can never be invoked as an LLM tool. _run_full_compaction is now a thin act_tool_start/end wrapper.
Added a read-only “Compacted Summary” tab under Cognition in the Brain UI and a GET /system/observability/compaction endpoint with server-formatted timestamps, dark+light themes (TKT-730). Unit suite 1306 passes and SonarCloud stayed green with no new issues; verified live in a QA env.
Promoted memory to a SYSTEM tool (TKT-753), mirroring skill_manager: dispatch still flows through ActDispatcher._enforce_policy, but memory.* is gone from the default matrix, so it resolves to allow in chat, subagent, subconscious, and external_agent contexts and never appears in the policy UI. memory.py drops the now-dead POLICY_CATEGORY/POLICY_LABELS, policy_service.py gains a prefix-aware _is_system_action() predicate so sub-actions like memory.recall and stale seeded rows are recognised in check()/get_all(), and the unreachable memory.forget permission label is removed from act_dispatcher_service.py. The behavioral change: memory.forget is now allow everywhere instead of ask/deny.
Fixed a dark box-shadow halo leaking into the light theme (TKT-745). .speech-form–active had a hardcoded 0 2px 16px rgba(0,0,0,0.40) with no light-theme override; it is removed outright since the ::after top-edge highlight already signals the active state. An audit of every frontend box-shadow found .perm-card and .api-key-dialog__content with the same hardcoded-dark pattern; both are now theme-aware with strong shadow in dark and soft shadow in light, preserving their lift.
-
Routed continuity compaction through an INTERNAL CompactionAbility that earns an ACT-trail pill and audit row but is never LLM-callable (TKT-731)
-
Added read-only “Compacted Summary” Brain tab and GET /system/observability/compaction with server-formatted timestamps and dual themes (TKT-730)
-
Promoted memory to a SYSTEM tool: always allowed, never listed in policy; memory.forget is now allow everywhere (TKT-753)
-
Added prefix-aware _is_system_action() in policy_service so memory.recall and stale seeded memory.* rows are recognised in check()/get_all()
-
Removed dark box-shadow halo from .speech-form–active and made .perm-card and .api-key-dialog__content theme-aware (TKT-745)
-
Unit suite 1306 passes and SonarCloud reports 0 new issues after the compaction changes