Files
PodTui/tasks/yazi-remake/07-verify-remake.md
2026-07-31 09:27:57 -04:00

2.9 KiB

07. Verify the remake — build + diagnostics + harness walk-through

meta: id: yazi-remake-07 feature: yazi-remake priority: P1 depends_on: [yazi-remake-03, yazi-remake-04, yazi-remake-05, yazi-remake-06] tags: [verification, tests-required]

objective:

  • Confirm the yazi remake meets every exit criterion via a clean build, zero diagnostics, and a full harness walk-through of every tab and depth.

deliverables:

  • A passing bun run build
  • lens_diagnostics mode=all with zero errors across edited files
  • Harness frames + state proving the parent|current|preview 1:3:3 layout, drill/pop behaviour, tab switching, and status bar across all six tabs

steps:

  • Run bun run build — expect "Build complete"
  • Run lens_diagnostics mode=all severity=error — expect 0 findings across all session-edited files
  • Run the drive harness (scripts/tui-harness.tsx) walk-through:
    • init → confirm no sidebar, 3 columns at 1:3:3, focus on current, bottom tab strip visible
    • Feed: l (depth 0→1, parent fills) → l (1→2) → h (2→1) → h (1→0, parent blanks) ; j/k move current
    • 2 → MyShows: drill show→episodes, parent reflects
    • 3 → Discover: category→results, parent shows categories
    • 6 → Settings: sections→items→editor, parent shows the previous list at each depth
    • 4 → Search: query|results|detail at 1:3:3; type + Enter works
    • 5 → Player: blank|transport|notes at 1:3:3
  • Capture the status bar content (active tab + depth + counts + now-playing + tab strip) from a representative frame

tests:

  • Build: bun run build exits 0 with "Build complete"
  • Diagnostics: lens_diagnostics mode=all → 0 errors
  • Harness (integration/e2e): the walk-through above produces the expected frames & state (parent blank at depth 0, populates on drill, blanks on pop; digits switch tabs; h noop at depth 0)

acceptance_criteria:

  • bun run build passes
  • lens_diagnostics mode=all reports zero errors
  • All six tabs render 3 stable columns at 1:3:3
  • Parent pane is blank at depth 0; drill fills it with the previous-depth list; pop empties it
  • h is a noop at depth 0; l drills; 1-6/[/] switch tabs; j/k move current only
  • No sidebar; focus starts on current; bottom bar shows active tab + depth + counts + tab strip

validation:

  • bun run build 2>&1 | tail -3 → "Build complete"
  • lens_diagnostics mode=all severity=error → "No error issues…"
  • Harness state nav after init shows pane === 0 (current), not -1
  • Harness frames for Feed depth 0/1/2 show the parent slot transition blank→list→list

notes:

  • This is the gate for the whole feature — do not mark done if any criterion fails; open a blocker task instead
  • If the harness reveals a visual regression (e.g. parent collapses, ratios off), file it against the responsible task (02 or 03) rather than patching here
  • Save a representative .harness/last-frame.txt snapshot if a visual reference is useful for future sessions