# Storage Snapshot - Working Bundle State ## Created 2025-11-12 ## How Created 1. Ran `php artisan rsx:clean` (cleared all caches) 2. Ran `php artisan rsx:debug /contacts --user=1` 3. Browser-triggered rebuild detected cache was empty 4. Manifest regenerated and bundles recompiled by browser request ## What This Demonstrates This snapshot captures the **working state** where browser-triggered bundle builds correctly include JS stubs. ### Observable Success When loading `/contacts` after this browser-triggered rebuild: ``` 200 http://localhost/contacts user:1 type:text/html JavaScript Console Errors: None ``` ### The Working Behavior - **JS stub file EXISTS**: `rsx-build/js-stubs/Frontend_Clients_Controller.js` is present in filesystem - **Bundle INCLUDES stub**: The compiled `Frontend_Bundle__app.*.js` contains the stub - **Result**: JavaScript references to `Frontend_Clients_Controller` work correctly ### Key Differences from Broken State Compare this snapshot with `/storage-broken/` to identify: - What's different in `manifest_data.php` (stub registration) - What's different in compiled bundles (stub inclusion) - Timing/ordering differences in manifest generation ### Reproduction Steps ```bash # Start from any state php artisan rsx:clean # Test (will trigger browser rebuild and work correctly) php artisan rsx:debug /contacts --user=1 # Expected result: No JavaScript errors ``` ### The Mystery **Why does browser-triggered rebuild work but CLI build doesn't?** Both should execute the same manifest and bundle code, but produce different results: - CLI build: Stubs not included in bundles - Browser build: Stubs correctly included in bundles ### Comparison with Broken State ```bash # Compare manifest metadata diff storage-broken/rsx-build/manifest_data.php storage-working/rsx-build/manifest_data.php # Compare bundle hashes ls -la storage-broken/_compiled/Frontend_Bundle* storage-working/_compiled/Frontend_Bundle* # Check stub files ls -la storage-broken/rsx-build/js-stubs/ storage-working/rsx-build/js-stubs/ ```