Repository navigation
Console API: serve read views as CLI JSON under /api/v1 - #1776
Merged
Merged
Conversation
This was referenced Nov 5, 2026
Merged
Closed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Serve the Inbox, Command details and logs, History, Lanes, Stages, metrics, Scores, Bug origins, Experiments and cron jobs through the read API. Keep Other-account Commands read-only. Document the paths in the manual and site. Finite log reads gain
--jsonto provide their CLI twins.Closes #1754
Test seams
Evidence
Execution evidence
cargo test --test console api::inbox_api_equals_status_json_without_sign_infailed:left: 404,right: 200.After: the same command passed:
1 passed; 0 failed.AssertionError: (400, 'text/plain; charset=utf-8', 'Invalid URL: Invalid UTF-8 in id'). After the fix it exits 0; retainedapi_path_extractor_refusals_are_jsonchecks five path variants and the existing page response.cargo test --test console api::: 4 passed.cargo test --bin thirdshift console::tests: 4 passed, including the missing-path and missing-scope should-panic twins.cargo fmt --all -- --check,cargo clippy --all-targets -- -D warningsandnpm run docs:check --prefix sitepassed.NEXTEST_TEST_THREADS=3 RUST_TEST_THREADS=3 scripts/affected-tests issue-1753: site 62/62 passed (144.58s); Console browser 126/126 passed (129.02s). The Rust step stopped after 341.86s including compilation, with 187 passed and one systemd launch failure:thirdshift-session-3983810-0-harness.scope was already loaded or has a fragment file.cargo test --test ci a_pr_closed_by_the_end_is_a_failed_runthen passed alone (1 passed, 0 failed). The unrun full-suite coverage is supplied by CI for the exact final head, recorded below.6c96931b: complete Rust CI passed all 3,748 tests (82 skipped; 1,164.356s execution). Site and Console CI passed too. Reused this exact-head full-suite result instead of repeating the local suite. Both release builds and the release smoke gate are green; the ARM download initially returned HTTP 504 and passed on retry.Visual evidence
Console Inbox, 1440×900:
Console Inbox, 390×844:
Manual, Console installation, 1440×900:
Manual, Console installation, 390×844:
Review
Reviewed against
issue-1753(7b14004f). Standards: 0 findings. Spec: 1 finding, reproduced and fixed in6c96931b; no new findings on follow-up. Counts include the fixed finding. Reports andsummary.jsonare retained in the Session's.thirdshift-review-W5OdYL/directory.Both reviewers read all 40 changed files, including generated
site/docs/index.htmland its source/generator. Unread changed files: none. Generated-output exclusions: none.Unaddressed findings
Standards
None.
Spec
None.
Security
None.
Security review outcome
No unaddressed introduced findings.
Merge Danger
Door: two-way
No durable format migration. Existing page actions stay available; token authentication and scope enforcement belong to later Tickets.
Blast Radius: Console
Changes affect read routing, JSON/error responses and the shared CLI/page readers.
Built with codex codex-cli 0.164.0 · gpt-6.1-sol · xhigh