Files
kebab/tasks/p10/p10-1a-1-code-ingest-framework.md
2026-05-15 17:41:26 +09:00

1.8 KiB

p10-1A-1 — code ingest framework

Status: 🟡 진행 중 Contract sections: §2.1 (Citation code variant), §2.2 (SearchHit repo/code_lang), §2.4 (IngestReport skip counters), §2 schema.v1 (code_lang_breakdown + repo_breakdown), §3.6 (Metadata fields), §8 (kebab-parse-code crate boundary), §11 (code ingest no longer 비-스코프). Design: 2026-05-15-kebab-code-ingest-design.md §1A-1. Plan: 2026-05-15-p10-1a-1-code-ingest-framework.md.

Goal

Land the framework surface for code ingest — wire schema (additive minor), CLI filter flags, ignore policy, skip policy infrastructure, kebab-parse-code crate skeleton, [ingest.code] config section — without enabling any code chunker. 1A-2 plugs in the Rust AST chunker on top.

Acceptance criteria

  • cargo test --workspace --no-fail-fast -j 1 passes.
  • Regression test (wire_search_hit_no_code_fields, wire_citation_5_variants_unchanged) passes — markdown corpus wire output unchanged.
  • cargo clippy --workspace --all-targets -- -D warnings passes.
  • docs/superpowers/specs/2026-04-27-kebab-final-form-design.md updated per design §10.1.
  • README + HANDOFF + SMOKE updated.

Allowed dependencies

  • kebab-parse-code may depend on kebab-core, anyhow, gix. NOT on store / embed / llm / rag / UI.
  • Source-fs may depend on kebab-parse-code.

Forbidden dependencies

  • UI crates (cli / mcp / tui) must NOT import kebab-parse-code directly.

Risks / notes

  • .gitignore honor changes existing behavior for markdown corpora whose files live in gitignored areas. Regression test covers the standard case (no overlap). If a user reports missing docs after 1A-1 lands, log to HOTFIXES.