Spaces:
Paused
Paused
| import json | |
| from pathlib import Path | |
| import sys | |
| PROJECT = Path(__file__).resolve().parents[1] | |
| sys.path.insert(0, str(PROJECT)) | |
| import generate_evidence # noqa: E402 | |
| EXPECTED_CLAIMS = { | |
| "1d9a6dacc1dc82ef48de7d737894a7483656532009cd09ee5520fac3ff8cc6cb": "MemoryBench provides a three-module framework with a task provider, user simulator, and performance monitor for testing LLM-system continual learning from feedback logs (Figure 1)", | |
| "8e42a5968c6221140d8c838ad8a77d03d4650c7445048c57cea565257e4109e1": "MemoryBench covers 11 public datasets across three domains, four task-format categories, and two languages (Table 2)", | |
| "455c286b44e701d2952fbad8875c587b9222f0a041fc7766b27466bcdfe5d2db": "The benchmark includes both declarative/procedural memory and explicit/implicit feedback categories absent from prior memory benchmarks (Table 1)", | |
| "020b23a747bb1deb098786bc57173b48597869889509eb725fe0e6ceaa4c1e58": "Off-policy results show that advanced memory systems such as A-Mem, Mem0, and MemoryOS do not consistently outperform simpler RAG baselines (Figure 2)", | |
| "62864e8988dab4b163f8fbd1ddb98a9aafbf2869b98a4d10139d2cea998143e3": "Comparisons with and without feedback show simulated user feedback can improve model performance on task-specific metrics (Table 11)", | |
| } | |
| def test_generate_evidence_writes_bound_claim_results(tmp_path): | |
| bundle = generate_evidence.build_evidence(tmp_path) | |
| assert bundle["paper_id"] == "If4X4W2HWx" | |
| assert bundle["attempt_id"] == "bbdaa7e7-bb11-4d12-8f04-f0a93e54cf8d" | |
| assert bundle["snapshot_id"] == "82f8fe77e2f556bf4274e2b1d4a957bf9d1784978c27d31fc3ac6e4c1954f11b" | |
| assert bundle["api_cost_usd"] == 0.0 | |
| assert set(bundle["upstream_revisions"]) == { | |
| "arxiv", | |
| "github_code", | |
| "hf_dataset", | |
| "hf_results", | |
| } | |
| results = {claim["claim_sha256"]: claim for claim in bundle["claims"]} | |
| assert set(results) == set(EXPECTED_CLAIMS) | |
| for digest, text in EXPECTED_CLAIMS.items(): | |
| claim = results[digest] | |
| assert claim["claim"] == text | |
| assert claim["status"] in {"verified", "falsified", "toy", "inconclusive"} | |
| assert claim["computed_observations"] | |
| assert claim["paper_reported_context"] | |
| assert claim["paper_reported_context"] != claim["computed_observations"] | |
| written = tmp_path / "evidence" / "bundle.json" | |
| assert json.loads(written.read_text()) == bundle | |
| def test_space_assets_exist_and_reference_evidence(): | |
| for relative in ["README.md", "app.py", "pages/00-summary.md"]: | |
| path = PROJECT / relative | |
| assert path.exists(), relative | |
| assert "MemoryBench" in path.read_text() | |
| app = (PROJECT / "app.py").read_text() | |
| assert "bundle.json" in app | |
| assert "gradio" in app.lower() | |
| def test_space_readme_declares_required_hub_metadata(): | |
| readme = (PROJECT / "README.md").read_text() | |
| assert readme.startswith("---\n") | |
| metadata = readme.split("---", 2)[1] | |
| assert "sdk: gradio" in metadata | |
| assert "app_file: app.py" in metadata | |
| assert "icml2026-repro" in metadata | |
| assert "paper-If4X4W2HWx" in metadata | |