chore(agent): track .agent/ planning tree in git
Build and Push Containers / build-and-push-app (push) Successful in 12s
Build and Push Containers / build-and-push-db (push) Successful in 10s

Remove the blanket .agent/ gitignore so the phase roadmap, user
stories, reports, and PLAN.md are versioned with the code. Only
runtime artifacts (.agent/phase-sessions/, .agent/pipeline.log)
remain ignored. Update AGENTS.md git protocol rule to match.
This commit is contained in:
2026-09-01 10:18:22 -04:00
parent 5fa620fde5
commit 4971e2859d
818 changed files with 23964 additions and 4 deletions
@@ -0,0 +1,18 @@
Phase 05 complete and committed (`2364e1e`).
**Implemented**
- `app.js`: extracted shared `renderChips(container, items, {onSelect})` + `submitSuggestion()` (fill → focus → `composer.requestSubmit()`); onboarding chips and "Maybe try" deflection chips now both one-tap-submit. Mobile CSS verified (existing tokens, no duplication); defaults confirmed against real Homelab/Deployments topics.
- `.env.example`: documented `BOR_SUGGESTIONS` (JSON list; pydantic-settings override verified).
- Tests: 3 new unit (default ≥3, JSON env override, malformed-JSON fails loudly), 1 new integration (endpoint honors `BOR_SUGGESTIONS` via fresh app), new E2E `tests/e2e/test_suggestion_chips.py` (render ≥3 from API, click submits, Tab+Enter, 375px scroll row).
- Updated Phase 04 E2E `test_deflection_suggestions_are_clickable` to the new one-tap contract (shared component behavior change).
**Gates (all green)**
- `uv run pytest` → 114 passed
- `uv run pytest --cov=app --cov-report=term-missing` → TOTAL 99% (>90%)
- `uv run ruff check .` → clean; `uv run pyright` → 0 errors
- `uv run pytest tests/e2e/test_suggestion_chips.py -v --no-cov` → 4 passed in isolation; regression: honest_deflection/chat_rag/import_documents/smoke all 3 passed
- UI pass: 1280px + 375px screenshots verified (centered wrap vs single scroll row, 999px pills ≥44px, brand-soft/brand-ink ≈8.8:1, hover/active, "Suggested questions" group, chips gone after first message)
**Decisions**: kept the story's 4 default suggestions (all map to real docs: kubernetes/k3s, Borg backup, Deployments, per-service inventory); deflection group keeps `aria-label="Maybe try"`/`role=list` for Phase 04 compatibility; commit also records the harness's 04→complete/ move.
**Next pending phase**: `06_story_loading_feedback.md`