Files
kebab/tasks/p9/p9-fb-29-http-daemon.md
altair823 16b4f9fb9f 📝 docs(HANDOFF): 도그푸딩 피드백에 따른 백로그 항목 추가
- P9 dogfooding 백로그 항목 fb-26 ~ fb-42 추가
- 각 항목의 목표, 증상, 후속 작업 및 위험 요소 명시
- release 계획에 따른 0.3.0 ~ 0.6.0 분할

📝 docs(INDEX): 백로그 항목에 대한 세부 정보 추가

- fb-26 ~ fb-42 항목의 세부 정보 및 상태 추가
- 각 항목의 목표와 후속 작업 명시
- 도그푸딩 피드백에 따른 개선 사항 반영

🔧 chore(tasks): 새로운 백로그 항목 파일 생성

- p9-fb-26 ~ p9-fb-42 각 항목에 대한 개별 파일 생성
- 각 파일에 목표, 증상, 후속 작업 및 위험 요소 포함
- doogfooding 피드백을 기반으로 한 개선 사항 문서화
2026-05-06 13:26:36 +00:00

2.2 KiB
Raw Blame History

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-cli + new crate (kebab-server) p9-fb-29 HTTP daemon (`kebab serve`) — subprocess overhead 제거 open 0.3.0
p9-fb-30
../../docs/superpowers/specs/2026-04-27-kebab-final-form-design.md
§7 RAG
§10 UX
사용자 도그푸딩 2026-05-06 — agent loop 가 kebab CLI 를 반복 호출 시 subprocess fork + Lance/SQLite cold start 비용 누적. local HTTP daemon 이 latency 해결.

p9-fb-29 — HTTP daemon (kebab serve)

백로그 only — 미구현. 본 spec 은 도그푸딩 피드백 skeleton. 구현 착수 전 superpowers:brainstorming 으로 설계 단계 선행 필요. bind / auth / endpoint scheme / lifecycle (auto-start vs explicit) brainstorm 후 확정.

증상 / 동기

  • 현재 kebab search / kebab ask 가 매 호출 process fork — Lance / SQLite / fastembed 모델 로드 cold start.
  • agent 가 10 회 search 도는 loop 면 cold start × 10. local-first 단일 사용자라도 latency 누적.
  • daemon 으로 띄우면 hot — sub-100ms search 가능.

Goal (skeleton)

  • kebab serve --port <N> --bind 127.0.0.1 — local HTTP API.
  • endpoint: /search, /ask, /fetch, /ingest, /stats, /schema. wire schema v1 재사용.
  • auth: local bind 면 무인증 (외부 host 면 token).
  • streaming /ask (Server-Sent Events 또는 chunked).
  • lifecycle: 사용자 명시 실행 vs CLI 자동 spawn (XDG runtime path 의 socket).

후속 작업 — brainstorm 필요 항목

  • web framework: axum / hyper / actix — workspace 통일성 + binary size.
  • 단일 인스턴스 보장 (PID file / socket lock).
  • daemon ↔ CLI shim — CLI 가 daemon 살아있으면 HTTP 사용, 없으면 fork.
  • TUI 와 daemon 공존 — TUI 도 daemon 있으면 HTTP 통해 (현재는 in-process).
  • fb-30 (MCP) 와 transport 공유 — MCP-over-HTTP-SSE.

Risks / notes

  • 단일 사용자 local 환경 — daemon 없는 단순함 trade-off.
  • fb-30 와 강결합 — 함께 brainstorm 하면 architecture 일관.
  • security: bind 127.0.0.1 default 강제 — 0.0.0.0 은 명시 opt-in.