Skip to content

Player checklist

Owner: Platform team Scope: Every MVP release candidate must pass or document exceptions.

The player journey covers: clone → install → select model or fake demo → select scenario → speak/type → NPC responds → state evolves → finish → debrief → replay → confirm no cloud inference.


Run with the fake runtime — no model download required.

Terminal window
# From repo root (requires convsim-core and prompt-composer installed):
python -m pytest tests/acceptance/test_player_text_path.py -v
Test classWhat it verifiesCI label
TestScenarioSelectionScenario library returns at least one scenario; behavioral_interview is listed with title, summary, difficulty[scenario-lib]
TestSessionStartSession creation returns sess- ID; starting delivers NPC opening event with non-empty content[text-session]
TestPlayerTurnText turn returns player_turn + npc_turn events; NPC has a valid emotion; two turns both succeed[text-session]
TestStateEvolutionstate_delta is present in NPC event; applied delta is returned; state carries into next turn[text-session]
TestSessionEndExplicit end returns Ended + player_exit; further turns are rejected 409[text-session]
TestDebriefDebrief generated after session ends; debrief on active session rejected 409; idempotent[debrief]
TestSessionRetrievalCompleted session retrievable by ID; two sessions both retrievable; export available after debrief[text-session]
TestNoCloudInferenceFull session with LOCAL_MODE=True completes without NetworkBlockedError; fake runtime in use[offline]

All automated checks must pass before any manual step begins.


Run on a clean profile (~/.convsim/ freshly created or deleted).

Terminal window
git clone https://github.com/outrightmental/ConversationSimulator.git
cd ConversationSimulator
./scripts/setup.sh
  • Setup completes without errors
  • Python venv present at services/convsim-core/.venv/
  • node_modules installed at repo root and workspaces

P-M2 — First run with fake demo (no model)

Section titled “P-M2 — First run with fake demo (no model)”
Terminal window
./scripts/dev.sh # keep running
# open http://127.0.0.1:7354
  • Home screen loads; no console errors; no “Failed to fetch” in network tab
  • Service status indicators show correct state (fake runtime expected on fresh install)
  • Model manager screen shows no automatic download

P-M3 — Install or select real model (optional — requires adequate hardware)

Section titled “P-M3 — Install or select real model (optional — requires adequate hardware)”

Navigate to Settings → Models.

  • License acceptance dialog appears before download activates
  • Download completes with SHA-256 checksum verification
  • Model status changes to "loaded"
  • Record model filename and size in the smoke log

Navigate to Scenarios.

  • At least one official pack is listed
  • Expanding pack shows scenarios with title, description, difficulty tag
  • Player can select Job Interview Basics → Behavioral Interview

Start the selected scenario.

  • NPC opening line delivered within 10 seconds
  • Typing a player turn and submitting returns NPC response within 30 s (fake) / 60 s (real CPU)
  • Transcript updates after each turn

Enable Show state meters in session settings.

  • State variables visible during conversation
  • Values change after turns that trigger state deltas

End the session.

  • End session button works and confirms session closed
  • Debrief screen loads with rubric scores and (if session long enough) narrative
  • Export / Download debrief option is present

Return to the scenario library.

  • Session history or past sessions accessible
  • Previously played sessions retrievable by ID

During or after a full session:

  • No outbound requests in browser network tab to external LLM APIs
  • LOCAL_MODE test passes in CI (automated gate above)

ItemResultTesterDateNotes
Automated suitePASS / FAIL
P-M1 Clone + installPASS / FAIL / SKIP
P-M2 Fake demoPASS / FAIL / SKIP
P-M3 Real modelPASS / FAIL / SKIPoptional
P-M4 Scenario selectPASS / FAIL / SKIP
P-M5 Speak/typePASS / FAIL / SKIP
P-M6 State metersPASS / FAIL / SKIPoptional
P-M7 DebriefPASS / FAIL / SKIP
P-M8 ReplayPASS / FAIL / SKIP
P-M9 No cloudPASS / FAIL / SKIP

Release decision: All automated checks PASS + manual checks P-M1 through P-M9 PASS (or documented SKIP with justification) required before MVP tag.