Skip to content

feat(plugin): status lists a page of runs - #288

Merged
fredericrous merged 4 commits into
mainfrom
feat/status-summary
Oct 22, 2026
Merged

fredericrous merged 4 commits into
mainfrom
feat/status-summary

Conversation

@fredericrous

Copy link
Copy Markdown
Owner

Part B of the cost plan (docs/plans/2026-10-22-cut-model-cost.md, which this PR lands as the canonical plan; Part A shipped in fredericrous/dotfiles#45).

Without run, mcp__relais__status now returns {runs, more, waiting, next_offset}: at most 10 short entries (run, phase, attempt, cost, outcome state, waiting, stalled, foreign), live or awaiting runs first, then the most recent; offset pages on, and a bad offset is refused. With run, the reply is unchanged. In this session the old reply was 54.4 KB (~53k tokens).

Breaking (plugin-internal): the reply without run changes from an array to an object. Its only reader is the model in the same session, through the plugin it ships with; reinstall the plugin after upgrading.

Verification

  • make plugin (PLUGIN_SKIP_OK unset, load 5): 313 pass, 0 fail. New: bounded summary on a 20-run fixture (10 entries, more 10, waiting 12, ≤ 6144 bytes); paging returns all 20 ids once; bad offsets denied; list path refreshes a live model.
  • Pre-commit gate: 30 checks passed (cargo-test included).
  • Code written by relais run-65e729a702231-10bbc (Sonnet); its reviewer's 3 doc findings fixed by hand.
  • Implementation review: approve-with-changes, round 1 + delta; record in the plan.

🤖 Generated with Claude Code

fredericrous and others added 4 commits October 22, 2026 22:00
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Without `run`, mcp__relais__status returns {runs, more, waiting,
next_offset}: at most 10 short entries, live or awaiting runs first,
`offset` for the next page. One session's status call cost ~53k
tokens; the per-run reply with `run` is unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A non-integer or negative offset was read as 0, so a caller paging
with it got page one forever; it is now refused once, in the tool
handler. The list path gets its own refresh test.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@fredericrous
fredericrous merged commit c056855 into main Oct 22, 2026
7 checks passed
fredericrous added a commit that referenced this pull request Oct 22, 2026
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
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