phase: 150_drop_sync_result
**Phase 150 final verification pass — complete, 100% green.** All 6 task files were already in `complete/`, so this was verification + doc pass. - Verified: `#sync-progress` is the sole sync text surface + sole `aria-live` region (`role="status"`, polite, no `aria-hidden`); `span#sync-result` gone from HTML/JS/CSS/tests (incl. runtime-built `RETIRED_ID` absence pins in the unit suites); `setSyncProgress` single writer with text-driven visibility; running-only box write in `setSyncLabel`; all 9 settle/cancel sites routed; `requestCancel` pre-fetch clear is a NO-OP. - Tests: `uv run pytest` → **3463 passed**; `uv run pytest --cov=app` → **99% on app/** (>90%); `uv run ruff check .` + `uv run pyright` → clean (0 errors); `tests/e2e/test_sync_progress_box.py --no-cov` → **8 passed in isolation**; all 18 migrated sync/image-PDF E2E files green in isolation (77 tests). - Completion criteria: 1) grep clean ✅ 2) sole live region, attrs correct ✅ 3) in-flight/settle/cancel/idle box states proven by E2E + unit pins ✅ 4) icon-only running button + restore ✅ 5) full gates green ✅ 6) no completed-phase behavior change (18 family suites + full suite green) ✅ 7) commit — left to harness per pass instructions (working tree untouched, no `git add`/`commit`). - Documentation: README.md fixed 2 pre-existing inconsistencies (stale `~/Homelab`+`~/Deployments` source model in the intro — retired in phase 61 — now describes the git/local/archive Sources model; "Requires AIPI_KEY" in retrieval-quality now states `BOR_LLM_API_KEY` in `.env` or `$AIPI_KEY`, matching the scripts' real convention). Everything else (URL table, env defaults vs `app/config.py`, sync/phase-150 copy, prod claims) verified accurate. AGENTS.md: verified consistent — no changes needed. - Notable: no code changes were required — the phase implementation was correct as left; no live infrastructure touched. - Next pending phase: `151_pdf_image_extraction` in `.agents/phases/todo/`.
This commit is contained in:
@@ -76,8 +76,9 @@ Test → observable mapping (Playwright Mapping Rule):
|
||||
pinned count part ``(n/3)`` — the asserted text is the RENDERED
|
||||
DOM parts, with the button ``title`` riding the full untruncated
|
||||
string, main + " " + count — A4); on settle the button reads the
|
||||
terminal ``Synced HH:MM`` (the phase-32 contract) and
|
||||
``#sync-result`` carries the counts line.
|
||||
terminal ``Synced HH:MM`` (the phase-32 contract) and the
|
||||
``#sync-progress`` box carries the counts line (phase 150: the box
|
||||
is the single sync text surface).
|
||||
3. ``test_missing_folder_summaries_read_as_pending_and_self_heal``
|
||||
(tree — the fast mock leg): after a successful sync (every
|
||||
candidate stores its canned line) NO marker is anywhere; DELETE
|
||||
@@ -733,9 +734,10 @@ def test_sync_button_names_the_summary_phase(
|
||||
the detail box (phase 149: the running label rides #sync-progress
|
||||
under the button row; the button is the spinner) with the button
|
||||
``title`` carrying the same full untruncated string (A4 — one
|
||||
source, two surfaces); on settle the box hides, the button shows
|
||||
the terminal ``Synced HH:MM`` (the phase-32 contract) and
|
||||
``#sync-result`` carries the counts line. The prelude/import labels
|
||||
source, two surfaces); on settle the box STAYS visible with the
|
||||
counts line (phase 150: the settle's result line is the box's —
|
||||
the single sync text surface), the button shows the terminal
|
||||
``Synced HH:MM`` (the phase-32 contract). The prelude/import labels
|
||||
stay the phase-64 shape (the endpoint test pins those phases; the
|
||||
UI pins the new summaries label)."""
|
||||
page.set_default_timeout(30_000)
|
||||
@@ -802,7 +804,8 @@ def test_sync_button_names_the_summary_phase(
|
||||
)
|
||||
expect(btn).to_be_enabled()
|
||||
expect(btn).not_to_have_attribute("aria-busy")
|
||||
expect(page.locator("#sync-result")).to_have_text(f"{N_FILES} added")
|
||||
# The counts line rides the box (phase 150 — the sole sync surface).
|
||||
expect(page.locator("#sync-progress-text")).to_have_text(f"{N_FILES} added")
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user