Skip to content

feat(api): enumerate analysis runs from LineageWeave and Naruon - #391

Draft
seonghobae wants to merge 2 commits into
feat/analysis-run-collection-get-gap-003afrom
feat/analysis-run-collection-consumer-parity-gap-003a
Draft

feat(api): enumerate analysis runs from LineageWeave and Naruon#391
seonghobae wants to merge 2 commits into
feat/analysis-run-collection-get-gap-003afrom
feat/analysis-run-collection-consumer-parity-gap-003a

Conversation

@seonghobae

@seonghobae seonghobae commented Aug 31, 2026

Copy link
Copy Markdown
Contributor

Why

GAP-003A / issue #166 still has no LineageWeave collection exchange builder, no Naruon compatibility-listener list, and no tepp-loopback TCP proof. ADR 0031 / #368 added GET /v1/analysis-runs on AnalysisRunLiveService and the Naruon collection builder only. A published LineageWeave consumer would have to mint a Naruon-labelled list. NaruonLiveService still refused every GET path.

Live slices that this PR does not duplicate:

What

Unique GAP-003A collection GET consumer-parity slice stacked on #368 over protected main 1bc02f580cf48e1d39da239f0e818453437c31c3:

  • lineageweave_analysis_run_collection_exchange reuses the Naruon collection builder and replaces only tepp-consumer
  • NaruonLiveService serves metric-free collection GET for Naruon only; LineageWeave remains refused there
  • accepted list returns run_id, run_state, and idempotency_key (200); unknown cursor, consumer mismatch, nonempty body, GET-by-id, and metric keys fail closed
  • tepp-loopback create-then-list over loopback TCP
  • ADR 0042 on the collection GET lineage (0041 is feat(analysis): POST execute from published tepp-execute CLI #390 execute CLI)

Not an ADR 0014 scientific claim. Not GET status. Not lifecycle POST. Not stored-request GET. Not retry. Not cancel consumer-parity. Not persistence. Does not open NaruonLiveService to LineageWeave.

Verification

  • cargo clippy -p tepp_api --all-targets -- -D warnings
  • cargo test -p tepp_api --all-targets
  • RUSTDOCFLAGS='-D warnings' cargo doc -p tepp_api --no-deps
  • python3 scripts/validate_documentation.py
  • python3 scripts/check_docstrings.py
  • crates/tepp_api/tests/lineageweave_http_contract.rs
  • crates/tepp_api/tests/naruon_live_http_contract.rs
  • crates/tepp_api/tests/loopback_binary_contract.rs
  • doctoring: docs/research/analysis-run-collection-consumer-parity.md

Exact-head Checks on 061a6eaa407894ec4dc10f1d268b9147162a4e38 are required before merge. Two independent current-head APPROVEs are required. Author cannot self-approve. Merge #368 before this stacked PR, or retarget onto protected main after #368 lands. No force-push.

GAP-003A / issue #166: LineageWeave mints the metric-free collection GET
and the Naruon compatibility listener lists accepted runs. tepp-loopback
proves create-then-list over TCP. Not GET status, not an ADR 0014 claim.
@coderabbitai

coderabbitai Bot commented Aug 31, 2026

Copy link
Copy Markdown

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

…3a' into feat/analysis-run-collection-consumer-parity-gap-003a
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