feat(api): enumerate analysis runs via loopback collection GET - #368
feat(api): enumerate analysis runs via loopback collection GET#368seonghobae wants to merge 2 commits into
Conversation
GAP-003A seventh slice for issue #166. GET /v1/analysis-runs lists accepted, running, cancelled, and terminal runs as metric-free rows so operators do not guess run identities. Collection bodies refuse RMSE, bias, coverage, SE-gate, and tepp.scientific_acceptance.v1. ADR 0031 owns this collection read. Does not duplicate GET-by-id, lifecycle POST, cancel HTTP, loopback CLI, or the analysis_engine library.
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: trueThanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Hour-20 exact-head review request. Current head GAP-003A collection GET draft stacked on #361. ADR 0031. Collection bodies stay metric-free. Do not duplicate GET /v1/analysis-runs. Do not self-approve. Do not --admin merge. Checks/reviews are not a reason to weaken fail-closed gates. |
|
Hour-21 exact-head review request. Current head @opencode-agent review |
…p-003a' into feat/analysis-run-collection-get-gap-003a
Why
GAP-003A / issue #166 still has no operator-visible collection read. Operators cannot enumerate accepted, running, cancelled, or terminal runs without guessing run ids.
docs/API_CONTRACT.mdnow documentsGET /v1/analysis-runs.Live slices that this PR does not duplicate:
analysis_enginescientific-acceptance librarydba3db0e0a43acae929263a06ff3364802f565f3)What
Seventh GAP-003A slice stacked on #361 over protected main
1bc02f580cf48e1d39da239f0e818453437c31c3:GET /v1/analysis-runsonAnalysisRunLiveServicerun_id,run_state,idempotency_keytepp.scientific_acceptance.v1never appears on the listtepp-page-cursor/tepp-page-limit(query strings stay fail-closed)Not an ADR 0014 scientific claim. Not persistence. Not GET-by-id. Not lifecycle POST. Not cancel HTTP. Not loopback CLI.
Verification
cargo clippy -p tepp_api --all-targets -- -D warningscargo test -p tepp_api --all-targetsRUSTDOCFLAGS='-D warnings' cargo doc -p tepp_api --no-depspython3 scripts/validate_documentation.pypython3 scripts/check_docstrings.pycrates/tepp_api/tests/analysis_run_collection_http_contract.rsdocs/research/analysis-run-collection-http.mdExact-head Checks on this SHA are required before merge. Two independent current-head APPROVEs are required. Author cannot self-approve. Merge #361 before this stacked PR, or retarget onto protected main after #361 lands. No force-push.