from spriteforge.studio.models import Asset from spriteforge.studio.store import ProjectStore def test_every_save_is_recoverable_by_content_hash(tmp_path): store=ProjectStore.create(tmp_path/"s","ops","Ops") store.add_asset(Asset(id="agent",name="Agent",kind="character",target_width=60,target_height=60)) revisions=store.revisions();assert revisions empty=next(item for item in revisions if item["assets"]==0) restored=store.restore_revision(empty["hash"]) assert not restored.assets and restored.events[-1].action=="project.restored" assert any(item["assets"]==1 for item in store.revisions())