Files
kebab/tasks/p9/p9-fb-32-stale-doc-indicator.md
th-kim0823 cb04bd8c8d fix(fb-32): address PR #122 round 2 review
- spec: add one-line cross-link to HOTFIXES entry per CLAUDE.md
  Spec-contract policy
- HOTFIXES: rename heading from "fb-32" to "p9-fb-32" matching
  the rest of the file's full-ID convention
- config: defensive assert before string-replace in negative TOML
  test guards against default-value drift causing unhelpful unwrap

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

2.3 KiB

phase, component, task_id, title, status, target_version, depends_on, unblocks, contract_source, contract_sections, source_feedback
phase component task_id title status target_version depends_on unblocks contract_source contract_sections source_feedback
P9 kebab-app + kebab-tui + kebab-cli p9-fb-32 Stale doc indicator (ingest 시점 대비 X 일 임계 알림) completed 0.4.0
../../docs/superpowers/specs/2026-04-27-kebab-final-form-design.md
§3 ingest
§10 UX
사용자 도그푸딩 2026-05-06 — Claude Code 가 kebab CLI 사용 후 "최신성 약함" 지적. ingest 시점 snapshot 이라 이후 변경 사실 미반영. local-first 단일 사용자라 web fetch 안 함이 의도지만 사용자 / 외부 도구가 stale 여부 인지 못 함.

p9-fb-32 — Stale doc indicator

구현 완료. 본 spec 은 구현 시점의 frozen 상태. post-merge deviation (특히 search_hit.v1 / citation.v1 의 required-field 확장) 은 HOTFIXES.md2026-05-09 — p9-fb-32 항목 참조 — live source of truth.

상세 설계: docs/superpowers/specs/2026-05-08-p9-fb-32-stale-doc-indicator-design.md. 구현 계획: docs/superpowers/plans/2026-05-09-p9-fb-32-stale-doc-indicator.md.

증상 / 동기

  • 답변에 사용된 chunk 가 N 일 전 ingest snapshot — 사용자 / 외부 도구는 fresh 여부 모름.
  • p9-fb-23 (incremental ingest) 가 mtime 변경 doc 만 재처리 — 사용자가 자주 ingest 하면 자연 해결, 단 사용자가 자주 안 돌리는 doc 도 있음.

Goal (skeleton — brainstorm 단계에서 확정)

  • 각 search hit / citation 에 ingested_at (또는 age_days) 필드 노출.
  • TUI inspect / search 결과에 stale 표시 (예: 30 일 이상 = 노란색 경고).
  • CLI --json 도 동일 필드 — 외부 도구가 stale 여부 판단.
  • 옵션: stale doc 자동 재 ingest 제안.

후속 작업 — brainstorm 필요 항목

  • threshold 정책 — 사용자 config 가능 여부 (stale_threshold_days).
  • "stale" 의 정의 — ingest 시점 vs file mtime 시점 vs 둘 다.
  • wire schema search_hit.v1 / answer.v1 의 citation 에 필드 추가 — additive minor.
  • TUI 색상 / 표시 방식 — p9-fb-14 color theme 와 통합.

Risks / notes

  • p9-fb-23 incremental ingest 와 의존 — ingested_at 정확성 위해 incremental 의 timestamp 갱신 동작 확인.
  • additive wire 변경이라 외부 통합 영향 적음.
  • 사이즈 작음 (S) — 단순 필드 추가 + 표시 로직.