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