Files
kebab/tasks/p9/p9-fb-24-tui-affordances.md
altair823 774acc5c0d review(p9-fb-24): 회차 1 nit 반영 — 중복 inspect test, 카운트, sep 상수
회차 1 review (PR #97 회차 1) 의 4 건 actionable nit 모두 수렴.

- `crates/kebab-tui/tests/inspect.rs`: pre-fb-24 의 `page_keys_scroll_by_ten`
  이 신규 `page_down_scrolls_by_ten_in_inspect` + `page_up_rewinds_by_ten_saturating_in_inspect`
  와 중복 커버리지였음. 신규 두 테스트가 더 정밀 (PgUp 의 25→15→ 그 다음
  3→0 saturating 명시) 이라 기존을 삭제하고 신규로 대체. inspect 테스트
  -1 (14 → 13).
- `tasks/HOTFIXES.md`, `tasks/p9/p9-fb-24-tui-affordances.md`: 테스트
  카운트 `기존 720+` → `기존 695개 (cargo test --workspace -j 1 기준
  716 passed)` 정확화. 영속 기록.
- `crates/kebab-tui/src/run.rs`: status bar 의 magic string `"  │  "`
  를 `const STATUS_SEPARATOR: &str` 로 추출. docstring 의 rendered shape
  과 sync 보장 코멘트 추가.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-04 17:17:49 +00:00

2.3 KiB

phase, component, task_id, title, status, depends_on, unblocks, contract_source, contract_sections, source_feedback
phase component task_id title status depends_on unblocks contract_source contract_sections source_feedback
P9 kebab-tui p9-fb-24 TUI status/key bar + Library 컬럼 헤더 + Ask/Inspect PgUp/PgDn (post-merge dogfooding) completed
p9-fb-03
p9-fb-13
p9-fb-22
../../docs/superpowers/specs/2026-04-27-kebab-final-form-design.md
§1 UX
§10 UX
사용자 도그푸딩 2026-05-04 — Library 컬럼 의미 부재, 페이지 스크롤 키 부재, 항상 떠 있는 상태바 (버전 포함) 요청.

p9-fb-24 — TUI status/key bar + Library 헤더 + page scroll

상세 설계: docs/superpowers/specs/2026-05-04-p9-fb-24-tui-affordances-design.md. 구현 계획: docs/superpowers/plans/2026-05-04-p9-fb-24-tui-affordances.md.

Goal

  • bottom 영역을 2 row 로 분할 (status bar + key hint bar). 모든 모드 / pane 에서 항상 노출.
  • ingest progress 의 dedicated row 를 status bar 의 dynamic slot 으로 흡수.
  • Library doc list 위에 컬럼 헤더 row.
  • Ask + Inspect 양쪽에 PgUp / PgDn (fixed PAGE_STEP = 10).

Behavior contract

  • Status bar 좌→우: kebab v<version> │ <pane> │ <docs> docs │ [conv_<8hex>… │ ]<dynamic_status>.
  • Dynamic state cascade: streaming (Ask) → searching (Search) → indexing (Ingest) → idle.
  • conv_id (8-hex prefix + ellipsis) 는 Ask focused + (current_question 또는 turns) 일 때만.
  • Library 헤더: TITLE / TAGS / UPDATED / CHUNKS, Role::Heading. format_doc_row 와 boundary 일치.
  • Ask PgUp/PgDn: j/k 와 동일 follow_tail freeze. mode 무관.
  • Inspect PgUp/PgDn: 기존 +/-10 그대로 (단 PAGE_STEP 상수 참조).

Tests

  • status_bar 통합 10 (version / pane / docs / idle / streaming / searching / ingest absorb / Ask conv_id present / Ask conv_id absent / outside Ask).
  • library 통합 1 (헤더 row visible).
  • Ask 통합 3 (PgDn / PgUp / PgUp saturating + freeze follow_tail / PgDn from Insert).
  • Inspect 통합 2 (PAGE_STEP regression).
  • format_doc_header 단위 1.
  • 기존 695개 테스트 무수정 통과 (cargo test --workspace -j 1 기준 716 passed).

Risks / notes

  • PAGE_STEP = 10 magic — viewport-aware 후속 task 가능.
  • 60 컬럼 미만 터미널은 status bar wrap → 1 row 추가 차지.

Live deviations 반영 위치: tasks/HOTFIXES.md 2026-05-04 — p9-fb-24 항목.