| 1 | # Message Loop End Extensions DOX |
| 2 | |
| 3 | ## Purpose |
| 4 | |
| 5 | - Own backend behavior that runs after a message loop completes. |
| 6 | |
| 7 | ## Ownership |
| 8 | |
| 9 | - Ordered Python files own history organization and chat persistence at loop end. |
| 10 | |
| 11 | ## Local Contracts |
| 12 | |
| 13 | - Preserve history consistency before saving chats. |
| 14 | - Do not skip persistence for successful loops unless the hook contract explicitly permits it. |
| 15 | - History compression that rewrites local history must clear the active Responses provider continuation while preserving stored response IDs for cleanup. |
| 16 | |
| 17 | ## Work Guidance |
| 18 | |
| 19 | - Coordinate changes with chat serialization, history organization, and WebUI refresh behavior. |
| 20 | |
| 21 | ## Verification |
| 22 | |
| 23 | - Smoke-test sending a message, reloading the chat, and checking persisted history after changes. |
| 24 | |
| 25 | ## Child DOX Index |
| 26 | |
| 27 | No child DOX files. |