chore(agent): track .agent/ planning tree in git
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:
+14
@@ -0,0 +1,14 @@
|
||||
Task complete. Final report:
|
||||
|
||||
**Phase 22 / Task 01 — done**
|
||||
|
||||
- **Diagnosed (measured, not assumed):** grid drift was real (0.86→13.2px/16.8s = spec'd 44px/60s) but imperceptible — 35%-alpha lines (≈10–18/255) masked to top ~25%, 0.73px/s → grid-zone 5s pixel diff mean 0.48/765; only the glow's 0.65↔1 swing was visible → the "blink". Occlusion disproven (red-line probe renders).
|
||||
- **Fix (styles.css, pure CSS, zero JS, no blur, palette untouched):** grid lines 0.35→0.6 alpha; mask `120% 90%/25%/78%` → `140% 110%/40%/90%`; glow opacity 0.65↔1 → 0.85↔1. Durations kept at 60s/14s (owner-confirmed design + phase-08 E2E pins live durations).
|
||||
- **After:** grid-only 5s diff 0.48→1.82 (3.8×), present in all quadrants (was ~0 bottom-half); full-frame changed px 1.4%→4.2%, motion distributed.
|
||||
- `uv run pytest tests/unit/test_background_animation.py -v --no-cov` → 10 passed (new source pins)
|
||||
- `uv run pytest --cov=app` → 329 passed, app coverage **99%**
|
||||
- `uv run ruff check . && uv run pyright` → clean (0 errors)
|
||||
- Regressions in isolation: `test_dark_tech_theme.py` 6/6, `test_responsive_polish.py` 7/7
|
||||
- Root cause + numbers in `.agent/reports/22_background_animation/report.md`; before/after frames + per-layer/occlusion screenshots in `.agent/screenshots/22_background_animation/`
|
||||
- **Deviation:** none; kept 60s/14s deliberately (smallest fix matching found cause; avoids breaking phase-08 gate)
|
||||
- **Next pending task:** `02_e2e_story_suite_commit.md` (E2E story suite, regressions, story file, atomic commit, phase move)
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
........................................................................ [ 21%]
|
||||
........................................................................ [ 43%]
|
||||
........................................................................ [ 65%]
|
||||
........................................................................ [ 87%]
|
||||
......................................... [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 95 0 100%
|
||||
app/api/docs.py 23 0 100%
|
||||
app/api/health.py 10 0 100%
|
||||
app/api/steering.py 33 0 100%
|
||||
app/api/suggestions.py 8 0 100%
|
||||
app/config.py 56 0 100%
|
||||
app/core/__init__.py 0 0 100%
|
||||
app/core/auth.py 20 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 36 0 100%
|
||||
app/models.py 46 0 100%
|
||||
app/rag/__init__.py 0 0 100%
|
||||
app/rag/chunker.py 206 4 98%
|
||||
app/rag/importer.py 150 5 97%
|
||||
app/rag/llm.py 105 0 100%
|
||||
app/rag/prompts.py 44 0 100%
|
||||
app/rag/retriever.py 102 3 97%
|
||||
app/rag/suggestions.py 27 0 100%
|
||||
app/schemas.py 62 0 100%
|
||||
--------------------------------------------
|
||||
TOTAL 1109 14 99%
|
||||
coverage gate: app/ 99% (>90%) OK
|
||||
All checks passed!
|
||||
0 errors, 0 warnings, 0 informations
|
||||
validation OK
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
All green. Final report:
|
||||
|
||||
**Phase 22 / Task 02 complete**
|
||||
|
||||
- `tests/e2e/test_background_animation.py` (new, 5 tests): grid/glow layers running (`bg-grid-drift` linear infinite / `bg-glow-breathe`, `playState === "running"`), `currentTime` advances over 500ms (both timelines live), layer contracts (fixed, z-index −1, pointer-events none, inset 0, html canvas `rgb(10,14,23)`, body transparent), 360px no-overflow pin.
|
||||
- `.agent/user_stories/background-animation.md` (new): verbatim bug report, A3 decisions, found root cause, fix table, mapping table.
|
||||
- Phase report finished (E2E results, UI Structure Check, final screenshots `final_frame1/2.png` + `final_360px.png`).
|
||||
|
||||
**Results (final state):**
|
||||
- `uv run pytest tests/e2e/test_background_animation.py -v --no-cov` → **5 passed** (4× stable, db up)
|
||||
- Regressions isolated: `test_dark_tech_theme.py` **6 passed**, `test_responsive_polish.py` **7 passed**
|
||||
- `uv run pytest` → **329 passed**; `uv run pytest --cov=app` → **99%** (≥90%); `uv run ruff check . && uv run pyright` → **clean**
|
||||
|
||||
**Deviations:** (1) task assumed `document.body.getAnimations()` reports pseudo-element animations — false on Chromium 151 (returns `[]`); suite uses `document.getAnimations()` matched by `animationName` (documented in suite + report). (2) headless document timeline starts ~1.4s post-load, so the advance test polls until alive first. (3) phase's literal `git add -A .agent/` is impossible (gitignored) — used `git add -f` on phase-scoped files per AGENTS.md rule 8; `TODO.md` (owner's new item) left uncommitted.
|
||||
|
||||
**Commit:** `0adc9b5 fix(ui): animated background actually animates — grid drift and glow breathe per the phase-08 design` (24 files); phase moved to `.agent/phases/complete/22_background_animation/`.
|
||||
|
||||
**Next pending:** `todo/23_containerfile_build/01_fix_containerfile_build.md`.
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
........................................................................ [ 21%]
|
||||
........................................................................ [ 43%]
|
||||
........................................................................ [ 65%]
|
||||
........................................................................ [ 87%]
|
||||
......................................... [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 95 0 100%
|
||||
app/api/docs.py 23 0 100%
|
||||
app/api/health.py 10 0 100%
|
||||
app/api/steering.py 33 0 100%
|
||||
app/api/suggestions.py 8 0 100%
|
||||
app/config.py 56 0 100%
|
||||
app/core/__init__.py 0 0 100%
|
||||
app/core/auth.py 20 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 36 0 100%
|
||||
app/models.py 46 0 100%
|
||||
app/rag/__init__.py 0 0 100%
|
||||
app/rag/chunker.py 206 4 98%
|
||||
app/rag/importer.py 150 5 97%
|
||||
app/rag/llm.py 105 0 100%
|
||||
app/rag/prompts.py 44 0 100%
|
||||
app/rag/retriever.py 102 3 97%
|
||||
app/rag/suggestions.py 27 0 100%
|
||||
app/schemas.py 62 0 100%
|
||||
--------------------------------------------
|
||||
TOTAL 1109 14 99%
|
||||
coverage gate: app/ 99% (>90%) OK
|
||||
All checks passed!
|
||||
0 errors, 0 warnings, 0 informations
|
||||
validation OK
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
**Phase 22 / Task 02 — complete (re-verified after harness rejection; prior work had persisted: commit `0adc9b5`, phase already in `complete/`).**
|
||||
|
||||
- Implemented (previous attempt, now re-verified): `tests/e2e/test_background_animation.py` (5 tests — grid/glow layers running via computed style + Web Animations API, `currentTime` advances, layer contracts fixed/z-index −1/pointer-events none/inset 0 + html canvas/body transparent, 360px no-overflow), `.agent/user_stories/background-animation.md`, finished phase report with final screenshots.
|
||||
- `uv run pytest tests/e2e/test_background_animation.py -v --no-cov` → **5 passed** (isolated, db healthy)
|
||||
- Regressions isolated: `test_dark_tech_theme.py` **6 passed**; `test_responsive_polish.py` **7 passed**
|
||||
- `uv run pytest --cov=app --cov-report=term-missing` → **329 passed, app coverage 99%** (≥90%)
|
||||
- `uv run ruff check .` → clean; `uv run pyright` → 0 errors
|
||||
- Cleanup: removed leftover temp files; no stray dev/E2E servers on 8123/8901/8199 (the earlier rejection was the child run not submitting a report — no code defect found).
|
||||
- **Deviations (documented in suite + report):** pseudo-element CSS animations enumerate in `document.getAnimations()`, not `document.body.getAnimations()` (verified Chromium 151); headless animation timeline starts ~1.4s post-load, so the advance test polls until alive; `git add -f .agent/…` used (gitignored) per AGENTS.md rule 8; `TODO.md` (owner's new item) intentionally uncommitted.
|
||||
- Commit: `0adc9b5 fix(ui): animated background actually animates — grid drift and glow breathe per the phase-08 design` (24 files, `--no-gpg-sign`); phase dir in `.agent/phases/complete/22_background_animation/`.
|
||||
|
||||
**Next pending task:** `.agent/phases/todo/23_containerfile_build/01_fix_containerfile_build.md`.
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
........................................................................ [ 21%]
|
||||
........................................................................ [ 43%]
|
||||
........................................................................ [ 65%]
|
||||
........................................................................ [ 87%]
|
||||
......................................... [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 95 0 100%
|
||||
app/api/docs.py 23 0 100%
|
||||
app/api/health.py 10 0 100%
|
||||
app/api/steering.py 33 0 100%
|
||||
app/api/suggestions.py 8 0 100%
|
||||
app/config.py 56 0 100%
|
||||
app/core/__init__.py 0 0 100%
|
||||
app/core/auth.py 20 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 36 0 100%
|
||||
app/models.py 46 0 100%
|
||||
app/rag/__init__.py 0 0 100%
|
||||
app/rag/chunker.py 206 4 98%
|
||||
app/rag/importer.py 150 5 97%
|
||||
app/rag/llm.py 105 0 100%
|
||||
app/rag/prompts.py 44 0 100%
|
||||
app/rag/retriever.py 102 3 97%
|
||||
app/rag/suggestions.py 27 0 100%
|
||||
app/schemas.py 62 0 100%
|
||||
--------------------------------------------
|
||||
TOTAL 1109 14 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