Minecraft-Friends-AI-ZeroGPU / tests /test_voyager_learning.py
naldo
Restore official Voyager decision agents and attest the runtime
5ddf32a
Raw History Blame Contribute Delete
2.38 kB
"""Regression tests for persistent Voyager learning memory."""
from __future__ import annotations
import json
import sys
import tempfile
from pathlib import Path
ROOT = Path(__file__).resolve().parents[1]
sys.path.insert(0, str(ROOT))
from voyager_learning import build_learning_state, learning_path, read_learning_state, refresh_learning_state
def test_persistent_learning_memory() -> None:
with tempfile.TemporaryDirectory() as tmp:
ckpt = Path(tmp) / "ckpt"
(ckpt / "curriculum").mkdir(parents=True)
(ckpt / "skill").mkdir(parents=True)
(ckpt / "curriculum" / "completed_tasks.json").write_text(
json.dumps([
"Place 1 stone",
"Place 1 oak_planks",
"Place 1 glass",
"Place 1 bricks",
"Build 1 wall",
]),
encoding="utf-8",
)
(ckpt / "curriculum" / "failed_tasks.json").write_text(
json.dumps(["Mine 1 glass"]), encoding="utf-8"
)
(ckpt / "skill" / "skills.json").write_text(
json.dumps({
"placeStone": {"code": "async function placeStone(bot) {}"},
"buildWall": {"code": "async function buildWall(bot) {}"},
}),
encoding="utf-8",
)
state = build_learning_state(ckpt, "Naldo_Bot")
assert state["completed_count"] == 5
assert state["failed_count"] == 1
assert state["skill_count"] == 2
assert state["bucket_persistent"] is False
# Reporting only: no mastery gate and no closed build catalog.
assert state["capabilities"]["place"]["distinct_count"] == 4
assert "mastered" not in state["capabilities"]["place"]
assert "threshold" not in state["capabilities"]["place"]
assert "build_projects" not in state
assert state["curriculum_owner"] == "upstream CurriculumAgent"
written = refresh_learning_state(ckpt, "Naldo_Bot")
assert learning_path(ckpt).exists()
loaded = read_learning_state(ckpt)
assert loaded["bot_username"] == "Naldo_Bot"
assert loaded["skill_count"] == written["skill_count"]
assert loaded["sources"]["skills"] == "skill/skills.json"
if __name__ == "__main__":
test_persistent_learning_memory()
print("PASS persistent Voyager learning memory")