Cold view builds now reclaim unpublished databases and SQLite sidecars after failures, cancellation, and restart, while private outputs use less disk I/O.
Private cold builds write with relaxed journaling and sync once during finalize, so publication no longer needs a WAL keeper handoff.
Unpublished derived files and sidecars are removed on error, panic, publication rejection, or cancellation, and swept once at view startup after a crash; first-load cleanup only removes artifacts it created, and first-load names embed a pid and process-start token so equal-manifest builders never share a destination.
Deferred index rebuilding remains a test-only benchmark control; production keeps secondary indexes live based on paired measurements.
Confidence Score: 5/5
The PR appears safe to merge; no new blocking issue was found.
Summary
Cold builds use fewer disk writes and remove unpublished databases and SQLite sidecars after failure, cancellation, or restart.
New cold view builds write with less disk work before publication.
Failed or interrupted view builds leave fewer abandoned files behind.
Prepared view generations stay protected while builders publish them.
Diagram
%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[Create private build name] --> B[Build database]
B --> C[Sync database]
C --> D[Pin and write manifest]
D --> E[Attempt pointer update]
E --> F{Published?}
F -->|Yes| G[Keep published files]
F -->|No| H[Remove unpublished files]
B -->|Error or panic| H
I[Restart] --> J[Sweep abandoned files]