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()
