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,42 @@
|
||||
# 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; `.agents/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 `.agents/phases/complete/` (`.agents/` 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
|
||||
```bash
|
||||
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)"
|
||||
```
|
||||
Reference in New Issue
Block a user