### [2026-04-11] v1.3.6: Scanner Redesign, Auto-OCR Countdown & save-version Automation **Purpose:** Redesign the scanner UX for hands-free operation, enforce UI typography rules, add Item Type datalist, and create a reusable `save-version` AI command. **Actions:** - `frontend/components/Scanner.tsx` — Full layout redesign: controls moved below camera viewport (no overlay). Replaced manual OCR button with automatic 4-second OCR cycle. Added visual countdown with progress bar. Removed all `uppercase`/`tracking-widest` styling per AI_RULES Section 3. - `frontend/components/AIOnboarding.tsx` — Added searchable `` for Item Type field populated from existing DB types. - `frontend/app/page.tsx` — Added searchable `` for Item Type to the item edit modal. - `frontend/app/inventory/page.tsx` — Added searchable `` for Item Type in inventory catalog forms. - `scripts/save_version.py` (NEW) — Automation script for `save-version` command: bumps patch version, commits, creates snapshot branch, generates prod ZIP. - `AI_RULES.md` — Added Section 6 defining the `save-version` AI Command Shortcut. - `README.md` — Updated Production Distribution section to document `save-version` workflow. - `dev_docs/SESSION_STATE.md` — Updated with current session handover. **Status:** Stable. Ready for version bump. --- ### [2026-04-11] v1.3.5: Frontend Login Loop Fix **Purpose:** Fix infinite redirect loop after successful LDAP login (Chrome crash bug). **Actions:** - `frontend/lib/api.ts` — axiosInstance baseURL now lazy (set in request interceptor, not at module init) to fix SSR wrong-URL bug - `frontend/lib/api.ts` — 401 interceptor now guards against redirect when already on `/login` - `frontend/app/page.tsx` — token guard added to both useEffect hooks before any API calls - `frontend/lib/auth.ts` — removed temporary debug console.log statements - `frontend/app/login/page.tsx` — removed temporary debug console.log statements and unused `memo` import - `dev_docs/SESSION_STATE.md` — updated with current status (fixes applied, not yet tested) - `dev_docs/SESSION_HISTORY.md` — previous session archived **Status:** Applied, not yet tested. Server must be restarted to verify. --- ### [2026-04-11 12:45] v1.3.0: Dockerization & Export Script **Purpose:** Upgraded the system architecture to support seamless dual-mode execution (Dockerized or Bare-Metal/Local). Extracted data and logic persistence layers to external volumes (`/data`, `/logs`). Added a dedicated production compiler. **Actions:** - `backend/database.py` and `users.py` now support `DATA_DIR` environment overrides. - Implemented `backend/logger.py` for standard Python rotating logs mapped to `/app/logs`. - Next.js configured for `standalone` output mode to strictly optimize containerized PWA size. - Orchestrated full environment with `docker-compose.yml`, using Caddy for local self-signed HTTPS termination. - Created `export_prod.sh` to extract a clean release bundle without AI/Dev files (using optimized `rsync`). **Modified Files:** - `backend/database.py` - `backend/routers/users.py` - `backend/logger.py` (New) - `backend/main.py` - `frontend/next.config.mjs` - `frontend/Dockerfile` (New) - `backend/Dockerfile` (New) - `docker-compose.yml` (New) - `Caddyfile` (New) - `export_prod.sh` (New) - `VERSION.json` ### [2026-04-11 12:35] v1.2.9: Automatic IDE Entry Points **Purpose:** Restored specific ID-based entry points (`GEMINI.md` and `CLAUDE.md`) as "Proxy Pointers" to ensure modern AI extensions (Cursor, Windsurf, Gemini IDE) naturally pick them up as system prompt injections. **Modified Files:** - `GEMINI.md` (Recreated as proxy) - `CLAUDE.md` (Created as proxy) - `AI_RULES.md` - `VERSION.json` ### [2026-04-11 12:25] v1.2.8: Absolute Documentation Consolidation **Purpose:** Restructured all project documentation to completely eliminate redundancy and establish clear "Single Source of Truth" boundaries for humans and AI agents. **Actions:** - Created `PROJECT_ARCHITECTURE.md` uniting business requirements, tech stack, data models, and specific OCR algorithms. - Unified all AI operational rules, constraints, and UI fidelities strictly inside `AI_RULES.md`. - Removed redundant, overlapping files (`GEMINI.md`, `requirements.md`, `TECH_STACK.md`, `UI_FIDELITY_SPEC.md`, `SCANNER_LOGIC_SPEC.md`). - Stripped `PLAN.md` down to just the active checklist. **Modified Files:** - `PROJECT_ARCHITECTURE.md` (New) - `AI_RULES.md` - `PLAN.md` - `VERSION.json` ### [2026-04-11 12:15] v1.2.7: Documentation Refactor & Portability **Purpose:** Consolidated technical stack information into a single source of truth (`dev_docs/TECH_STACK.md`) and removed absolute paths from all AI-facing documents to ensure the project can be moved across environments without breaking references. **Modified Files:** - `dev_docs/TECH_STACK.md` (New) - `GEMINI.md` (Refined) - `AI_RULES.md` (Cleaned) - `PLAN.md` (Referenced tech stack) - `requirements.md` (Referenced tech stack) - `dev_docs/SESSION_STATE.md` (Path cleanup) - `VERSION.json` ### [2026-04-11 12:05] v1.2.6: Hotfix - Missing Icon Imports ### [2026-04-11 11:58] v1.2.5: UI Icon Synchronization ### [2026-04-11 11:45] v1.2.4: Offline Auth & UX Polish ### [2026-04-11 11:30] v1.2.3: System-Wide UI Homogenization ### [2026-04-11 11:21] v1.2.2: UI Readability & Density Optimization ### [2026-04-10 21:59] v1.2.1: Infrastructure & UI Dynamic Versioning # Archive Logs This file contains the mandatory historical log of code, architecture, and logic modifications. Each entry MUST be formatted chronologically. ### [2026-04-10 18:43] v1.2.0: Categories, Types and LDAP Framework **Purpose:** Implemented structured category groups and specific item types. Fixed PBKDF2 hashing compatibility for Mac/Python 3.14. Integrated LDAP authentication framework. Established master/dev/vX Git rules. **Modified Files:** - `backend/models.py` - `backend/schemas.py` - `backend/main.py` - `backend/routers/categories.py` - `backend/routers/users.py` - `frontend/app/page.tsx` - `frontend/components/AIOnboarding.tsx` - `VERSION.json` - `requirements.md` - `AI_RULES.md` - `dev_docs/PLAN_HISTORY.md` - `dev_docs/SESSION_HISTORY.md` **Purpose:** Why this was modified. **Modified Files:** - `path/to/file` **Test Results:** (if applicable) ### [2026-04-10 13:44] Backend Foundation Setup **Purpose:** Initialized the Phase 1 backend using Python and SQLite to prepare the environment for API routing. **Modified Files:** - `backend/requirements.txt` (NEW) - `backend/database.py` (NEW) - `backend/models.py` (NEW) - `backend/main.py` (NEW) - `.gitignore` (NEW) **Test Results:** Installed properly using Homebrew Python venv on Mac. SQLAlchemy models parsed appropriately. ### [2026-04-10 13:47] Core Inventory API (Phase 2) **Purpose:** Implemented the Pydantic schemas and standard CRUD endpoints for Inventory logic. Built safe Check-in/Check-out operations enforcing immutable Audit Log triggers. **Modified Files:** - `backend/schemas.py` (NEW) - `backend/routers/__init__.py` (NEW) - `backend/routers/items.py` (NEW) - `backend/routers/operations.py` (NEW) - `backend/main.py` (UPDATED) ### [2026-04-10 13:58] AI Coordination & Bulk Operations (Phase 3) **Purpose:** Established Multi-AI handover protocol with archival logic. Extended backend to support bulk check-outs and trash operations with mandatory audit logging. **Modified Files:** - `dev_docs/SESSION_STATE.md` (NEW) - `dev_docs/SESSION_HISTORY.md` (NEW) - `AI_RULES.md` (UPDATED) - `backend/schemas.py` (UPDATED) - `backend/routers/operations.py` (UPDATED) **Test Results:** Scheme support bulk and trash objects. Logging logic verified in code for session state compliance. ### [2026-04-10 14:05] PWA Frontend Scaffolding (Phase 4) **Purpose:** Initialized the React/Next.js/Tailwind frontend project for the PWA interface. Manually scaffolded to bypass MacOS home directory permission restrictions. **Modified Files:** - `frontend/package.json` (NEW) - `frontend/app/layout.tsx` (NEW) - `frontend/app/page.tsx` (NEW) - `frontend/public/manifest.json` (NEW) **Test Results:** Dependencies installed successfully via local npm cache. Bootstrap icons and Tailwind directives configured.