1125 Commits

Author SHA1 Message Date
c29ccc7925 Merge pull request 'refactor(spec): introduce kb-parse-types thin crate' (#2) from refactor/parse-types-crate into main 2026-04-27 20:43:21 +00:00
kb
9fa38543a8 refactor(spec): introduce kb-parse-types thin crate
PR #1 review left a design-debt note: ParsedBlock landing in kb-core would
(a) force every crate to recompile on parser-internal changes, and
(b) cause namespace pollution when P6/P7/P8 parsers add their own variants.

Resolution: a new thin crate kb-parse-types sits between kb-core and parsers.
Owns ParsedBlock + ParsedPayload + Warning + forward-refs for image/pdf/audio
parser intermediates. Depends on kb-core only (for SourceSpan / Inline).

Updates:
- design §3.7b: add new section defining kb-parse-types
- design §8: add kb-parse-types to module-boundary diagram + forbidden list
- design §3.4 Inline stays in kb-core; kb-parse-types references it (no duplication)
- p0-1 skeleton: workspace + Cargo deps + public surface block
- p1-3 parse-md-blocks: outputs Vec<kb_parse_types::ParsedBlock> directly
- p1-4 normalize: Allowed gains kb-parse-types, drops cross-coupling note
- INDEX + phase-0 epic: list kb-parse-types in P0 deliverables
2026-04-27 20:41:35 +00:00
2de0572625 Merge pull request 'feat(spec): frozen design v1 + 30 component task specs' (#1) from feat/spec-and-task-decomposition into main 2026-04-27 13:19:21 +00:00
kb
b999a12ab5 tasks: address PR #1 review
- p3-3: SQLite-first/Lance-second + status marker (V003__embedding_status); drop "best-effort 2PC" misnomer
- p4-3: replace print_stream FnMut closure with mpsc::Sender<String> (RagPipeline stays Send+Sync)
- p4-3: tighten citation regex to strict [#<n>] only — reject [n]/prose/code-block false positives
- p5-2: compare_runs across chunker_version is graceful (doc + span overlap fallback) with chunker_version_match audit field; --strict-chunker-version restores refusal
- p7-1: per-page text via lopdf (pdf-extract has no per-page Rust API); use char count for spans
- p8-1: explicit rubato (FftFixedIn) for 16 kHz mono resample; symphonia decode only
- p9-5: drop cmd_read_pdf_page + pdfium native dep; cmd_read_file_bytes + frontend pdfjs; add traversal tests
2026-04-27 13:10:31 +00:00
kb
eedaeccff2 tasks: update INDEX with full component-task tree (30 specs) 2026-04-27 12:14:58 +00:00
kb
f8b9f51d94 tasks: add P9 component specs (tui x4, desktop) 2026-04-27 12:14:16 +00:00
kb
7c10b15ad7 tasks: add P8 component specs (whisper, audio-chunker) 2026-04-27 12:09:51 +00:00
kb
d96d9cc56c tasks: add P7 component specs (pdf-extractor, pdf-chunker) 2026-04-27 12:07:56 +00:00
kb
c84ab03404 tasks: add P6 component specs (image-exif, ocr, caption) 2026-04-27 12:06:20 +00:00
kb
597a848af9 tasks: add P5 component specs (runner, metrics) 2026-04-27 12:04:06 +00:00
kb
ab7f6f110e tasks: add P4 component specs (llm-trait, ollama, rag-pipeline) 2026-04-27 12:02:18 +00:00
kb
5b813ce39e tasks: add P3 component specs (embedder, fastembed, lancedb, hybrid) 2026-04-27 11:59:46 +00:00
kb
c044b97a34 tasks: add P2 component specs (fts-schema, lexical-retriever) 2026-04-27 11:57:00 +00:00
kb
1cffed25ff tasks: add p0-1 skeleton component spec 2026-04-27 11:55:26 +00:00
kb
46f146584f tasks: add p1-6 store-sqlite component spec 2026-04-27 11:47:49 +00:00
kb
b711cfe5fd tasks: add p1-5 chunk component spec 2026-04-27 11:46:43 +00:00
kb
d4315dc602 tasks: add p1-4 normalize component spec 2026-04-27 11:45:53 +00:00
kb
4c0f2df44f tasks: add p1-3 parse-md blocks component spec 2026-04-27 11:44:59 +00:00
kb
7ae21424ca tasks: add p1-2 parse-md frontmatter component spec 2026-04-27 11:44:09 +00:00
kb
955b898b56 tasks: add p1-1 source-fs component spec 2026-04-27 11:43:14 +00:00
kb
3f1ef86ee6 tasks: prepare P1 component decomposition skeleton 2026-04-27 11:42:22 +00:00
kb
d846812157 tasks: add component task spec template 2026-04-27 11:41:55 +00:00
kb
2288750f45 plan: task decomposition (template + P1 + P0/P2..P9) 2026-04-27 11:35:41 +00:00
kb
3282e703b8 spec: add forward-declared types (Ocr/Caption/Transcript/Checksum/...) 2026-04-27 11:18:19 +00:00
kb
b565b330d9 add frozen design doc and task index
- design: docs/superpowers/specs/2026-04-27-kb-final-form-design.md
- locks UX shape, wire schema v1, domain model, ID recipe, DDL, layout, traits, module boundaries, versioning, errors
- tasks/INDEX.md + 10 phase docs derived from kb_local_rust_report.md
2026-04-27 11:17:24 +00:00