fix(cli): read authenticated workflow run history - #7577
Conversation
Use the existing paginated relay endpoint, canonicalize workflow UUIDs, and preserve explicit denial or unavailable errors instead of empty history. Remove speculative advice to discard delegation credentials on 403. Signed-off-by: Portfolio Supervisor <a14f1f84a157b4bedc2e0090a270d88fca5668111e1268663461def9df3ebdd8@agents.invalid>
🔐 Codex Security Review
|
|
Current-base validation completed without expanding the five-file CLI diff. Local rebased head All 469 CLI tests passed. Full The exact-lease Git push of the rebase was denied with HTTP 403 for the configured contribution account, so the remote branch remains unchanged. No alternative account or branch-write mechanism was attempted. @block/buzz-oss-team Please identify the accepting maintainer and supported branch-update/release path. Scheduler wake/run-read access remains separately tracked in #7065, and trusted authority in #7575. This PR only repairs CLI history visibility and denial reporting. |
|
Overlap coordination update: nathansmithopenclaw-alt's comment on #3903 confirms this CLI-only direction and defers a competing CLI-history PR to #7577. This is contributor scope alignment, not maintainer acceptance or merge approval. The supported branch-update/release path remains unresolved; scheduler/read-access and trusted-authority dependencies remain separate in #7065 and #7575. |
buzz workflows runscurrently queries execution event kinds that the relay does not emit, so it can report[]without reading run history. Read the existing authenticated/workflows/{id}/runsendpoint instead and return its{runs, next}page. Add paired cursor flags, canonicalize UUIDs before signing the URL, and reject malformed responses instead of presenting empty history.Preserve server 403 reasons without suggesting that callers remove their delegation credentials. This changes error reporting, not access control.
Validation: independent review of the five-file diff; all 469 CLI tests pass, including signed URL/header transport, UUID normalization, cursor/page validation, and isolated auth-tag-present GET/submit denial regressions. Full
just cipassed (exit 0), including all lint/build/test gates and 2,076 Flutter tests. The passing run usedCARGO_INCREMENTAL=0 RUST_TEST_THREADS=1and omitted runtime pool-tuning variables only from the test subprocess. An earlier concurrent CI attempt recorded one existing connection-test failure; its standalone serial rerun and the full serial CI both passed. No source workaround was added. The passing CI tested base44316ff72f5f7de014c66b01cbf534298a70c249plus the reviewed diff; commit5eaee904contains that identical diff.This is a CLI visibility fix. It does not repair scheduler firing, agent wake, provider authorization, or production RBAC. Deployment requires a CLI release plus an available relay history endpoint and existing least-privilege permission. Denied or unavailable endpoints remain explicit errors.
Related: #7065 (scheduler reconciliation), #7575 (trusted scoped authority). #3903 also includes workflow-history UI/relay/CLI work; this narrower contribution consumes the paginated endpoint already present on current main and adds no competing relay route. #7487 concerns startup policy reporting and remains separate.
Originating HQ instruction:
buzz://message?channel=57a6c2eb-fb42-46d7-a3c0-56b9fe0c03de&id=68ad56dfdd2919b3ccdca0cff47781e90a3fb48f361b6123db0727797613071a