feat: show Codex credential label in CLI status bar - #27712
Conversation
6bd5436 to
4c70ca6
Compare
4c70ca6 to
6d00af8
Compare
|
Thanks for the contribution — the feature still looks relevant because current main’s CLI status snapshot/rendering has no Codex credential label path ( Problems
Suggested changes
Automated hermes-sweeper review. |
teknium1
left a comment
There was a problem hiding this comment.
Thanks for the focused status-bar contribution. The requested label is still absent from current main (cli.py:4549-4591, cli.py:5063-5249), but the fallback needs to remain read-only.
Problems
- PR
cli.py:3107callsCredentialPool.select()during status rendering. On current main, selection can refresh pool entries (agent/credential_pool.py:1527-1528), increment least-used counters (agent/credential_pool.py:1539-1545), or persist round-robin rotation (agent/credential_pool.py:1547-1554). A repaint must not alter credential routing or persisted pool state. - The tests cover only
pool:sources. Explicit Codex resolution reportssource: "explicit"(hermes_cli/runtime_provider.py:1400-1418), so the side-effecting fallback remains untested.
Suggested changes
- Carry the active label in resolved runtime state and have the snapshot read it; do not select from the pool in the renderer.
CredentialPool.peek()is the read-only alternative (agent/credential_pool.py:1560-1565). - Add an explicit-provider test that proves rendering does not invoke selection.
Automated hermes-sweeper review.
|
|
||
| pool = load_pool("openai-codex") | ||
| if pool and pool.has_credentials(): | ||
| entry = pool.select() |
There was a problem hiding this comment.
select() is not a read-only lookup: current main refreshes entries, increments least-used counters, and persists round-robin rotation (agent/credential_pool.py:1527-1554). Calling it from the repeatedly-rendered status snapshot can change the active credential; retain the resolved label or use a read-only lookup instead.
Summary
Test Plan