Repository navigation
learn(load-test): record the real page, replay it, say what the number does not prove - #431
Merged
Merged
Conversation
…r does not prove New on-demand skill from a field implementation (warehouse demo app, Mendix 11, 16 runs, bursts of 1000 and 2000 concurrent calls). Playwright records the page's /xas/ calls, a Jaeger probe maps each runtimeOperation to its microflow, and the chosen call is replayed with the session's own cookie and CSRF token, so nothing is correlated by hand. Ten field traps and a four-line report. Routing row, one owner-table row in testing-shape.md, roadmap line reworded. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
5 tasks done
…Data.csrftoken, teardown via helpers.logout Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
MendixMau
added a commit
that referenced
this pull request
Oct 16, 2026
…432) Independent review: CHANGES in round 1 (432.md, Opus), all three items fixed; round 2 self-review APPROVE (432-r2). # Review #432 round 2 (self-review of fix delta to 69ff044) Round 1 (432.md, Opus) asked 3 changes, all addressed: default-no pointer now names PROJECT.md `## Test strategy` / `Unit modules:` from CAC-5 and states #417's run moments; reasons reduced to #417's three (calculation or mapping, Java or REST, fixed bug), the "branchy rule" reason removed; `--require-assertions` added for mxcli 0.21+. Fixer ran render-routing --check, check-skill-routing, test-render-routing 5/0, test-routing-tier 26/0, portability clean. Merge before #431. APPROVE
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
# Conflicts: # CHANGELOG.md
1 task done
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.
Direct lane
What changed and why (one paragraph):
New on-demand skill
skills/load-test.mdfor "will this page hold N users". Mendix pages call the undocumented/xas/client protocol (Mendix 11: every microflow isruntimeOperationwith an opaque id), so hand-written or HAR-replayed protocol scripts need dynamic ids and the CSRF token correlated again after every release. The skill's recipe skips correlation: Playwright logs a real persona in and records the page's/xas/calls, a probe fires each once and reads Jaeger to map it to a microflow (and refuse writes), and the chosen call is replayed with that session's own cookie andmx.session.getCSRFToken(). It carries eleven traps (incl. the 6-session cap of an unlicensed local runtime) each hit in the field runs and a four-line report that states what a run does not prove (requests vs users, empty data, harness vs app limit). Discoverable by asking for testing skills: routing row plus one row intesting-shape.md's owner table. Not wired into the build plan, not a gate. The roadmap's "no load testing" line is reworded: the method ships, a generic instrument waits for a second project.Impact
bin/lib/skill-routing.tsv+ re-rendered surfaces (README, ROUTING, test/review agents, gate-check stage map);testing-shape.mdowner table, one row (#417 touches other sections of that file); no new tools; no instrument shippedrender-routing.sh --checkexit 0 on both. Stage 5 test 21,639 → 21,658, review 31,367 → 31,386; stage 6 test 21,414 → 21,433. The skill itself is ondemandField evidence: a warehouse demo app, Mendix 11 with
mxcli run --local+ OTel to Jaeger, 16 recorded runs 2026-09-09 to 2026-10-08. Bursts of 1000 on one session: p95 0.2 to 4.6 s, 0 transport and 0 app errors; 2000: p95 1.2 to 11.5 s. Every trap in the skill is a measured incident from those runs (the 771-byte no-op target, the stale tape with six dashboard microflows, the fail-open tracing check withserverSide: null, the one-account two-session nav loss).render-routing.sh --checkexit 0, leak guard and doc-numbering pre-commit pass. Skill text not field-run as a skillCHANGELOG.mdline appended🤖 Generated with Claude Code