Skip to content

feat: add ingest config domain types, dedup helpers, CLI --no-embed - #16

Merged
jeremiepas merged 1 commit into
mainfrom
add-ingest-config
Aug 9, 2026
Merged

feat: add ingest config domain types, dedup helpers, CLI --no-embed#16
jeremiepas merged 1 commit into
mainfrom
add-ingest-config

Conversation

@jeremiepas

Copy link
Copy Markdown
Owner

Summary

Implements all 9 tasks for the ingest configuration change:

Domain types

  • IngestConfig, IngestUrlConfig, IngestCategoryConfig, IngestCategories, FileEntry
  • gcIngest field on GraphosConfig
  • Snake_case JSON/YAML field naming

IngestIndex v2

  • iiVersion, iiFiles, FileEntry for file-level deduplication
  • v1 backward compatibility (loads without error, dedup disabled)
  • Helper functions: lookupFileHash, addFileEntry, isFileUpToDate

CLI

  • --embed / --no-embed flags with three-state resolution
  • Nothing uses config default, Just b overrides config

UseCase.Ingest

  • Config-driven embed/granularity/category resolution
  • SHA256 deduplication (skips unchanged files)
  • URL timeout/retry/user-agent from config
  • Merge vs standalone mode via icMerge

PipelineConfig

  • cfgIngest :: IngestConfig field for threading through pipeline

Scaffold

  • ingest: section in defaultConfigYaml with codebase-optimized defaults
  • file_extensions.doc = [".md"], file_extensions.paper = [".pdf"]

Tests

  • IngestSpec.hs (config parsing, merge, resolution)
  • IngestSpec.hs (index v1/v2, dedup logic)
  • All 308 tests pass

Docs

  • Updated docs/workflows/10-ingest.md with config section, resolution order, dedup, merge modes

…docs

- Domain types: IngestConfig, IngestUrlConfig, IngestCategoryConfig, IngestCategories, FileEntry
- IngestIndex v2: iiVersion, iiFiles, FileEntry, v1/v2 backward compat
- CLI: --embed/--no-embed three-state resolution against config
- UseCase.Ingest: config-driven embed/granularity/dedup/URL settings
- PipelineConfig: cfgIngest field
- Scaffold: ingest section in defaultConfigYaml
- Tests: IngestSpec (config parsing/merge/resolution), IngestSpec (index v1/v2/dedup)
- Docs: 10-ingest.md config section
- Archive: add-ingest-config to openspec/changes/archive/2026-08-09/
@jeremiepas
jeremiepas merged commit cb1b3aa into main Aug 9, 2026
1 of 2 checks passed
@jeremiepas
jeremiepas deleted the add-ingest-config branch August 9, 2026 16:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant