Skip to content

feat(api): resolve analysis-run identity via loopback lookup CLI - #401

Draft
seonghobae wants to merge 1 commit into
feat/analysis-run-idempotency-lookup-get-gap-003afrom
feat/analysis-run-idempotency-lookup-cli-gap-003a
Draft

feat(api): resolve analysis-run identity via loopback lookup CLI#401
seonghobae wants to merge 1 commit into
feat/analysis-run-idempotency-lookup-get-gap-003afrom
feat/analysis-run-idempotency-lookup-cli-gap-003a

Conversation

@seonghobae

Copy link
Copy Markdown
Contributor

Why

GAP-003A / issue #166 still required operators to write raw HTTP/1.1 after idempotency-lookup GET. Operators cannot jump from a 202 receipt or retry child key to a durable run_id from a client without scanning collection pages. Stdout stays metric-free. tepp.scientific_acceptance.v1 never appears.

Live slices that this PR does not duplicate:

What

GAP-003A lookup CLI stacked on #380 / protected main 1bc02f580cf48e1d39da239f0e818453437c31c3:

  • tepp-analysis-runs lookup client of GET /v1/analysis-runs/by-idempotency/{idempotency_key}
  • key travels in the path; no idempotency-key header
  • metric-free run_id/run_state/idempotency_key stdout
  • tepp.scientific_acceptance.v1 never prints
  • another consumer cannot resolve the first consumer's key
  • empty stdin required; nonempty body fails closed
  • loopback-only; unpublished consumers, credential flags, --run-id, collection pagination flags, and unknown verbs fail closed
  • ADR 0038 on the lookup lineage (distinct from retry-parent GET ADR 0038 on another stack)

Not an ADR 0014 scientific claim. Not persistence.

Verification

  • cargo clippy -p tepp_api --all-targets -- -D warnings
  • cargo test -p tepp_api --lib analysis_run_idempotency_lookup_cli
  • cargo test -p tepp_api --test analysis_run_idempotency_lookup_cli_contract
  • RUSTDOCFLAGS='-D warnings' cargo doc -p tepp_api --no-deps
  • python3 scripts/validate_documentation.py
  • python3 scripts/check_docstrings.py

Exact head: a3410d42d82c09dd3eb7978a54e6c46513179695

Do not merge without two independent APPROVE reviews on this exact head and current Checks. Author COMMENTED is not independent APPROVE.

GAP-003A / issue #166: operators can jump from a 202 receipt or retry child
key to a durable run_id through `tepp-analysis-runs lookup` without writing
raw HTTP. Metric-free run_id/run_state/idempotency_key only.
tepp.scientific_acceptance.v1 never appears. Stacked on lookup GET (#380).
Does not duplicate stored-request/retry/retry-parent/cancel/create/status CLIs.
@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.

Copy link
Copy Markdown
Contributor Author

Hour-25 exact-head: a3410d42d82c09dd3eb7978a54e6c46513179695. GAP-003A lookup CLI tepp-analysis-runs lookup stacked on #380. Metric-free run_id/run_state/idempotency_key; tepp.scientific_acceptance.v1 never appears. Devin/CodeRabbit/author COMMENTED is not independent APPROVE. Ruleset 18156473 needs two independent APPROVE reviews. No self-approve.

@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 a3410d4 (draft). Unique occupied: tepp-analysis-runs lookup for GET /v1/analysis-runs/by-idempotency/{idempotency_key} (ADR 0038) stacked on lookup HTTP #380 / ADR 0037. Dual-identity analysis-run lookup is occupied; do not duplicate. Metric-free identity resolution. tepp.scientific_acceptance.v1 never appears. Do not un-quarantine unscoped stored-request-by-client-key. Do not un-draft. Zero reviews on this SHA before this COMMENT. Never self-approve. Persistence remains GAP-003B. 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

enhancement New feature or request priority: medium

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant