Files
brain-of-reese/.agent/phases/complete/58_wide_desktop_column/00_phase.md
T
ducoterra 4971e2859d
Build and Push Containers / build-and-push-app (push) Successful in 12s
Build and Push Containers / build-and-push-db (push) Successful in 10s
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.
2026-09-01 10:18:22 -04:00

3.8 KiB
Raw Blame History

Phase 58 — 2× Reading Column on Wide Desktops

Source: TODO.md L5 — "The chat response needs to be 2x wider on wide desktops. there's a lot of unused space." Story: n/a (TODO-derived — owner roadmap confirmation 2026-08-31, D2 + owner expansion: the document view widens too) Context: The 46rem reading column is hard-coded in four places in frontend/assets/styles.css: .chat-shell (~L399), .shared-shell (~L2153), .doc-md (~L2319) and .doc-summary:has(+ .doc-md) (~L2369). A fifth 46rem column, .tuning-shell (~L903), is out of scope (it is a form, not a reading surface). Surrounding block comments reference the PLAN §7 "46rem column" contract — comments get updated to note the wide override; .agent/PLAN.md does not exist in this repo (removed by owner, commit 281f355) and AGENTS.md is not touched per protocol — the owner's new instruction supersedes the old "46rem" wording.

Objective

On wide desktops the chat reading column (incl. the shared chat view) and the document reading column are 2× — 92rem — while everything below the wide breakpoint renders exactly as today.

Dependencies

  • 57_edit_document_summaries (todo, preceding)

Tasks

  1. 01_wide_column_css.md — --chat-column custom property (46rem base) + @media (min-width: 1500px) override to 92rem; the four selectors switch to the property; comments updated; unit CSS pins.
  2. 02_e2e_wide_column.md — measured-width Playwright proof at 1920px vs 1280px (chat, document, shared) + regressions + the atomic commit.

Testing & Quality

  • Unit CSS pins (house style, tests/unit/test_save_chat_ui.py pattern): --chat-column: 46rem in :root; a min-width: 1500px media block setting it to 92rem; the four selectors use var(--chat-column); .tuning-shell still hard-coded 46rem (negative pin).
  • E2E (mandatory, A16): tests/e2e/test_wide_desktop_column.py, run in isolation (bounding-box width assertions).
  • Coverage: >90% on app/ (validate.sh gate — pure-CSS phase, gate still runs).

Completion Criteria

  • At 1920×1080: .chat-shell (chat page), .shared-shell (/shared/<token>), and .doc-md (document viewer) are ~1472px (92rem ±4); the .doc-summary panel matches the column when present.
  • At 1280×800: all of the above are ~736px (46rem ±4) — and at 360px/900px the existing mobile/tablet rules are byte-for-byte untouched (no horizontal overflow at 360px).
  • .tuning-shell stays 46rem at every width.
  • uv run pytest green; coverage TOTAL >90%.
  • uv run pytest tests/e2e/test_wide_desktop_column.py -v --no-cov green in isolation (DB up).
  • Regression E2E suites green in isolation: test_responsive_polish.py, test_smoke.py, test_document_viewer.py, test_markdown_tables.py, test_shared_header.py.
  • uv run ruff check . && uv run pyright clean.
  • One --no-gpg-sign commit; phase dir moved to .agent/phases/complete/ (.agent/ stays untracked — owner instruction, commit 281f355).

Locked decisions

  • Owner-locked (2026-08-31, roadmap confirmation, D2 + expansion):
    1. Wide desktop = viewport min-width: 1500px; the reading column becomes 92rem (2× 46rem).
    2. Scope: .chat-shell, .shared-shell, .doc-md, .doc-summary:has(+ .doc-md) — the owner explicitly extended the TODO's "chat response" to the document view as well.
    3. .tuning-shell (and every other 46rem surface) is unchanged; mobile/tablet breakpoints are untouched.
  • Block comments in styles.css that cite the "46rem contract" are updated to name the base value + the wide override (owner instruction 2026-08-31, TODO L5) — no other file outside frontend/ + tests/ changes.

Commit

git add frontend/ tests/ && git commit --no-gpg-sign -m "feat(web): 2x reading column on wide desktops — 92rem at >=1500px (chat, shared, document view)"