Skip to content

feat: surface partial-run status in get-result-summary (PERFNFV-464) - #206

Merged
k-rister merged 1 commit into
masterfrom
feat-get-result-partial-status
Aug 11, 2026
Merged

feat: surface partial-run status in get-result-summary (PERFNFV-464)#206
k-rister merged 1 commit into
masterfrom
feat-get-result-partial-status

Conversation

@k-rister

Copy link
Copy Markdown
Contributor

Summary

  • Adds GET /api/v1/run/:id/partial-status, mirroring the existing /benchmark endpoint, reading run.partial/run.dropped-engines (already added to the v9dev+ run mapping in PR#204) via the existing cdm.getRunData() helper. Gracefully defaults to partial: false, dropped-engines: [] for older CDM versions that predate these fields.
  • get-result-summary.js fetches this alongside tags/benchmark and prints partial: yes (N engine(s) dropped) when applicable — matching the wording bin/result-processor.py already uses for crucible ls in the crucible repo.
  • Closes the gap flagged in crucible PR#652's review: the doc claimed both crucible ls and crucible get result surface partial-run status, but only crucible ls actually did until now.

Test plan

  • crucible get result path (partial: false) verified against a real indexed run
  • partial: true path verified against a synthetic run+iteration doc pair inserted directly into OpenSearch (deleted afterward) — a genuinely-indexed partial run is hard to produce naturally, since a dropped engine tends to break later pipeline steps before indexing completes
  • node_modules/.bin/prettier --check passes

🤖 Generated with Claude Code

Adds a GET /api/v1/run/:id/partial-status endpoint (mirrors the
existing /benchmark endpoint) that reads the run.partial/
run.dropped-engines fields already added to the v9dev+ run mapping
(PR#204) via the existing cdm.getRunData() helper, gracefully
defaulting to partial=false/dropped-engines=[] for older CDM versions
that predate these fields.

get-result-summary.js now fetches this alongside tags/benchmark and
prints "partial: yes (N engine(s) dropped)" when applicable, matching
the wording bin/result-processor.py already uses for `crucible ls` in
the crucible repo -- closing the gap flagged in crucible PR#652's
review, where docs/how-benchmark-execution-works.md claimed both
`crucible ls` and `crucible get result` surface this, but only the
former did.

Verified end-to-end: the existing partial=false path against a real
indexed run, and the partial=true path against a synthetic run+
iteration doc pair inserted directly into OpenSearch and deleted
afterward (a genuinely-indexed partial:true run is hard to produce --
a dropped engine tends to break later pipeline steps before indexing
completes).
@k-rister
k-rister merged commit 9cf7337 into master Aug 11, 2026
38 checks passed
@github-project-automation github-project-automation Bot moved this from In Progress to Done in Crucible Tracking Aug 11, 2026
@k-rister
k-rister deleted the feat-get-result-partial-status branch August 11, 2026 15:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants