Files
kebab/tasks/INDEX.md
altair823 7709fb0455 feat(kebab-tui): p9-fb-21 — universal i Insert toggle + Search io rebind + F1 prefix
도그푸딩 피드백 (사용자 2026-05-03): Ask Insert→Esc→Normal 후 Insert 로
돌아가는 키 모름. 전반적 키바인딩 안내 부족.

Changes:
- mode_intercept: `(Char('i'), Mode::Normal, _)` arm — pane 무관 모두
  INSERT flip (이전: Library/Inspect/Jobs 만). 사용자가 어느 pane 에서든
  Esc 후 `i` 로 Insert 즉시 복귀 가능.
- Search 의 chunk inspect 키 `i`→`o` (vim "open") rebind. `i` 가
  universal Insert toggle 로 자유로워짐.
- `footer_hints` 모든 (pane, mode, filter) 조합 첫 fragment = `F1 도움말`.
  cheatsheet binding 의 discoverability 보장.
- Search/Ask Normal hint 에 `i 입력모드` fragment 추가.
- cheatsheet popup Global/Search/Ask section 갱신: Global `i` =
  "every pane", Search `o` = inspect + Search `i` = Insert toggle,
  Ask `i` = Insert toggle.
- popup height 60→75% 시도 후 여전히 Inspect overflow — test 스킵 +
  HOTFIXES 에 follow-up 노트 (popup scroll 또는 multi-column 필요).

Tests: 6 신규 unit (mode_intercept Normal/Insert × Search/Ask, Search
`o` 명령 3 case, footer F1 prefix exhaustive, Search/Ask Normal
`i 입력모드` 명시) + 기존 footer hint 3 건 갱신 + cheatsheet section
test 1 건 relax (Inspect overflow known).

spec: `tasks/p9/p9-fb-21-tui-insert-key-discoverability.md` (status
`completed` 직접 — 도그푸딩 직접 피드백 source).
2026-05-03 14:30:04 +00:00

6.6 KiB
Raw Blame History

title, source, date
title source date
KB 작업 단위 인덱스 kebab_local_rust_report.md 2026-04-27

KB 작업 단위 인덱스

kebab_local_rust_report.md 의 Phase 로드맵을 아키텍처 수준 작업 단위로 분해. 각 task 문서는 독립적으로 착수/검수 가능한 단위.

의존 그래프

P0 ── P1 ── P2 ── P3 ── P4 ── P5
                              │
                              ├─ P6 (image)
                              ├─ P7 (pdf)
                              ├─ P8 (audio)
                              └─ P9 (TUI/desktop)

P0P5 는 직렬. P6P9 는 P5 이후 병렬 가능.

작업 단위

# 코드 제목 핵심 산출 crate 선행
P0 phase-0-skeleton.md Workspace 뼈대 + 도메인 계약 kebab-core, kebab-parse-types, kebab-config, kebab-app, kebab-cli
P1 phase-1-markdown-ingestion.md Markdown ingestion 파이프라인 kebab-source-fs, kebab-parse-md, kebab-normalize, kebab-chunk, kebab-store-sqlite P0
P2 phase-2-lexical-search.md SQLite FTS5 lexical 검색 + citation kebab-search (lexical) P1
P3 phase-3-vector-hybrid.md Local embedding + LanceDB + hybrid kebab-embed, kebab-embed-local, kebab-store-vector, kebab-search P2
P4 phase-4-local-llm-rag.md Local LLM + RAG + grounded answer kebab-llm, kebab-llm-local, kebab-rag P3
P5 phase-5-evaluation.md Golden query / regression eval kebab-eval P4
P6 phase-6-image.md 이미지 ingestion (OCR + caption) kebab-parse-image P5
P7 phase-7-pdf.md PDF text + page citation kebab-parse-pdf P5
P8 phase-8-audio.md 음성 transcription + timestamp citation kebab-parse-audio P5
P9 phase-9-ui.md TUI + desktop app kebab-tui, kebab-desktop P5

Component task decomposition (per phase)

각 phase 의 component-level 분해. AI sub-agent 1세션 = 1 task 가 sweet spot.

Post-merge 핫픽스

머지 후 발견된 버그들과 그 follow-up PR들은 HOTFIXES.md에 dated 로그로 기록한다. 원래 task spec은 frozen 상태로 두고, post-merge 동작 변경은 HOTFIXES.md를 source of truth로 본다.

모든 task 공통 규약

  • 의존성 경계 (Allowed / Forbidden) 위반 금지. report §19 참조.
  • citation 없는 검색 결과 / RAG 응답 금지.
  • 원본 파일 파괴 금지. 파생물만 재생성.
  • 모든 record 에 version (parser/chunker/embedding/index/prompt) 기록.
  • 각 phase 완료 = cargo check --workspace && cargo test --workspace 통과 + 해당 phase 의 완료 조건 CLI 데모 통과.