Skip to content

feat: add generic JSONL CLI vertical slice - #4

Merged
karngyan merged 1 commit into
mainfrom
feat/generic-jsonl-cli
Jul 16, 2026
Merged

karngyan merged 1 commit into
mainfrom
feat/generic-jsonl-cli

Conversation

@karngyan

Copy link
Copy Markdown
Contributor

Summary

Implements logical PR 3 from the Milestone 1 roadmap.

  • add reusable streaming generic AEP JSONL import services in autophagy-core
  • add the autophagy import, autophagy sessions, and autophagy search commands
  • support file and stdin input, stable source identities, exact project selection, and dry-run
  • continue past record-level parser/validation conflicts with bounded line diagnostics
  • provide text and tagged JSON output with explicit exit-code semantics
  • preserve duplicate imports as no-ops and surface quarantined conflicts
  • add an anonymized demo corpus, user guide, and README quickstart
  • expand documentation parsing to every Markdown file under docs/

Privacy defaults

  • dry-run never opens or creates a database
  • raw event JSON and tool input are not copied into FTS5 by default
  • tool input indexing requires --index-tool-input
  • metadata indexing requires an explicit repeatable --index-metadata KEY
  • project selection is exact and repeatable through --project PATH

Verification

  • mise run check
  • 18 tests across AEP, storage, importer, and end-to-end CLI behavior
  • file import → sessions → search → duplicate reimport exercised through the built binary
  • rejected dry-run records return JSON diagnostics and exit code 2 without creating a database
  • manual demo corpus import, session listing, evidence-ID search, and duplicate reimport
  • strict Clippy and rustdoc with warnings denied
  • actionlint
  • git diff --check

@karngyan
karngyan merged commit 701be52 into main Jul 16, 2026
1 check passed
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