# 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-<feature>` 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`
