cyrax321/continuum is a Python 3.11+ library for long-running AI agents: instead of conversation dumps it keeps semantic checkpoints, and it provides an idempotent action ledger that rejects duplicate side effects along with an event log whose hash chain makes tampering visible. It exposes these features through a deny-by-default MCP server. The latest change to this repository is GitHub commit 2a310f7 of November 4, 2026; it does not touch any executable code and adds a new unit test file, tests/test_idempotency_ledger_resolution.py, at 413 lines, plus 7 lines to CHANGELOG.md. That is 420 lines added in total and 0 lines deleted.
The target of the tests is resolve_authorization_id, the function that determines the authorization ID used to prevent duplicate execution based on past execution records stored in the ledger. When a single stored record containing identifying tokens matches the tokens of an incoming request, it is fixed to one ID. The new tests confirm the ID only when there is exactly one completed record, refuse to produce an ambiguous ID when there are two, and confirm a STARTED or UNKNOWN record when it stands alone but not when there are two. FAILED records and actions of a different kind are excluded from the candidates. Containment and location judgments are verified as well. A record is treated as the same one whether the stored value is longer or the incoming value is longer, whereas the same file name in different directories is treated as a different record. Fields that change every time are, when declared, removed from both sides and not included in the ID; when they are not declared, they block the match. The way the stored data is accessed is also checked by dividing it into differently named accessors ('_replay', 'folded', 'all') and the case where access raises an exception. A follow-up commit pairs a second match with each status classification case, strengthening the assertions so that missing a status or misclassifying it changes the result.
However, this commit does not change behavior. The CHANGELOG states that this entry is test-only and that there are no runtime changes. The tests call the function directly using a hand-made in-memory ledger stand-in instead of going through the storage layer, so this file does not cover the path that passes through the real store. Conversely, short path notation within the same directory is also fixed as being recognized as the same record. The provided record contains no license information, and the number of collected tests disclosed by the CHANGELOG is about 4,400 in a minimum environment. In other words, what can be confirmed here is only that the rules have been pinned down by tests, and it would be premature to read this as an improvement in deployment behavior itself.