What the measurements mean
Only what is unusual for this project. Every sentence names the field it came from; nothing here is asserted that cannot be checked against the data.
- It declares port 5000, so it runs as a service rather than a script.from assets.routes, assets.ports
- The code defines 6 functions, 0 methods and 0 classes.see the evidencefrom pythonAst.counts, pythonAst.coverage
- It grades A, weakest on runnability at 71.4%. runnability coveragesee the evidencefrom grades
How it works
Each player opens their own copy of the file. The two find each other through a room word, a link or a public lobby, and then talk to each other directly. That only works because the simulation is deterministic integer arithmetic: given the same inputs, both machines compute the identical battle, so only the players' commands cross the network. Running both copies in step this way is called lockstep. The one file holds 32 unit kinds, 22 buildings, 30 technologies across three ages, four factions with their own architecture and music, and eleven battlefields, one of them generated from any seed. There are five spells and a computer opponent at three levels that plays under exactly the player's rules. The pixel art is drawn by code, the music and effects are synthesised as they play, and 2,125 recorded voice lines are embedded.
What kind of engineering this is
Six signals counted from the source: files that run models locally, that act without being asked each time, that check their own output, that survive failure, that touch parsers and protocols, and that were measured then improved. Every axis carries its file count.
What it is written in
Share of code bytes. Vendored bundles and generated output are set aside before this is computed, which is why it differs from a simple file count.
What stands out
- A deterministic lockstep simulation, so only commands cross the network
- Peer-to-peer play over WebRTC, with no server of its own
- A computer opponent that gets no bonus resources and differs from the player only in skill
Capabilities
- Gather wood. Raise walls. Lose anyway.
- What is in it
- Play it
- How a cartridge works
- Also here: Twin Crowns
- Working on it
- Documentation
Grade
Every check names the field it measured. Checks that cannot apply are excluded, never counted as failures.
- provenance100.0%
- documentation87.5%
- runnability71.4%
- maintenance100.0%
- integrity100.0%
Not met
- environment none
python -m venv .venv (in the project folder
Architecture
Directories carrying real modules, largest first.
ironvale18 modulessrc16 modulesplatform14 modulestools6 modules
Vocabulary
Parsed 4 of 4 Python file(s).
Functions
maintools/shot.py:20maintools/edge_debug.py:23have_nodetools/fleet-node.py:28fetchtools/fleet-node.py:39portable_nodetools/fleet-node.py:44maintools/fleet-node.py:74
Depth
Signals counted from the code, not asserted.
99 commits across 12 separate working days over 1 months, 6 of them revising existing behaviour
Built from scratch
- Protocol / wire format
Proves itself
- Benchmarks
- Reconciliation / audits
- Backtesting / evaluation
Survives failure
- Recovery / restore
- Timeouts
- Fallback paths
- Retry / backoff
Systems
Networking
- Tunnels / reverse proxy
- WebSocket transport
Working within limits
- Timeout budgets
Languages
- JavaScript59,626
- Python225
Built with
- Whisper
- Cloudflare Workers
- npm
Recurring themes in the commit history
- ironvale
- trailer
- page
- game
- dist
- phone
- rebuild
- pairing
- site
- art
Evidence
Taken from the code itself: a module docstring or the opening of the README.
Start headless Edge with a DevTools debugging port, safely and silently. python tools/edge_debug.py <port> [WIDTHxHEIGHT] For tools/probe.mjs, which drives the browser over the DevTools protocol (console messages, timings, frame rates). Like tools/shot.py it launches only through C:/coding/WhisperKeyboard/scripts/headless_edge.py, which seeds a throwaway profile: a bare `msedge --headless` on this
At a glance
- Status
- active
- Primary language
- JavaScript
- First commit
- 2026-09-17
- Last activity
- 2026-10-13
- Domain
- AI & machine learning
- Agent docs
- CLAUDE.md, .claude