Fixed critical bugs in sync_web_files.py that caused copies instead of symlinks:
1. Mode detection now checks ALL nodes instead of just first one
- Prevents false "prod" mode when mixed symlink/submodule states exist
- Returns "dev" if ANY node is a symlink
2. Symlink creation uses absolute paths instead of relative
- Fixes "Source not found" errors during sync
- Ensures symlinks work after atomic temp-to-final move
- Eliminates code duplication in web/ directory
3. Windows console compatibility
- Replaced Unicode characters with ASCII for verbose output
Also adds auto-sync integration to __init__.py and web_src/core/ source directory.
Tested: All 3 JS files created as symlinks (0 copies), zero duplication verified