Skip to content

feat: expose realtime provider status (COD-426) - #31

Merged
shivros merged 2 commits into
mainfrom
runner/COD-426-realtime-status
Aug 20, 2026
Merged

feat: expose realtime provider status (COD-426)#31
shivros merged 2 commits into
mainfrom
runner/COD-426-realtime-status

Conversation

@shivros

@shivros shivros commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

Summary

  • add side-effect-free GET /status beside /health
  • expose a provider-level realtime lifecycle snapshot, including Telegram terminal errors and timestamps
  • cover hub lifecycle reporting and status response JSON

Verification

  • cargo build --all-targets
  • cargo test --all-targets (164 tests)
  • cargo clippy --all-targets -- -D warnings
  • cargo fmt --all -- --check
  • cargo run -p iris-codegen --bin iris-codegen -- check

Closes COD-426.

@shivros

shivros commented Aug 20, 2026

Copy link
Copy Markdown
Contributor Author

🤖 Automated Review Panel

GPT-5.6 Terra

APPROVE. /status returns the required per-provider fields while preserving /health; Telegram reads only an existing OnceLock hub, so the endpoint neither initializes realtime infrastructure nor performs polling/network I/O. Lifecycle/error timestamp behavior and the added handler/hub coverage align with COD-426.


Independent reviewer

APPROVE. Reviewed the branch diff for goal alignment and correctness. No blocking issues found. The realtime snapshot is side-effect-free, JSON states serialize as required, and terminal error/status reporting is covered.

…arge_err

rustc 1.98.0 (rolled out to CI stable 2026-08-18) promotes
clippy::result_large_err, flagging Result<Vec<ProviderBranch>, Response>
in sse.rs (from #23, pre-dates this branch). Box the error variant per
clippy's suggestion so the repo-wide -D warnings gate passes again.

Co-authored-by: Archon <archon@purelymail.com>
@shivros
shivros marked this pull request as ready for review August 20, 2026 20:36
@shivros

shivros commented Aug 20, 2026

Copy link
Copy Markdown
Contributor Author

Auto-Merge Gate rationale

Confidence: 0.89

COD-426's runner-ready acceptance criterion is a side-effect-free /status endpoint exposing per-provider realtime state, last error/timestamp, and subscriber count. This PR implements that contract through an additive provider status interface, reads the existing Telegram hub without initialization or I/O, and adds lifecycle plus JSON handler coverage.

Observed required checks: Test, Format Check, Clippy, Secret Scan, Dependency Audit, and Creed context drift — all successful. The dual-review panel found no blocking issues. Scope is limited to the Iris realtime status path; this gate did not treat the issue's broader future health-degradation proposal as part of this PR's explicit acceptance criterion.

@shivros
shivros merged commit 150eaf1 into main Aug 20, 2026
6 checks passed
@shivros
shivros deleted the runner/COD-426-realtime-status branch August 20, 2026 20:36
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