Skip to content

feat(api): poll analysis-run status from LineageWeave on loopback - #383

Closed
seonghobae wants to merge 1 commit into
feat/scientific-acceptance-http-status-gap-003afrom
feat/analysis-run-status-consumer-parity-gap-003a
Closed

feat(api): poll analysis-run status from LineageWeave on loopback#383
seonghobae wants to merge 1 commit into
feat/scientific-acceptance-http-status-gap-003afrom
feat/analysis-run-status-consumer-parity-gap-003a

Conversation

@seonghobae

@seonghobae seonghobae commented Aug 31, 2026

Copy link
Copy Markdown
Contributor

Consolidation decision — closed with retired status base

This PR is not merged. Exact head 79584042369ac61a230088065d3c9c373aed383e is a one-operation consumer-parity slice stacked on now-closed #359. The generic LineageWeave status exchange and loopback TCP GET evidence are useful, but they do not warrant an independent PR or ADR after the queue circuit breaker.

Fold into the coherent Analysis Run application/adapter vehicle under #166/#435 and preserve: consumer-label substitution only, own-run isolation, metric-free nonterminal status, loopback TCP GET, no GET on NaruonLiveService, and fail-closed consumer/origin tests. The future terminal payload must use corrected Validation Evidence rather than the retired scientific-acceptance artifact.

Branch/tests/reviews remain available as fold lineage.

Add lineageweave_analysis_run_status_exchange and a tepp-loopback TCP
GET proof stacked on the ADR 0027 status path. NaruonLiveService stays
POST-only.
@coderabbitai

coderabbitai Bot commented Aug 31, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: fe53d162-a0f0-4a5f-8f1f-3ab880937f61

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

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.

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Devin Review found 1 potential issue.

Devin Review

run_id: &str,
idempotency_key: &str,
) -> Result<NaruonHttpExchange, ApiError> {
let mut exchange = naruon_analysis_run_status_exchange(origin, run_id, idempotency_key)?;

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟡 Empty status keys produce unusable requests

When the idempotency key is empty, lineageweave_analysis_run_status_exchange still returns a successful exchange. The listener rejects that generated request, so callers cannot poll the run.

Suggested change
let mut exchange = naruon_analysis_run_status_exchange(origin, run_id, idempotency_key)?;
crate::wire::require_nonempty(idempotency_key)?;
let mut exchange = naruon_analysis_run_status_exchange(origin, run_id, idempotency_key)?;
Devin Review

Was this helpful? React with 👍 or 👎 to provide feedback.

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