Compact Mode Cleanup Step 4 Implementation Summary

Stage 1 - Establish compact-mode baseline

  • Changes:

    • Added a focused stylesheet contract test for the existing compact thread-list selectors and Word97 compact override boundary.

    • Confirmed the current board controls, compact composer, thread-list markup, and stylesheet cascade before implementation changes.

  • Verification:

    • php tests/run.php LocalAppSmokeTest::testCompactModeMenuStylesUseScopedDensitySelectors

    • git diff --check -- tests/LocalAppSmokeTest.php

    • Baseline focused test passed.

  • Notes:

    • The existing compact-mode implementation remains unchanged in this stage.

    • Unrelated worktree changes remain unstaged.

Stage 2 - Flush compact controls and composer

  • Changes:

    • Removed compact-mode card chrome from the board controls container while leaving its navigation links unchanged.

    • Added compact-mode overrides for composer padding and the inline prompt surface.

    • Removed the compact stack gaps immediately around the composer so it aligns with the surrounding list surface.

  • Verification:

    • php tests/run.php LocalAppSmokeTest::testCompactModeMenuStylesUseScopedDensitySelectors

    • git diff --check -- public/assets/site.css tests/LocalAppSmokeTest.php

    • Focused compact-mode test passed.

  • Notes:

    • All selectors are scoped to the compact density attribute and existing board/thread-list markup.

Stage 3 - Remove compact thread-list side rails

  • Changes:

    • Removed only the left and right borders from direct cards in the compact thread-list surface.

    • Kept the cards' top and bottom borders so row separators remain visible.

    • Extended the focused stylesheet contract test for the side-border rules.

  • Verification:

    • php tests/run.php LocalAppSmokeTest::testCompactModeMenuStylesUseScopedDensitySelectors

    • git diff --check -- public/assets/site.css tests/LocalAppSmokeTest.php

    • php tests/run.php

    • Focused test and diff check passed. The full suite completed with unrelated existing failures involving missing profile/template fixtures, public-key fixture expectations, a SQLite schema fixture, an existing undefined CSS variable in a SQLite viewer test, and the execution-lock timing test.

  • Notes:

    • The side-border change is limited to compact thread-list cards; comfortable mode and other pages are unchanged.