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.
1.5 KiB
1.5 KiB
Working tree clean, phase committed. Final report:
Phase 14 — Chat persistence: complete
app.js: conversation model + save/restore/clear onbor.chat.v1(raw text only, re-rendered through escape-first markdown; user saved on send, brain ondonewith sources/deflected/suggestions; 700k-char budget dropping oldest first; every localStorage access try/catch'd; failed turns keep the question)#new-chat-btnghost pill in chat header (icon-only ≤640px, aria-label, ≥44px), clears key + list, restores empty state, confirms via#send-statuslive region; ignored mid-turnindex.html/styles.css: button + Phase-08 tokens, header layout viamargin-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 passeduv 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