Skip to content

feat(api): inspect stored analysis-run requests from LineageWeave and Naruon - #387

Draft
seonghobae wants to merge 1 commit into
feat/analysis-run-stored-request-get-gap-003afrom
feat/analysis-run-stored-request-consumer-parity-gap-003a
Draft

feat(api): inspect stored analysis-run requests from LineageWeave and Naruon#387
seonghobae wants to merge 1 commit into
feat/analysis-run-stored-request-get-gap-003afrom
feat/analysis-run-stored-request-consumer-parity-gap-003a

Conversation

@seonghobae

Copy link
Copy Markdown
Contributor

Why

GAP-003A / issue #166 still has no LineageWeave stored-request exchange builder, no Naruon compatibility-listener inspect, and no tepp-loopback TCP proof. ADR 0034 / #377 added GET /v1/analysis-runs/{run_id}/request on AnalysisRunLiveService and the Naruon inspect builder only. A published LineageWeave consumer would have to mint a Naruon-labelled inspect. NaruonLiveService still refused every GET path.

Live slices that this PR does not duplicate:

What

Unique GAP-003A stored-request consumer-parity slice stacked on #377 over protected main 1bc02f580cf48e1d39da239f0e818453437c31c3:

  • lineageweave_analysis_run_stored_request_exchange reuses the Naruon inspect builder and replaces only tepp-consumer
  • NaruonLiveService serves metric-free stored-request GET for Naruon only; LineageWeave remains refused there
  • accepted inspect returns snapshot, cutoff, model contract, and output profile (200); unknown, consumer mismatch, nonempty body, and metric keys fail closed
  • tepp-loopback create-then-inspect over loopback TCP
  • ADR 0040 on the stored-request GET lineage (0039 is feat(analysis): bind two-group OLS invariance to an analysis-run profile #386 two-group OLS)

Not an ADR 0014 scientific claim. Not GET status. Not lifecycle POST. Not collection GET. Not retry. Not retry-lineage. 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-stored-request-consumer-parity.md

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

… Naruon

GAP-003A consumer-parity for stored-request GET (issue #166, ADR 0040).
LineageWeave reuses the Naruon inspect builder; NaruonLiveService serves
metric-free GET /request for Naruon only; tepp-loopback proves create-then-inspect.
@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.

@seonghobae seonghobae left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Exact-head COMMENT on e2ffc6d (draft). Unique occupied: analysis-run stored-request consumer-parity (ADR 0040) — LineageWeave exchange reuses origin/body/header validation then replaces only tepp-consumer with lineageweave. Accepted response stays an asynchronous transport acknowledgement, not a psychometric result. Do not leak PII through LineageWeave. Do not add GET to NaruonLiveService. Do not un-quarantine stored-request-by-client-key. Do not un-draft. Zero reviews on this SHA before this COMMENT. Never self-approve. Do not weaken fail-closed. No Buyer language.

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