from pathlib import Path ROOT = Path(__file__).resolve().parents[1] FILES = { "InventoryDataModel.md": ROOT / "Docs" / "InventoryDataModel.md", "TechnicalDesignDocument.md": ROOT / "Docs" / "TechnicalDesignDocument.md", "AGRARIAN_DEVELOPMENT_ROADMAP.md": ROOT / "AGRARIAN_DEVELOPMENT_ROADMAP.md", } EXPECTED = { "InventoryDataModel.md": [ "## Equipment Slot Decision", "Dedicated equipment slots are deferred for the 0.1.E MVP.", "`basic_tool`", "can stay in inventory and be checked by item ID", "Adding slots before a system reads them would", "active hand item", "worn clothing", "armor", "backpack", "held weapon", "tool durability while equipped", "mesh attachment", "server authoritative", "replicated", "persisted", ], "TechnicalDesignDocument.md": [ "Dedicated equipment slots are intentionally deferred for the 0.1.E MVP.", "`basic_tool` item can remain an inventory item", "server-authoritative, replicated, persisted slot state", ], "AGRARIAN_DEVELOPMENT_ROADMAP.md": [ "[x] Add equipment slots if needed.", "equipment slots are deferred", "do not yet drive equipped", ], } def main(): missing = [] for label, path in FILES.items(): text = path.read_text(encoding="utf-8") for snippet in EXPECTED[label]: if snippet not in text: missing.append(f"{label}: {snippet}") if missing: raise RuntimeError("Equipment slot decision verification failed: " + "; ".join(missing)) print("Agrarian equipment slot decision verification complete.") if __name__ == "__main__": main()