Skip to content

feat: public re-export packages for ingest and materialize#139

Merged
jamestexas merged 2 commits intomainfrom
feat/public-ingest-materialize
Mar 26, 2026
Merged

feat: public re-export packages for ingest and materialize#139
jamestexas merged 2 commits intomainfrom
feat/public-ingest-materialize

Conversation

@jamestexas
Copy link
Copy Markdown
Contributor

Summary

  • Adds ingest/ingest.go and materialize/mat.go — thin re-export packages following the existing graph/graph.go pattern
  • Exposes IngestionTarget, Engine, JsonWalker, NewEngine, NewJsonWalker, StreamSQLite from internal/ingest
  • Exposes Materializer, ForFormat from internal/materialize
  • Zero logic changes — type aliases + var re-exports only

Unblocks venturi's Trivy test to use mache as a library call instead of subprocess.

Test plan

  • task build passes
  • go vet ./... passes
  • task test passes (all real tests green)
  • Pattern reviewed against graph/graph.go for consistency

Add two thin re-export packages following the graph/graph.go pattern
so external consumers (e.g. venturi) can use mache's ingestion engine
and materializers as library calls without importing internal packages.

- ingest/ingest.go: IngestionTarget, Engine, JsonWalker, NewEngine,
  NewJsonWalker, StreamSQLite
- materialize/mat.go: Materializer, ForFormat
@jamestexas jamestexas force-pushed the feat/public-ingest-materialize branch from 71fd89b to 4299d89 Compare March 26, 2026 22:54
@jamestexas jamestexas marked this pull request as ready for review March 26, 2026 22:54
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds new top-level public packages to expose selected ingestion/materialization APIs without requiring downstream consumers to import internal/*, following the existing graph/graph.go re-export pattern.

Changes:

  • Introduces ingest/ingest.go to re-export core ingestion types and entrypoints from internal/ingest.
  • Introduces materialize/mat.go to re-export the materializer API from internal/materialize.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.

File Description
ingest/ingest.go New public re-export package for ingestion engine types and constructors.
materialize/mat.go New public re-export package for materializer interface and format selection.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread ingest/ingest.go
Comment thread ingest/ingest.go Outdated
Comment thread ingest/ingest.go
…atch

- IngestionTarget doc now references graph.MemoryStore explicitly
- Added Walker and Match type aliases so JsonWalker's API surface is
  complete for external consumers
@jamestexas jamestexas enabled auto-merge (squash) March 26, 2026 23:08
@jamestexas jamestexas merged commit ea5403d into main Mar 26, 2026
14 checks passed
@jamestexas jamestexas deleted the feat/public-ingest-materialize branch March 26, 2026 23:10
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.

2 participants