How openjiuwen-ai/careersim-bdci26 works
CareerSim Runner is the participant-side harness for submitting skills to JiuwenSwarm, driving a 48-month Career Emulator game, and producing score and replay reports. The main path is CLI → submission install and environment checks → headless WebSocket drive → score report; replay separately parses the resulting event log. README documents the game’s monthly events, quarterly actions, six-month reviews, and final grade, but those mechanics execute in the external emulator. Several module connections are inferred only where the README or sampled excerpts establish them; unsampled implementation details are omitted.
Main entry points: cli.py Runner CLI · headless_play.py Play orchestrator · score.py Score calculation · ws_client.py WebSocket driver
Components 24
Participant interface
- Runner CLI
career_sim_runner/cli.py - Submission bundle
solution/manifest.json - Agent skills
solution/skills
Run preparation
- Instance setup
career_sim_runner/setup.py - MCP config
career_sim_runner/mcp_config.py - Skill installer
career_sim_runner/install.py - Skill contract
career_sim_runner/skill_contract.py - Preflight checks
career_sim_runner/validate.py - Runtime paths
career_sim_runner/paths.py
Game execution
- Play orchestrator
career_sim_runner/headless_play.py - WebSocket driver
career_sim_runner/ws_client.py - Game prompts
career_sim_runner/prompts/play_headless.md - JiuwenSwarm
- Career Emulator MCP
- Configured model
Results and replay
- Score calculation
career_sim_runner/score.py - Emulator database
career_sim_runner/db.py - Score report
career_sim_runner/report.py - Transcript handling
career_sim_runner/transcript.py - Event parser
career_sim_runner/replay/parse.py - Replay renderer
career_sim_runner/replay/render.py - Score and usage
career_sim_runner/replay/usage.py - Event log
Other components
- Participant
Connections 33
- Participant → Runner CLI: runs commands
- Runner CLI → Submission bundle: selects
- Submission bundle → Agent skills: contains
- Runner CLI → Instance setup: configures
- Instance setup → MCP config: writes settings
- Runner CLI → Skill installer: installs
- Skill installer → Skill contract: validates layout
- Skill installer → Agent skills: copies skills
- Runner CLI → Preflight checks: checks environment
- Preflight checks → MCP config: checks MCP setup
- Runner CLI → Play orchestrator: starts play
- Play orchestrator → Skill installer: installs submission
- Play orchestrator → Preflight checks: preflights
- Play orchestrator → Instance setup: resolves endpoint
- Play orchestrator → WebSocket driver: drives session
- Play orchestrator → Score calculation: builds score
- WebSocket driver → Game prompts: uses prompts
- WebSocket driver → JiuwenSwarm: sends WebSocket requests
- JiuwenSwarm → Configured model: requests completions
- JiuwenSwarm → Career Emulator MCP: calls MCP tools
- Career Emulator MCP → Emulator database: persists game state
- JiuwenSwarm → Event log: emits events
- WebSocket driver → Transcript handling: records conversation
- Score calculation → Emulator database: reads game data
- Score calculation → Score report: builds report
- Score calculation → Transcript handling: uses transcript
- Score calculation → Event log: uses event log
- Runner CLI → Event parser: requests replay
- Event parser → Event log: parses
- Runner CLI → Score and usage: loads score data
- Score and usage → Score report: reads score report
- Runner CLI → Replay renderer: renders replay
- Replay renderer → Event parser: renders parsed turns