Move small tasks from wishlist to todo, update npm packages Replace #[Auth] attributes with manual auth checks and code quality rule Remove on_jqhtml_ready lifecycle method from framework Complete ACL system with 100-based role indexing and /dev/acl tester WIP: ACL system implementation with debug instrumentation Convert rsx:check JS linting to RPC socket server Clean up docs and fix $id→$sid in man pages, remove SSR/FPC feature Reorganize wishlists: priority order, mark sublayouts complete, add email Update model_fetch docs: mark MVP complete, fix enum docs, reorganize Comprehensive documentation overhaul: clarity, compression, and critical rules Convert Contacts/Projects CRUD to Model.fetch() and add fetch_or_null() Add JS ORM relationship lazy-loading and fetch array handling Add JS ORM relationship fetching and CRUD documentation Fix ORM hydration and add IDE resolution for Base_* model stubs Rename Json_Tree_Component to JS_Tree_Debug_Component and move to framework Enhance JS ORM infrastructure and add Json_Tree class name badges 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Storage Snapshot - Working Bundle State
Created
2025-11-12
How Created
- Ran
php artisan rsx:clean(cleared all caches) - Ran
php artisan rsx:debug /contacts --user-id=1 - Browser-triggered rebuild detected cache was empty
- 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.jsis present in filesystem - Bundle INCLUDES stub: The compiled
Frontend_Bundle__app.*.jscontains the stub - Result: JavaScript references to
Frontend_Clients_Controllerwork 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
# Start from any state
php artisan rsx:clean
# Test (will trigger browser rebuild and work correctly)
php artisan rsx:debug /contacts --user-id=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
# 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/