# W-044 Status status: done task: 记录操作日志和恢复 StorageWorker now validates and persists operation records with project id, revision, payload, inverse payload and timestamp in IndexedDB's `operation_log` store. StorageClient exposes `appendOperation`, and the operation/inverse path has a browser regression. Project file recovery is now separate and complete for the current save path: an OPFS SHA-256 journal recovers interrupted staging/commit after Worker restart. Schema 5 adds corruption quarantine. Recovery sorts validated operations by revision/time/ID, rejects revision conflicts, opens the committed project or latest retained snapshot, and applies only uncommitted replayable commands to the native Main. A successful save prunes committed rows.