Import AITURK IDE 1.0.0-beta.1 from Hermes 63279301; preserve MIT license

This commit is contained in:
2026-09-05 13:26:46 +03:00
commit 03634b1ca3
11340 changed files with 3442369 additions and 0 deletions
@@ -0,0 +1,159 @@
"""Regression tests for #86366 × watermark interplay in archive_and_compact.
Two sibling sites of the superseded-duplicate class:
* carried-forward tail originals (tail_count) — the compressor's protected
tail rides inside compacted_messages verbatim; originals must take rewind
flags (active=0, compacted=0), not compacted=1.
* concurrent-tail originals (watermark clone, #75316) — rows appended during
the summary call are re-inserted byte-exact as live clones; their originals
are the SAME superseded-duplicate class and must take rewind flags too.
And the interaction bound: with both watermark and tail_count set, the
rewind-target LIMIT walk must not consume concurrent-append rows (above the
watermark) as if they were carried-forward tail.
"""
from __future__ import annotations
import sqlite3
from pathlib import Path
import pytest
from hermes_state import SessionDB
@pytest.fixture
def db(tmp_path: Path):
handle = SessionDB(db_path=tmp_path / "state.db")
try:
yield handle
finally:
handle.close()
def _flags(db: SessionDB, session_id: str):
conn = sqlite3.connect(db.db_path)
conn.row_factory = sqlite3.Row
try:
return [
dict(r)
for r in conn.execute(
"SELECT id, active, compacted, content FROM messages "
"WHERE session_id = ? ORDER BY id",
(session_id,),
).fetchall()
]
finally:
conn.close()
class TestWatermarkTailCountInterplay:
def test_rewind_walk_bounded_at_watermark(self, db: SessionDB) -> None:
"""A concurrent append above the watermark must not steal a rewind
LIMIT slot from a genuine carried-forward tail original."""
sid = "s-wm-bound"
db.create_session(sid, source="cli")
for i in range(4):
db.append_message(sid, "user", content=f"seen-{i}")
watermark = db.get_active_message_watermark(sid)
# Concurrent append AFTER the compressor snapshotted its input.
db.append_message(sid, "user", content="concurrent-append")
db.archive_and_compact(
sid,
[
{"role": "user", "content": "SUMMARY"},
{"role": "user", "content": "seen-2"},
{"role": "user", "content": "seen-3"},
],
watermark=watermark,
tail_count=2,
)
rows = _flags(db, sid)
by_content = {}
for r in rows:
by_content.setdefault(r["content"], []).append(r)
# Carried-forward tail originals: rewind flags (hidden from recall).
for content in ("seen-2", "seen-3"):
originals = [
r for r in by_content[content] if r["active"] == 0
]
assert originals, content
assert all(r["compacted"] == 0 for r in originals), (
f"{content} original stamped compacted=1 — recall duplicate"
)
live = [r for r in by_content[content] if r["active"] == 1]
assert len(live) == 1
# Summarized-away rows keep discoverability.
for content in ("seen-0", "seen-1"):
(row,) = by_content[content]
assert (row["active"], row["compacted"]) == (0, 1)
def test_concurrent_tail_original_takes_rewind_flags(
self, db: SessionDB
) -> None:
"""The watermark clone's original is a superseded byte-identical
duplicate — it must not satisfy recall next to its live clone."""
sid = "s-wm-clone"
db.create_session(sid, source="cli")
for i in range(3):
db.append_message(sid, "user", content=f"old-{i}")
watermark = db.get_active_message_watermark(sid)
db.append_message(sid, "user", content="mid-flight zqx-token")
db.archive_and_compact(
sid,
[{"role": "user", "content": "SUMMARY"}],
watermark=watermark,
)
rows = _flags(db, sid)
copies = [r for r in rows if "zqx-token" in r["content"]]
assert len(copies) == 2 # archived original + live clone
original = next(r for r in copies if r["active"] == 0)
clone = next(r for r in copies if r["active"] == 1)
assert original["compacted"] == 0, (
"concurrent-tail original stamped compacted=1 — it would be "
"recalled alongside its live clone (same class as #86366)"
)
assert clone["compacted"] == 0
# Recall filter surfaces exactly ONE copy.
hits = [
r
for r in db.search_messages("zqx-token")
if r.get("session_id") == sid
]
assert len(hits) == 1
def test_recall_stable_across_generations(self, db: SessionDB) -> None:
"""search_messages hit count for a carried-forward message must not
grow with compaction generations."""
sid = "s-gen"
db.create_session(sid, source="cli")
for i in range(5):
db.append_message(sid, "user", content=f"turn-{i} gentok-{i}")
payload = [
{"role": "user", "content": "SUMMARY"},
{"role": "user", "content": "turn-3 gentok-3"},
{"role": "user", "content": "turn-4 gentok-4"},
]
counts = []
for _ in range(3):
db.archive_and_compact(sid, list(payload), tail_count=2)
counts.append(
len(
[
r
for r in db.search_messages("gentok-3")
if r.get("session_id") == sid
]
)
)
assert counts == [1, 1, 1], counts