feat: add JSONL event streaming, Textual replay UI, and Ollama support for Kahn simulations#1
Open
UnbornAztecKing wants to merge 2 commits intomainfrom
Open
feat: add JSONL event streaming, Textual replay UI, and Ollama support for Kahn simulations#1UnbornAztecKing wants to merge 2 commits intomainfrom
UnbornAztecKing wants to merge 2 commits intomainfrom
Conversation
Co-authored-by: Cursor <cursoragent@cursor.com> fix uv init
3733919 to
6596107
Compare
- sim.py: modularized game engine with JSONL event streaming, Ollama support via openai-compatible prefix routing, and full CLI - vorpal/: Textual TUI for replaying and live-monitoring event streams; turn sidebar with phase navigation, type-colored event cards, responsive A/B split view with aligned field grid, KPI bar with history panel, inline and modal search, 100ms live tail, dynamic ASCII banner centering, double-newline and wrap-indent text formatting - Makefile: sim, view, pull-model, and tournament targets for frontier and Ollama model combinations - pyproject.toml / uv.lock: added textual, pydantic, click, watchfiles; registered vorpal entry point - README.md: updated with sim module reference, Vorpal section, and Ollama usage guide; vorpal/README.md with full interface and architecture documentation - .github/workflows/ci.yml: mypy and pytest on push/PR - tests/: Textual pilot smoke tests, model validation, store, and event writer tests
b96e5e2 to
9bf98dd
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
sim.pyexecution path that emits structured JSONL events alongside CSV output.wargame_tuiterminal UI for replaying runs, inspecting turns/events, and live-following simulations.GameEvent, writer, store, tailer) to separate simulation output from presentation.ollama:model support and minor response-parsing hardening.Details
Simulation
sim.pywith provider routing for OpenAI, Anthropic, Gemini, andollama:models.--events-fileto write JSONL to a file or stdout.json-repairto tolerate malformed model JSON.TUI / events
Legacy runners
Kahn_game_v11.pyandKahn_game_v12.pyto supportollama:model IDs via configurableOLLAMA_BASE_URL.Tooling
pyproject.toml,uv.lock,.python-version, CI, Make targets, and README updates.Risk & Impact
sim.pypath that may drift from legacy runners.fsyncon append, and the TUI polls for updates.uv, and new dependencies.Testing
sim.pyparity with legacy runners or live-tail behavior.Reviewer Notes
sim.pyand the legacy runners.--compactappears to be parsed by the TUI entrypoint but not clearly wired through.sim.py --events-file ...and verify TUI live-follow behavior.ollama:routing with customOLLAMA_BASE_URL.