June 4, 2026
ProcessorConfig becomes immutable; prompt builders take explicit mp
ProcessorConfig was refactored into a fully-immutable frozen dataclass
ProcessorConfig was refactored into a fully-immutable frozen dataclass. The three abstract prompt builders—get_user_prompt, get_user_definition, and get_system_prompt—now receive the turn’s MessageProcessor as an explicit mp argument instead of relying on a mutable self.mp field. This removes the freeze-bypass machinery, the config property setter, and the invisible bind-before-use ordering contract.
The act-loop was then fixed to restore old prompt-payload parity in the flat MessageProcessor. Five regressions from the subclass-to-flat redesign were addressed: checkpoint wrapping was re-applied in _loop, turn-zero memory seed received an _auto=True flag to skip document and schedule fan-out, user prompt body order was corrected (input line before trail with outer Chain-of-Thought prepend), and system prompts across multiple modules were updated to prefix user_definition.
-
ProcessorConfig is now a pure, fully-immutable frozen dataclass with no processor reference
-
Prompt builders (get_user_prompt, get_user_definition, get_system_prompt) take explicit mp argument
-
Removed mutable mp field, config property setter, and object.setattr freeze-bypass
-
Act-loop: _wrap_with_checkpoint restored in _loop for checkpoint envelope parity
-
Turn-zero memory recall seed uses _auto=True to avoid document/schedule search fan-out
-
User prompt body reordered: input-line-before-trail with outer CoT exploration prepend