# Message Loop End Extensions DOX ## Purpose - Own backend behavior that runs after a message loop completes. ## Ownership - Ordered Python files own history organization and chat persistence at loop end. ## Local Contracts - Preserve history consistency before saving chats. - Do not skip persistence for successful loops unless the hook contract explicitly permits it. - History compression that rewrites local history must clear the active Responses provider continuation while preserving stored response IDs for cleanup. ## Work Guidance - Coordinate changes with chat serialization, history organization, and WebUI refresh behavior. ## Verification - Smoke-test sending a message, reloading the chat, and checking persisted history after changes. ## Child DOX Index No child DOX files.