cyrax321/continuum は、長時間動作する AI エージェント向けに、会話ダンプではなく意味チェックポイントを保持し、重複した副作用を拒否する冪等なアクションレジャー(action ledger)と、ハッシュチェーンによって改ざんが露見するイベントログを提供する Python 3.11+ ライブラリである。これらの機能をデフォルト拒否(deny-by-default)方式の MCP サーバーとして公開する。このリポジトリの最新変更は 2026 年 11 月 4 日の GitHub コミット 2a310f7 であり、実行コードには触れず、新しいユニットテストファイル tests/test_idempotency_ledger_resolution.py 413 行と CHANGELOG.md 7 行を追加した。合計 420 行の追加、削除は 0 行である。
テスト対象は resolve_authorization_id であり、レジャーに保存された過去の実行記録から重複実行を防ぐ際に用いる承認 ID(authorization id)を決定する関数である。識別トークンを含む保存済みの記録が 1 件と、新規に届いたリクエストのトークンが一致する場合、単一の ID に固定する。新しいテストは、完了した記録がちょうど 1 件の場合にのみ ID を確定し、2 件なら曖昧な ID は作らず、開始(STARTED)および状態不明(UNKNOWN)の記録は単独なら確定するが 2 件あれば確定しない。失敗(FAILED)の記録や別種のアクションは候補から除外される。包含関係と位置の判定も併せて検証される。保存側値が長い場合も入力された値が長い場合も同じ記録とみなすが、同一ファイル名が異なるディレクトリにある場合は別の記録とみなす。毎回変動するフィールドは宣言されていれば両側から除去して ID に入れず、宣言されていない場合はマッチングを妨げる。保存側へのアクセス方法も、名称の異なるアクセサ('_replay'、'folded'、'all')とアクセスが例外を投げる場合に分けて確認する。後続のコミットは各ステータス分類のケースに 2 件目のマッチングを対にして、ステータスの見落としや誤分類があれば結果が変わるようアサーションを強化した。
ただし、このコミットは挙動を変更したものではない。CHANGELOG はこの項目がテスト専用であり、ランタイム変更はないと記している。テストは保存層を経由せず、テストで直接作成したメモリ内の代替物(in-memory ledger stand-in)を使って関数を直接呼び出すため、実際の保存を通過する経路はこのファイルでは扱っていない。逆に、同じディレクトリ内の短いパス表記を同じ記録として認める場合も併せて固定した。提供された記録にはライセンス情報の記載がなく、CHANGELOG が明かした収集テスト数は最小環境基準で約 4,400 件である。つまりここで確認できるのは、規則がテストによって固定されたという事実までであり、デプロイ時の挙動自体が改善したとはまだ読めない。