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,10 @@
|
||||
All done. Final report:
|
||||
|
||||
**Task 01 complete — nav label swap + pre-existing defect remediation**
|
||||
|
||||
- **Swap as specced**: all six pages now render `#nav-sources` → "RAG", `#nav-git-sources` → "Sources"; ids/hrefs/`hidden`/`is-active` byte-identical; `header.js` changed in two comment blocks only.
|
||||
- **Gates**: 794 unit+integration passed; ruff clean; pyright 0 errors; `app/` coverage 99%.
|
||||
- **All 42 E2E suites run in isolation**: green except 3 label-text assertions (`test_mobile_hamburger_nav` LINK_TEXTS ×2, `test_git_sources_admin` ×1) — exactly task 02's scope, left untouched.
|
||||
- **Deviation (rule 8)**: the owner's ad-hoc commit `03bead0` (sync button → Sources page, New chat → chat page only, dark-red rebrand, steering-toggle removal) left 36 unit + ~20 E2E failures. Fixed one real bug: `sources.js` fed `fmtSyncResult(status)` instead of `status.detail` (all counts read 0).
|
||||
- **Stale-test updates beyond markup-only scope**: 5 unit files pinned to the new documented architecture; 15 E2E suites updated (rebrand palette pins `#0f0a0a`/`#1a0f0f`/`#2d0a0a`/`#fca5a5`, sync-trigger helpers navigate to `/sources.html`, New-chat presence asserts → chat-page-only, viewport-independent admin probe via `#nav-sources` reveal instead of bar sign-out visibility).
|
||||
- **Not done**: no commit (task 03 commits), `.agents/` untouched, task 02 not started.
|
||||
+61
@@ -0,0 +1,61 @@
|
||||
........................................................................ [ 9%]
|
||||
........................................................................ [ 18%]
|
||||
........................................................................ [ 27%]
|
||||
........................................................................ [ 36%]
|
||||
........................................................................ [ 45%]
|
||||
........................................................................ [ 54%]
|
||||
........................................................................ [ 63%]
|
||||
........................................................................ [ 72%]
|
||||
........................................................................ [ 81%]
|
||||
........................................................................ [ 90%]
|
||||
........................................................................ [ 99%]
|
||||
.. [100%]
|
||||
=============================== warnings summary ===============================
|
||||
.venv/lib/python3.13/site-packages/fastapi/testclient.py:1
|
||||
/var/home/ducoterra/Projects/Personal/brain_of_reese/.venv/lib/python3.13/site-packages/fastapi/testclient.py:1: StarletteDeprecationWarning: Using `httpx` with `starlette.testclient` is deprecated; install `httpx2` instead.
|
||||
from starlette.testclient import TestClient as TestClient # noqa
|
||||
|
||||
-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
|
||||
================================ tests coverage ================================
|
||||
_______________ coverage: platform linux, python 3.13.13-final-0 _______________
|
||||
|
||||
Name Stmts Miss Cover
|
||||
--------------------------------------------
|
||||
app/__init__.py 1 0 100%
|
||||
app/api/__init__.py 0 0 100%
|
||||
app/api/auth.py 22 0 100%
|
||||
app/api/chat.py 122 0 100%
|
||||
app/api/config.py 7 0 100%
|
||||
app/api/docs.py 23 0 100%
|
||||
app/api/git_sources.py 66 0 100%
|
||||
app/api/health.py 10 0 100%
|
||||
app/api/steering.py 42 0 100%
|
||||
app/api/suggestions.py 8 0 100%
|
||||
app/api/sync.py 81 0 100%
|
||||
app/config.py 71 0 100%
|
||||
app/core/__init__.py 0 0 100%
|
||||
app/core/auth.py 20 0 100%
|
||||
app/core/caching.py 92 0 100%
|
||||
app/core/debugging.py 29 2 93%
|
||||
app/core/logging.py 13 0 100%
|
||||
app/db.py 21 0 100%
|
||||
app/main.py 44 0 100%
|
||||
app/models.py 60 0 100%
|
||||
app/rag/__init__.py 0 0 100%
|
||||
app/rag/agent.py 72 0 100%
|
||||
app/rag/chunker.py 206 4 98%
|
||||
app/rag/git_sources.py 14 0 100%
|
||||
app/rag/importer.py 173 3 98%
|
||||
app/rag/llm.py 186 0 100%
|
||||
app/rag/overview.py 71 0 100%
|
||||
app/rag/prompts.py 65 0 100%
|
||||
app/rag/retriever.py 94 3 97%
|
||||
app/rag/suggestions.py 27 0 100%
|
||||
app/rag/summarizer.py 24 0 100%
|
||||
app/schemas.py 99 0 100%
|
||||
--------------------------------------------
|
||||
TOTAL 1763 12 99%
|
||||
coverage gate: app/ 99% (>90%) OK
|
||||
All checks passed!
|
||||
0 errors, 0 warnings, 0 informations
|
||||
validation OK
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
All gates green. Task 02 complete.
|
||||
|
||||
**Report — Phase 48, Task 02 (existing test labels)**
|
||||
|
||||
Implemented:
|
||||
- `test_git_sources_admin.py`: `to_have_text("Git sources")` → `"Sources"` + 2 label comments updated
|
||||
- `test_mobile_hamburger_nav.py`: `LINK_TEXTS` → `("Chat", "RAG", "Sources", "Tuning")` + 2 comment updates
|
||||
- Comments-only drift fixes: `test_shared_header.py` (docstring + section header → "RAG"), `test_nav_consistency.py` (2 comments, phase-35 history kept), `tests/unit/test_shared_header.py` (docstring)
|
||||
- Defect fixes in prior work (pre-existing failures): stale `querySelector("#sign-in-link")` unit assertion → `.sign-in-link` class-based toggle; stale viewport-dependent sign-in *visibility* probes in `test_mobile_hamburger_nav.py::_wait_settled_anonymous` and `test_shared_header.py::assert_shared_bar` → attribute-based `wait_for_function` (mirrors the existing admin probe; phase-46 CSS hides the bar copy at ≤640px)
|
||||
|
||||
Results (all green):
|
||||
- `uv run pytest tests/unit tests/integration -q` → 794 passed; `uv run pytest --cov=app` → TOTAL 99%
|
||||
- `uv run ruff check . && uv run pyright` → clean, 0 errors
|
||||
- Isolated E2E: `test_git_sources_admin.py` 6 passed, `test_mobile_hamburger_nav.py` 7 passed, `test_shared_header.py` 6, `test_nav_consistency.py` 6, `test_header_consistency.py` 3, `test_sources_midstream_bug.py` 4, `test_smoke.py` 3
|
||||
- Grep criterion: only phase-history comments quote "Git sources" ("then"/"shipped as") — none as the current label
|
||||
|
||||
Decisions: two comment-only fixes beyond the enumerated list (unit docstring; hamburger docstring line "clicking 'RAG'") — same drift class as work item 3. No commits/moves made (task 03 owns those).
|
||||
|
||||
Next pending task: `.agents/phases/todo/48_nav_rename_sources/03_story_e2e_regression_commit.md`
|
||||
+61
@@ -0,0 +1,61 @@
|
||||
........................................................................ [ 9%]
|
||||
........................................................................ [ 18%]
|
||||
........................................................................ [ 27%]
|
||||
........................................................................ [ 36%]
|
||||
........................................................................ [ 45%]
|
||||
........................................................................ [ 54%]
|
||||
........................................................................ [ 63%]
|
||||
........................................................................ [ 72%]
|
||||
........................................................................ [ 81%]
|
||||
........................................................................ [ 90%]
|
||||
........................................................................ [ 99%]
|
||||
.. [100%]
|
||||
=============================== warnings summary ===============================
|
||||
.venv/lib/python3.13/site-packages/fastapi/testclient.py:1
|
||||
/var/home/ducoterra/Projects/Personal/brain_of_reese/.venv/lib/python3.13/site-packages/fastapi/testclient.py:1: StarletteDeprecationWarning: Using `httpx` with `starlette.testclient` is deprecated; install `httpx2` instead.
|
||||
from starlette.testclient import TestClient as TestClient # noqa
|
||||
|
||||
-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
|
||||
================================ tests coverage ================================
|
||||
_______________ coverage: platform linux, python 3.13.13-final-0 _______________
|
||||
|
||||
Name Stmts Miss Cover
|
||||
--------------------------------------------
|
||||
app/__init__.py 1 0 100%
|
||||
app/api/__init__.py 0 0 100%
|
||||
app/api/auth.py 22 0 100%
|
||||
app/api/chat.py 122 0 100%
|
||||
app/api/config.py 7 0 100%
|
||||
app/api/docs.py 23 0 100%
|
||||
app/api/git_sources.py 66 0 100%
|
||||
app/api/health.py 10 0 100%
|
||||
app/api/steering.py 42 0 100%
|
||||
app/api/suggestions.py 8 0 100%
|
||||
app/api/sync.py 81 0 100%
|
||||
app/config.py 71 0 100%
|
||||
app/core/__init__.py 0 0 100%
|
||||
app/core/auth.py 20 0 100%
|
||||
app/core/caching.py 92 0 100%
|
||||
app/core/debugging.py 29 2 93%
|
||||
app/core/logging.py 13 0 100%
|
||||
app/db.py 21 0 100%
|
||||
app/main.py 44 0 100%
|
||||
app/models.py 60 0 100%
|
||||
app/rag/__init__.py 0 0 100%
|
||||
app/rag/agent.py 72 0 100%
|
||||
app/rag/chunker.py 206 4 98%
|
||||
app/rag/git_sources.py 14 0 100%
|
||||
app/rag/importer.py 173 3 98%
|
||||
app/rag/llm.py 186 0 100%
|
||||
app/rag/overview.py 71 0 100%
|
||||
app/rag/prompts.py 65 0 100%
|
||||
app/rag/retriever.py 94 3 97%
|
||||
app/rag/suggestions.py 27 0 100%
|
||||
app/rag/summarizer.py 24 0 100%
|
||||
app/schemas.py 99 0 100%
|
||||
--------------------------------------------
|
||||
TOTAL 1763 12 99%
|
||||
coverage gate: app/ 99% (>90%) OK
|
||||
All checks passed!
|
||||
0 errors, 0 warnings, 0 informations
|
||||
validation OK
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
**Phase 48 task 03 complete — all gates green, committed as `872a07c`.**
|
||||
|
||||
- Implemented `tests/e2e/test_nav_rename_sources.py` (4 tests: admin labels/order/markers on all six pages incl. login redirect-suppression + seeded viewer, click-navigation with `is-active`, anonymous ship-hidden contract, untouched `#sync-label`/`#doc-back` guards)
|
||||
- Story E2E in isolation: `uv run pytest tests/e2e/test_nav_rename_sources.py -v --no-cov` → **4 passed**
|
||||
- All 8 regression suites green in isolation: nav_consistency 6, shared_header 6, mobile_hamburger_nav 7, git_sources_admin 6, header_consistency 3, sources_midstream_bug 4, smoke 3, tuning_nav_link 4 — none needed further label fixes
|
||||
- `uv run pytest --cov=app --cov-report=term-missing` → **794 passed, TOTAL 99%** (>90%, unchanged — frontend-only); `uv run ruff check .` clean; `uv run pyright` → 0 errors
|
||||
- UI Structure Check: labeled `<a>`s in `<nav aria-label="Primary">` on all six pages, labels-only change, no CDN (no-CDN integration test green)
|
||||
- Decision: staged whole phase files per task; commit body notes the six pages + header.js also carry the owner's same-day in-flight header rework (mobile sign-in copy, sync ship-hidden) already in the tree
|
||||
- Committed 17 files (`--no-gpg-sign`): 6 HTML + header.js + 5 test files + story + moved `complete/48_nav_rename_sources`; `todo/` no longer lists 48
|
||||
- Next pending: phase **49_archive_upload_sources** (`.agents/phases/todo/`)
|
||||
+61
@@ -0,0 +1,61 @@
|
||||
........................................................................ [ 9%]
|
||||
........................................................................ [ 18%]
|
||||
........................................................................ [ 27%]
|
||||
........................................................................ [ 36%]
|
||||
........................................................................ [ 45%]
|
||||
........................................................................ [ 54%]
|
||||
........................................................................ [ 63%]
|
||||
........................................................................ [ 72%]
|
||||
........................................................................ [ 81%]
|
||||
........................................................................ [ 90%]
|
||||
........................................................................ [ 99%]
|
||||
.. [100%]
|
||||
=============================== warnings summary ===============================
|
||||
.venv/lib/python3.13/site-packages/fastapi/testclient.py:1
|
||||
/var/home/ducoterra/Projects/Personal/brain_of_reese/.venv/lib/python3.13/site-packages/fastapi/testclient.py:1: StarletteDeprecationWarning: Using `httpx` with `starlette.testclient` is deprecated; install `httpx2` instead.
|
||||
from starlette.testclient import TestClient as TestClient # noqa
|
||||
|
||||
-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
|
||||
================================ tests coverage ================================
|
||||
_______________ coverage: platform linux, python 3.13.13-final-0 _______________
|
||||
|
||||
Name Stmts Miss Cover
|
||||
--------------------------------------------
|
||||
app/__init__.py 1 0 100%
|
||||
app/api/__init__.py 0 0 100%
|
||||
app/api/auth.py 22 0 100%
|
||||
app/api/chat.py 122 0 100%
|
||||
app/api/config.py 7 0 100%
|
||||
app/api/docs.py 23 0 100%
|
||||
app/api/git_sources.py 66 0 100%
|
||||
app/api/health.py 10 0 100%
|
||||
app/api/steering.py 42 0 100%
|
||||
app/api/suggestions.py 8 0 100%
|
||||
app/api/sync.py 81 0 100%
|
||||
app/config.py 71 0 100%
|
||||
app/core/__init__.py 0 0 100%
|
||||
app/core/auth.py 20 0 100%
|
||||
app/core/caching.py 92 0 100%
|
||||
app/core/debugging.py 29 2 93%
|
||||
app/core/logging.py 13 0 100%
|
||||
app/db.py 21 0 100%
|
||||
app/main.py 44 0 100%
|
||||
app/models.py 60 0 100%
|
||||
app/rag/__init__.py 0 0 100%
|
||||
app/rag/agent.py 72 0 100%
|
||||
app/rag/chunker.py 206 4 98%
|
||||
app/rag/git_sources.py 14 0 100%
|
||||
app/rag/importer.py 173 3 98%
|
||||
app/rag/llm.py 186 0 100%
|
||||
app/rag/overview.py 71 0 100%
|
||||
app/rag/prompts.py 65 0 100%
|
||||
app/rag/retriever.py 94 3 97%
|
||||
app/rag/suggestions.py 27 0 100%
|
||||
app/rag/summarizer.py 24 0 100%
|
||||
app/schemas.py 99 0 100%
|
||||
--------------------------------------------
|
||||
TOTAL 1763 12 99%
|
||||
coverage gate: app/ 99% (>90%) OK
|
||||
All checks passed!
|
||||
0 errors, 0 warnings, 0 informations
|
||||
validation OK
|
||||
Reference in New Issue
Block a user