refactor(agents): migrate .agent/ planning tree to .agents/
Standardize on the .agents/ directory (shared with project skills): phases/, user_stories/, reports/, screenshots/, validate.sh, and phase-sessions/ + pipeline.log all move to .agents/ (git mv preserves history; runtime artifacts move alongside). Updates every reference in AGENTS.md, README.md, .gitignore, app docstrings, and test story headers. Historical KB content in data/ and the runtime pipeline.log transcript are left untouched.
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
Phase 15 complete. Final report:
|
||||
|
||||
**Implemented**
|
||||
- `steering_notes` table (migration 0003, applied) + `SteeringNote` model + `BOR_STEERING_MAX_CHARS` setting
|
||||
- Stateless CRUD: `GET/POST /api/steering` (trimmed, 1–2000 chars, 201/422), `DELETE /api/steering/{id}` (204/404), newest-first list
|
||||
- `<tuning>` prompt section (numbered, budget-capped with `[…truncated…]`) in **both** HIGH and DEFLECT prompts, between `<relevance>` and the mode body; zero-note prompts byte-identical to before; per-turn log gains `tuning=N`
|
||||
- E2E mock echoes first tuning note as ` (tuning: …)` suffix
|
||||
- UI: Tune button in every completed brain bubble's meta row (≥44px), inline labeled form (maxlength 2000, keep-on-failure error `role=alert`, `.tune-saved` `role=status`), header "Tuning" toggle + count badge + panel (region, newest-first, labeled per-note delete, polite live-region announcer), text-only note rendering (XSS-safe), Phase-08 tokens
|
||||
- README "Tuning your answers" + config rows; owner's persona edits applied (no "you've got this", no mandated deflection opening) with verbatim test aligned
|
||||
|
||||
**Gates**
|
||||
- `uv run pytest --cov=app --cov-report=term-missing` → 241 passed, **99%** (was 98.9% pre-phase)
|
||||
- `uv run ruff check .` → clean; `uv run pyright` → 0 errors
|
||||
- `uv run pytest tests/e2e/test_steering.py -v --no-cov` → 4 passed; regressions `test_chat_rag`/`test_honest_deflection`/`test_retrieval_quality` + all 13 other E2E suites green in isolation
|
||||
- Committed: `fc0d9a2 feat(rag): steering notes — tune how Brain answers…` (`--no-gpg-sign`)
|
||||
|
||||
**Decisions/deviations**
|
||||
- `.agents/PLAN.md` untouched (harness rule overrides phase step 7) — the PLAN §6 persona revision is recorded in `app/rag/prompts.py` + test docstrings instead; §4/§5/§7.5/§9/roadmap rows still need the harness/owner update
|
||||
- Owner's persona edits weren't present in the (clean) working tree; I applied exactly the two documented edits
|
||||
- Unit file named `test_steering_prompts.py` (basename collision with integration `test_steering.py`); killed a stale pre-change uvicorn squatting on port 8123 that initially masked E2E results
|
||||
|
||||
**Next pending phase:** none — `todo/` is empty.
|
||||
Reference in New Issue
Block a user