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
+17
View File
@@ -0,0 +1,17 @@
Working tree clean, phase committed. Final report:
**Phase 14 — Chat persistence: complete**
- `app.js`: conversation model + save/restore/clear on `bor.chat.v1` (raw text only, re-rendered through escape-first markdown; user saved on send, brain on `done` with sources/deflected/suggestions; 700k-char budget dropping oldest first; every localStorage access try/catch'd; failed turns keep the question)
- `#new-chat-btn` ghost pill in chat header (icon-only ≤640px, aria-label, ≥44px), clears key + list, restores empty state, confirms via `#send-status` live region; ignored mid-turn
- `index.html`/`styles.css`: button + Phase-08 tokens, header layout via `margin-left:auto` (Sources header unchanged)
- Tests: new `tests/e2e/test_chat_persistence.py` (4 story-mapped tests) + `tests/unit/test_chat_persistence.py` (8 contract pins incl. structural try/catch check)
**Results**
- `uv run pytest tests/unit tests/integration` → 211 passed
- `uv run pytest --cov=app` → **99%** (gate >90%)
- `uv run ruff check .` + `uv run pyright` → clean, 0 errors
- Story E2E `tests/e2e/test_chat_persistence.py -v --no-cov` → 4 passed; all 15 E2E suites green in isolation (incl. regressions: chat_rag 3, suggestion_chips 4, loading_feedback 5, header_consistency 3, responsive_polish 7 — no 360px overflow)
- Commit `19df7df` (`--no-gpg-sign`)
**Deviations:** phase step 4 asks for PLAN §7.5/§7.4 notes, but harness rules forbid editing `.agent/PLAN.md` — left for the harness.
**Next pending phase:** `15_steering_notes.md`