• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

amacgregor / amgr_phx / 5858f7e9d21ae345a288bb7f8491807304f3dce6-PR-72
33%
main: 33%

Build:
Build:
LAST BUILD BRANCH: amacgregor/ven-46-split-the-link-out-of-the-x-post-body-put-it-in-the-first
DEFAULT BRANCH: main
Ran 10 Aug 2026 10:26AM UTC
Jobs 1
Files 78
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

10 Aug 2026 10:23AM UTC coverage: 33.001% (+2.0%) from 31.023%
5858f7e9d21ae345a288bb7f8491807304f3dce6-PR-72

Pull #72

github

amacgregor
Add concept simulations: a deterministic sim engine, 25 scenes and a lab

Interactive animations of systems concepts, embeddable in articles with a
```viz fence and tuned in a dev-only workbench at /lab.

The engine is a seeded discrete-event queueing simulator on a fixed 8ms
timestep, decoupled from rAF so a run is reproducible from its seed. Node
vocabulary: source, queue, pool, sink, mirror, router, limiter, batcher,
resource and gate. `resource` is the one worth naming — a permit held across
stages, which is what a row lock actually is and what no arrangement of
servers can express.

Rendering is SVG through a retained keyed element pool. Nine scenes carry
their own spatial grammar rather than the generic left-to-right conveyor,
because the conveyor answers "where does the work go" and most of these
concepts aren't about that: a timeline for poll intervals, a log-time axis
for backoff, occupancy for head-of-line blocking, convergence for lock
contention, descent and scatter for index access, pulse for batching. Three
scenes stay conveyors because they genuinely are queueing systems.

Everything drawn is a token in a real state. Readouts carry an optional
numeric channel that draws ~14s of history under the number, which matters
because every metric is a windowed EWMA and one read seconds after a change
can sit above a ceiling it cannot exceed.

Scenes declare `actions:` so the reader causes the event rather than waiting
for it — send a burst, send a slow request, one slow transaction.

Numeric claims are checked against closed forms rather than eyeballed:
ETS 500/s against 6/0.012, GenServer 83.3/s against 1000/12, a p99 of 280ms
against 24 readers x 12ms, Little's Law residual within 1-12%.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Pull Request #72: Concept simulations: a deterministic sim engine, 25 scenes and a lab

50 of 59 new or added lines in 2 files covered. (84.75%)

529 of 1603 relevant lines covered (33.0%)

332.23 hits per line

Uncovered Changes

Lines Coverage ∆ File
5
90.91
lib/amgr/markdown/viz.ex
4
0.0
lib/amgr_web/live/viz_lab.ex
Jobs
ID Job ID Ran Files Coverage
1 5858f7e9d21ae345a288bb7f8491807304f3dce6-PR-72.1 10 Aug 2026 10:26AM UTC 78
33.0
GitHub Action Run
Source Files on build 5858f7e9d21ae345a288bb7f8491807304f3dce6-PR-72
  • Tree
  • List 78
  • Changed 7
  • Source Changed 0
  • Coverage Changed 7
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Pull Request #72
  • PR Base - main (#D306D07D...)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc