CI currently validates with fake runtimes; ROADMAP.md Milestone-1 polish calls for an automated smoke test that exercises a real local model end-to-end.
Scope
- Nightly (not per-PR) workflow: download the smallest registry model (Qwen3 4B Q4_K_M) with checksum verification, run a scripted conversation through
convsim-core + llama.cpp, assert a scored debrief is produced
- Cache the model between runs; fail loudly on checksum drift
- Reuse the existing
model-smoke-nightly.yml scaffolding where it fits
Acceptance
- Nightly job green on main with a real model producing real NPC turns
- Failure output distinguishes: download/checksum failure vs runtime crash vs pipeline assertion
- Runtime budget documented (target < 30 min on standard GitHub runners)
CI currently validates with fake runtimes; ROADMAP.md Milestone-1 polish calls for an automated smoke test that exercises a real local model end-to-end.
Scope
convsim-core+ llama.cpp, assert a scored debrief is producedmodel-smoke-nightly.ymlscaffolding where it fitsAcceptance