diff --git a/.standalone.pid b/.standalone.pid index 4e54b838..9a7d29f1 100644 --- a/.standalone.pid +++ b/.standalone.pid @@ -1,3 +1,3 @@ -836027 -836028 -836042 +836417 +836418 +836432 diff --git a/PROJECT_ARCHITECTURE.md b/PROJECT_ARCHITECTURE.md index 7ee9ee5c..858c9156 100644 --- a/PROJECT_ARCHITECTURE.md +++ b/PROJECT_ARCHITECTURE.md @@ -28,9 +28,10 @@ A unified system for inventory management featuring web administration, offline ### 2.3 Operations & Tooling - **PWA**: `next-pwa` (Service Workers + Manifest) -- **HTTPS Proxy**: Caddy (Port 8909) +- **HTTPS Proxy**: Caddy (Ports 8918/8919) - **Containerization**: Docker & Docker Compose -- **Deployment**: `deploy.sh` (Docker) or `start_server.sh` (Standalone) +- **Deployment**: `deploy.py` (Docker) or `run_standalone.py` (Standalone) +- **Configuration**: Domain-specific YAML (`config/`) with `network.yaml` as SSOT. --- @@ -73,9 +74,9 @@ A unified system for inventory management featuring web administration, offline - **JWT**: Stateless tokens for API auth. - **LDAP**: Primary source of truth for users in enterprise mode. - **Password Caching**: Encrypted local cache for offline authentication. -- **CORS**: Restricted origins in production via `config/backend.yaml`. +- **CORS**: Restricted origins in production via `config/network.yaml` (SSOT). --- **Last Updated**: 2026-04-23 -**Version**: 1.14.7 +**Version**: 1.14.19 diff --git a/backups/ainventory_2026-04-23_15-27-27.tar.gz b/backups/ainventory_2026-04-23_15-27-27.tar.gz new file mode 100644 index 00000000..dbc96e24 Binary files /dev/null and b/backups/ainventory_2026-04-23_15-27-27.tar.gz differ diff --git a/dev_docs/PLAN.md b/dev_docs/PLAN.md index f848329f..6d430aab 100644 --- a/dev_docs/PLAN.md +++ b/dev_docs/PLAN.md @@ -41,9 +41,10 @@ A unified inventory management system that eliminates manual data entry through ### Phase 7: Config Consolidation (COMPLETED ✓) - **Centralization**: All config in `config/` folder (YAML format). - **Automation**: Bash scripts converted to Python (`scripts/`). -- **Structure**: Clear separation of `backend.yaml`, `frontend.yaml`, `network.yaml`, `docker.yaml`, `secrets.yaml`. +- **SSOT Architecture**: `network.yaml` established as Master IP/Port authority. +- **Dynamic Injection**: Automatic API URL and CORS calculation from master config. - **D-06 Load Order**: Env Vars > YAML > Defaults. -- **Deprecation**: `inventory.env` completely removed. +- **Deprecation**: `inventory.env` and legacy `.sh` scripts completely removed. ### Phase 8: Hardening & Release (PLANNED) - Stability monitoring, final UX refinements, production-ready runbook. diff --git a/dev_docs/SESSION_STATE.md b/dev_docs/SESSION_STATE.md index 2413d721..33004b4d 100644 --- a/dev_docs/SESSION_STATE.md +++ b/dev_docs/SESSION_STATE.md @@ -2,53 +2,53 @@ **Active AI:** Claude Haiku 4.5 (Claude Code) **Last Updated:** 2026-04-23 -**Current Version:** v1.14.7 -**Status**: ✅ PHASE 7 COMPLETE +**Current Version:** v1.14.19 +**Status**: ✅ PHASE 7 COMPLETE | 🟢 READY FOR PHASE 8 --- -## SESSION 41 EXECUTION — Phase 7 Execution & Consolidation +## SESSION 41 EXECUTION SUMMARY — Infrastructure & Export Fixes -### Work Completed This Session +### 1. Phase 7: Config Consolidation (COMPLETE) +- **Centralized YAML**: Migrated all configuration to `config/*.yaml`. +- **SSOT Architecture**: Established `network.yaml` as the Master Source of Truth for Server IP and Port management. +- **Dynamic Injection**: Frontend API URLs and Backend CORS are now dynamically calculated from master network settings. +- **Python Tooling**: All legacy `.sh` scripts converted to robust, secure Python scripts in `scripts/`. +- **Enhanced Launcher**: `run_standalone.py` now supports `start`, `stop`, `restart`, `status`, and Caddy SSL proxying. -**1. Phase 7 Execution (Config Consolidation):** -- ✅ Wave 1: Created `config/` structure, 5 schema examples, 4 actual config files, and 155-line `config/README.md`. -- ✅ Wave 2 (Backend): Refactored `backend/config_loader.py` for YAML and D-06 load order. Updated `config_manager.py`, `main.py`, and `entrypoint.sh`. -- ✅ Wave 2 (Scripts): Converted `deploy.sh`, `run_standalone.sh`, `install_service.sh`, and `export_prod.sh` to secure Python scripts with YAML parsing. -- ✅ Wave 3 (Docker & Docs): Updated `docker-compose.yml` (volume mounts), `Dockerfile`, `.gitignore`, `DEPLOYMENT.md`, and `README.md`. -- ✅ Post-Wave: Refactored legacy `load_dotenv()` in `ai_vision.py`, `check_models.py`, `gemini.py`, and `claude.py`. -- ✅ Cleanup: Deleted all deprecated bash scripts and legacy `.env` files. Updated `scripts/save_version.py` for new infrastructure. +### 2. Admin & Security Improvements +- **AI Key Detection**: Fixed backend logic to correctly report AI key status from YAML/Secrets. +- **Secure Saving**: Implemented `ConfigManager.update_keys()` to route sensitive data correctly to `secrets.yaml`. +- **Recursion Fix**: Resolved a critical infinite recursion loop in the configuration manager. -**2. Versioning & State Sync:** -- ✅ Incremented version to `v1.14.7` across all SSOT files (`VERSION.json`, `frontend/VERSION.json`, `PROJECT_ARCHITECTURE.md`, `dev_docs/PLAN.md`). -- ✅ Updated roadmap in `dev_docs/PLAN.md` marking Phase 7 as COMPLETED. -- ✅ Verified all files pass syntax checks (Python/Bash). +### 3. Export System Overhaul +- **Data Integrity**: Fixed a routing collision that caused binary SQLite downloads instead of CSV data. +- **FastAPI Streaming**: Refactored exports to use `StreamingResponse` for memory efficiency. +- **Premium UI**: Integrated the `ExportPanel` into the dark-mode aesthetic with standard premium button styles. +- **WebSocket Fix**: Improved Caddy configuration for Next.js HMR stability. -### Phase 7 Artifact Status -- **Plans**: `.planning/phases/07-config-consolidation/07-01-PLAN.md` ✓ COMPLETED -- **Plans**: `.planning/phases/07-config-consolidation/07-02-PLAN.md` ✓ COMPLETED -- **Plans**: `.planning/phases/07-config-consolidation/07-03-PLAN.md` ✓ COMPLETED -- **Plans**: `.planning/phases/07-config-consolidation/07-04-PLAN.md` ✓ COMPLETED -- **Summaries**: `.planning/phases/07-config-consolidation/07-01,02,03,04-SUMMARY.md` ✓ Created -- **Context**: `.planning/phases/07-config-consolidation/07-CONTEXT.md` ✓ Archived +### 4. Cleanup & Preparation +- ✅ Deleted all deprecated `.sh` and `.env` files. +- ✅ Rebuilt virtual environment (`venv/`) and verified dependencies (added `openpyxl`). +- ✅ Incremented system version to **v1.14.19**. --- -## NEXT STEPS +## NEXT STEPS (Phase 8: Hardening & Release) -1. **Start Phase 8 (Hardening & Release)**: - - Perform end-to-end testing of the new Python deployment scripts. - - Verify Docker deployment with `python3 scripts/deploy.py production`. - - Perform final UX refinements and accessibility audits. - - Prepare production-ready runbook for v1.15.0 stable release. +1. **End-to-End Testing**: + - Verify data consistency in multi-page Excel exports. + - Stress test the new Python-based deployment scripts. -2. **Stability Monitoring**: - - Check logs for any configuration parsing warnings. - - Ensure all environment variable overrides work as expected (D-06). +2. **UX Refinement**: + - Perform a final accessibility audit on the new Admin UI components. + - Ensure consistent loading states across all Admin panels. -3. **Cleanup**: - - Archive Phase 7 planning artifacts to `dev_docs/ARCHIVE_LOGS.md` or similar. +3. **Production Preparation**: + - Finalize the production runbook. + - Prepare for the v1.15.0 "Stable" release milestone. --- -✓ Phase 7 fully implemented, verified, and cleaned up. Ready for the next phase. +✓ All tasks for this session are implemented, verified, and committed. +✓ Services are currently RUNNING in the background. diff --git a/frontend/VERSION.json b/frontend/VERSION.json index 9ffe1b35..7adb8066 100644 --- a/frontend/VERSION.json +++ b/frontend/VERSION.json @@ -1,6 +1,6 @@ { - "version": "1.14.19", - "last_build": "2026-04-23-1527", + "version": "1.14.20", + "last_build": "2026-04-23-1536", "codename": "ConfigCore", - "commit": "941761ad" + "commit": "b0ac7426" } \ No newline at end of file