chore(live): small follow-ups from the Live roster PR (#692)
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 85/100
Research direction
The issue lists tasks in dashboard/backend/domain/leaderboard/live.py and dashboard/scripts/deploy_leaderboard_model.py with exact line refs. Read the named lines and PR #692, then apply each suggestion and run the cited test (e.g., tests/test_live_roster.py). Done means each checklist item's warning, CLI message, or test guard is implemented as specified.
Written by the indexing model from the issue text.
Description
Review minors deferred from #692 (Live roster: Qwen and Haiku via live_from / live_overrides), re-checked against origin/main @ 7f9ce0f3. Each item is small and independent; the list is about 1.5 hours without the optional canary at the end. Nothing here changes what the board publishes.
Config handling (dashboard/backend/domain/leaderboard/live.py)
- A baseline entry's
live_from/live_overridesis ignored without a word.live_board_strategiesapplies_live_from_monthand_with_live_overridesonly inside thestrategy == "llm_agent"branch (live.py:432-440). On a baseline both keys pass through untouched and unwarned, and the committed-config guard (test_live_roster_config.py:77-82) only walks LLM roster entries. Suggested: report once through_warn_live_configwhen a baseline carries either key, and extend the guard to the baselines. About 30 min. - Comment wording. "...backfilling sessions it never saw forward" (
live.py:95-99) does not parse. Say what happens: an entry added withoutlive_fromtrades every session since the 1st, including ones from before it joined. About 5 min.
Deploy CLI (dashboard/scripts/deploy_leaderboard_model.py)
- The refusal names both causes instead of the one that applies.
_deploy_livealways prints "not in LIVE_MODEL_IDS, or its live_from month has not opened" (deploy_leaderboard_model.py:252-257), including for a typo'd id that is in neither state. Pick the cause: id not inLIVE_MODEL_IDS; nollm_agententry with that id inleaderboard.json; orlive_fromis after the board month (print both months).test_the_deploy_cli_says_why_it_refuses_a_not_yet_live_entry(tests/test_live_roster.py:151-169) pins only thelive_fromhalf, so add a case per cause. About 15 min.
Tests
- Nothing pins that a Live call leaves the shared config alone.
_with_live_overridesbuilds a new dict (live.py:385) and that line is the only protection; every test reads the returned entry.test_a_malformed_override_warns_once_and_runs_the_shared_valuesreuses onecfgfor two calls (tests/test_live_roster.py:245-246) but asserts only the output, andtest_the_live_haiku_pin_leaves_its_competition_median_alone(tests/test_leaderboard_samples.py:1125) re-reads the file throughget_leaderboard(), so it cannot see in-memory aliasing. Addbefore = copy.deepcopy(cfg)andassert cfg == beforeafterlive_board_strategies(cfg, ...). About 10 min. -
test_a_not_yet_live_entry_is_neither_rendered_nor_deployedbuilds its config through a hidden chain. It calls_use_configtwice (tests/test_live_roster.py:93-96); the second_config_withreads the loader the first one patched, so the two edits compose, but the first call reads as dead code. Let_config_withtake several entries' keys, or build the config once. Found while re-checking; not in the original ledger. About 10 min. - The roster-mention guard misses number words.
assert not re.search(r"\b\d+ models\b", text)(tests/domain/leaderboard/test_live_roster_config.py:99) catches "3 models" but not "three models". Widen it to(\d+|one|two|three|four|five|six)or drop the line. About 5 min. -
COMMONSTACK_SERVEDis a 2026-10-14 snapshot, not a probe (test_live_roster_config.py:20-28). The guard proves the roster agrees with a copy of the listing, not with what the gateway serves today; the file's own comment says to re-list before adding an id. A retired id is found only when a night's calls fail, and H6 then reports it asmodel_coverage(live_budget.py:78-84). Optional, low priority: a freeGET /v1/modelspre-flight inrefresh_live_leaderboardbefore the first billable attempt, or a manually dispatched workflow that diffs the listing against the roster. This is the "only a canary against the live endpoint can" case in CLAUDE.md. About 2-3 hours and needs the prod key (read-only call, no spend).
- Dominant language
- Python
- Stars
- 767
- Forks
- 156
- Avg merge
- 1d 19h
- Merged PRs (30d)
- 71
Getting set up
- Ships a Dockerfile or Docker Compose file
- No pull request template
- No contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from Open-Finance-Lab/AgenticTrading
-
Difficulty 2/5 Under an hour Newbie friendliness 85/100
Open-Finance-Lab/AgenticTrading#698 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
Open-Finance-Lab/AgenticTrading#696 ·
Maintainers usually reply within 1 day
-
fix(llm): Gemini adapter drops thinking tokens from the output countPossibly taken @subidhkhanal claimed this 8 days ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
Open-Finance-Lab/AgenticTrading#657 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 67/100
Open-Finance-Lab/AgenticTrading#591 ·
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
Open-Finance-Lab/AgenticTrading#586 ·
Maintainers usually reply within 1 day
All issues in Open-Finance-Lab/AgenticTrading
Similar issues
-
_chunk_scan_fwd launches its Triton kernel without a device guard: NaN when a model is split across GPUsPossibly taken @toddwbucy claimed this today. Open
Difficulty 1/5 Under an hour Newbie friendliness 85/100
state-spaces/mamba#1072 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 85/100
loopj/aiovantage#414 ·
Maintainers usually reply within 1 day
-
power_mismatch_deline docstring: the rear-to-total RMAD conversion has an extra bifaciality factorOpen
Difficulty 1/5 Under an hour Newbie friendliness 85/100
pvlib/pvlib-python#2929 ·
Maintainers usually reply within 1 day
-
data good first issue launch-day unverified
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
BradGroux/wow-forever-mission-control#8 ·
Maintainers usually reply within 1 day
-
check bilibili falsely reports read/subtitle as broken: live_test fixture BV1GJ411x7h7 is gone (404)Open
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Panniantong/Agent-Reach#889 ·
Maintainers usually reply within 2 days