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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant