# CI Observer Agent Handover ## Scope This handover applies to CI Observer dashboard work only. ## Current Truth - Production runs from: `/webapps/ci-observer-dashboard-prod` - Production branch: `main` - Production port: `8089` - Production container: `ci-observer-dashboard-prod` ## Working Style Requirements - Keep solutions explicit and simple. - Avoid hidden abstractions and unnecessary variables. - Prefer readable, direct changes over clever patterns. - Test changes on a temporary `/webapps/ci-observer-dashboard-` folder first. - Only after approval, merge to `main` and deploy production. ## Safe Release Flow 1. Create feature branch in repo. 2. Implement and push. 3. Test on dedicated test folder + test port. 4. Collect user approval. 5. Merge feature branch to `main`. 6. Deploy from `/webapps/ci-observer-dashboard-prod`. 7. Cleanup test container/folder. ## App Behavior Notes - Backend: Python + FastAPI. - Frontend: HTML/CSS/Vanilla JS. - Storage: SQLite in mounted volume. - Polling requires BOTH `GH_REPOS` and `GH_WORKFLOWS`. ## Required Checks Before Saying "Done" - `docker ps` shows correct container and port. - `curl http://127.0.0.1:8089/api/config` returns expected JSON. - UI shows data (not empty dashboard). - Browser hard refresh tested when frontend changes (`Ctrl+Shift+R`). ## Where to Read More - `docs/OPERATIONS_RUNBOOK.md` - `docs/ARCHITECTURE.md` - `docs/STACK_OVERVIEW.md` - `ci-observer-handover/contexts/CI_OBSERVER_CONTEXT_LATEST_2026-02-11.md`