58 lines
1.7 KiB
Python
58 lines
1.7 KiB
Python
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()
|