April 11, 2026

Major Refactor: Message Processing & System Prompting

The underlying message processing pipeline underwent a substantial refactor, shifting to a MessageProcessor v2 architecture with a per-turn instance model, elim

The underlying message processing pipeline underwent a substantial refactor, shifting to a MessageProcessor v2 architecture with a per-turn instance model, eliminating the legacy singleton path.

This refactor involved renaming several processor modules and updating all importers to drop the ’v2 suffix, while preserving legacy assembly services as DEPRECATED for backward compatibility with tool-webhook flows.

System prompts were heavily cleaned up; background-channel prompts (DMN, goal-pursuit, scheduled) were inlined as Python constants on their subclasses, replacing filesystem reads.

The abstract base class for system prompts was hardened to enforce that all subclasses define the ‘_SYSTEM_PROMPT’ property, ensuring loud failure if an override is missed.

The identity structure was restored, reintroducing Hard Boundaries, Core Principles, and Voice into the unified system prompt structure, while deleting old identity configuration files.

A comprehensive, verbatim LLM request logger was added, writing every LLM interaction—including verbatim user and system messages—to dedicated log files.

The core ACT loop was enhanced with two-stage mid-ACT context compaction, using LLM summarization to keep context below an 80% threshold before restarting the iteration.

The context reset functionality was made genuine by replacing the thread-toggling mechanism with a full deletion of transcript and related tool call rows for the active channel.

  • Inlined three background-channel prompts as Python constants, removing filesystem dependencies.

  • Implemented two-stage mid-ACT compaction to manage context window size during processing.

  • Restored and stabilized the core identity block (Boundaries, Principles, Voice) in the system prompt.

  • Added a verbatim LLM request logger to record every input/output for tracing.

  • Replaced the old thread-toggling context reset with atomic deletion of transcript rows.

  • Migrated MomentService functionality to use a KnowledgeService-backed path.