Strict Skill-Only Maya Regression Suite
Issue: PIP-481
This suite validates a strict skill-only workflow against a live Maya gateway and emits a machine-readable JSON report for release-over-release comparison.
What It Runs
tools/strict_skill_only_regression.py performs:
- Policy guard: verifies
execute_pythonandexecute_melare blocked at runtime. - Typed workload: creates 150 spheres, creates/assigns materials, sets 180 keyframes, exports FBX.
- Read-only soak: 500 mixed read calls and latency summary (
avg/P50/P95/P99/max/failure_count).
All tool invocations follow:
search->load_skill->describe->calltyped tool
No arbitrary script path is used for the workload.
Prerequisites
- Run Maya with
dcc_mcp_mayaplugin loaded. - Gateway reachable (default
http://127.0.0.1:9765). - Strict policy enabled on Maya side:
powershell
$env:DCC_MCP_MAYA_DISABLE_EXECUTE_PYTHON = "1"
$env:DCC_MCP_MAYA_DISABLE_EXECUTE_MEL = "1"
# or one switch:
$env:DCC_MCP_MAYA_DISABLE_ARBITRARY_SCRIPT = "1"Run
powershell
python tools/strict_skill_only_regression.py \
--base-url http://127.0.0.1:9765 \
--output-dir artifacts/perf \
--soak-iterations 500Optional:
--report artifacts/perf/my_run.json--timeout-secs 180
Output
- Console: full JSON summary.
- File:
artifacts/perf/strict_skill_only_regression_YYYYMMDD_HHMMSS.json. - FBX artifact:
artifacts/perf/strict_skill_only_perf.fbx.
Key report fields:
policy_guard.execute_python.blocked/policy_guard.execute_mel.blockedmust betrue.workload.objects_createdshould be150.workload.keyframes_setshould be180.workload.fbx.size_bytesshould be> 0.soak.avg_ms,soak.p50_ms,soak.p95_ms,soak.p99_ms,soak.max_ms.soak.failure_countshould be0for a clean run.
Compare Versions
Run the suite on each target adapter/core version and diff JSON fields:
- Latency drift:
soak.*_ms - Stability drift:
soak.failure_countandsoak.failures - Workload correctness:
objects_created,keyframes_set, FBX size/options
This makes comparisons deterministic for product and technical leads.