Commit 6c8f364
v0.3.0-alpha.8: e2e integration test passes live; document launch-order caveat
The 7 integration tests in tests/integration/test_e2e_run_simulation.py
all pass against a real Excel + ModelRisk XLL + MRService.dll round-trip
on a developer machine (18.85s, including the actual Monte Carlo run).
Empirical moments of Y = 2*N(0,1) match the analytic ones inside the
documented tolerance bands. First validation that the v0.3 pipeline
works end-to-end against the real stack.
The test run surfaced one real operational caveat — now documented in
the README's "Known caveats" section:
Excel must be running interactively (Start menu / taskbar) before
the MCP server tries to drive run_simulation. When Excel is launched
programmatically by an automation client, ModelRisk's XLL skips part
of its xlAutoOpen initialisation. XLL functions still register as
worksheet UDFs (so VoseNormal(0,1) in a cell works), but XLL commands
(VoseStartSimulCustom12 etc.) never get added to Excel's
Application.Run table — and run_simulation depends on those commands.
If run_simulation fails with "macro may not be available", restart
Excel by hand and try again.
This is a ModelRisk XLL behaviour, not a server bug, but the launch-
order requirement is operationally important. The earlier ad-hoc test
worked because Excel had been open interactively.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>1 parent 71f96b5 commit 6c8f364
7 files changed
Lines changed: 19 additions & 6 deletions
File tree
- src/modelrisk_mcp
- tests/unit
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
7 | 19 | | |
8 | 20 | | |
9 | 21 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
217 | 217 | | |
218 | 218 | | |
219 | 219 | | |
| 220 | + | |
220 | 221 | | |
221 | 222 | | |
222 | 223 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
6 | | - | |
| 6 | + | |
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
11 | | - | |
| 11 | + | |
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
8 | | - | |
| 8 | + | |
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
| |||
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
0 commit comments