motor-pmsm-base — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited motor-pmsm-base (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Reusable plant + frame conventions + building blocks + sanity-check templates + broken-FOC defense + visual review standards for three-phase voltage-source-inverter-driven PMSM (SPMSM / IPMSM via parameterization). Method-specific control laws (FOC / FCS-MPC / DTC / SMC / sensorless / observer / MTPA / weak-field) layer on top of this base.
assets, do not duplicate.** shared/formulas/pmsm_formulas.md has signed-off plant equations and control law derivations. shared/building_blocks/` provides verified atomic blocks. Reference them by path; do not re-derive or copy content.block_overlaps==0 is a HARD self-test (T7; build fails otherwise) + a mandatory human screenshot sign-off (same human-in-loop model as the Visual 4-check). Line-line crossings and line-through-block hits are SOFT (reported, NEVER numeric-gated): non-planar signal graphs (K3,3/K5) cannot reach zero crossings on a 2-D plane (Kuratowski), so reach zero only by restructuring (Subsystem encapsulation / Goto/From), never by hard-gating a count. See references/measurement_logger.md..slx double-click without prior script execution. Inject all parameters via set_param(mdl, 'InitFcn', ...).From "The" requires Goto_The TagVisibility='global'. See references/plant_modeling.md and references/building_blocks.md.sps_lib default is '90 degrees behind phase A axis (modified Park)', which rotates the plant dq frame 90° relative to the chart Park convention — a silent failure mode (motor drifts to wrong operating point, abc non-clean sinusoidal, id large drift, iq cannot track iq_ref). Either copy PMSM from shared/building_blocks/pmsm_blocks.slx (pre-set), or set_param([mdl '/PMSM'], 'RefAngle', 'Aligned with phase A axis (original Park)'). DTC αβ-frame methods exempt. See references/broken_foc_diagnostics.md F-CRIT 6.| Phase | Action | Reference |
|---|---|---|
| 0 | Validate params + sanity grid | pre_build_grid.md |
| 1 | Theory anchor (sign or AI-self-audit formulas) | theory_anchor.md |
| 2 | PMSM plant + InitFcn injection | plant_modeling.md |
| 3 | Building blocks (Park / Clarke / Anti_Park / SVPWM) | building_blocks.md |
| 4 | Control loop | method-specific skill |
| 5 | Modulation (FOC-based methods only; DTC skips) | building_blocks.md |
| 6 | Measurement + Logger | measurement_logger.md |
| 7 | Sanity check + Visual 4-check | sanity_visual.md |
| 8 | Solver + layout gate (T7 zero-overlap + screenshot sign-off) + save | measurement_logger.md |
| 9 | Idempotent self-tests | measurement_logger.md |
If broken-FOC symptoms appear (motor stuck, abc DC-locked, iq permanently bang-bang), jump to broken_foc_diagnostics.md.
| ✅ Use this skill | ❌ Skip |
|---|---|
| Starting a new PMSM control method study (sensorless, DTC-SVM, MP-DTC, deadbeat, MTPA, weak-field) | Non-PMSM motors (induction / BLDC trapezoidal / SRM / DC) |
Designing your build script (conventionally named build_template.m) for a PMSM method | Pure theory questions (dq frame, Park transform math) |
| Broken-FOC debugging (motor stalled, abc DC-locked, iq saturated) | Method already covered by motor-fcs-mpc / motor-dtc-pmsm / motor-smc-pmsm (use the specific skill) |
| Need Phase 1.5 theory-anchor or Phase 4.5 sanity-check templates | MATLAB performance tuning (use matlab-performance-optimizer) or unit tests (use matlab-test-creator) |
| Skill | Method |
|---|---|
| motor-fcs-mpc | Single-vector finite-control-set MPC current control |
| motor-dtc-pmsm | Direct Torque Control with hysteresis switching table (Takahashi / Sutikno 6-state) |
| motor-smc-pmsm | Sliding Mode Control speed-loop (PD-type sliding + super-twisting) |
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.