microsoft / microsoft/winml-cli
inspect: address MUST-rule violations and feature gaps in resolver
Open
@tezheng is already working on this.
Since Mar 31, 2026.
dev experience
P1
refactor
to followup / verify
triaged
- Dominant language
- Python
- Stars
- 40
- Forks
- 11
- Avg merge
- 1d 8h
- Merged PRs (30d)
- 50
Description
Summary
The inspect command's resolver.py contains 5 MUST-rule violations (hardcoded model-specific logic) and 2 missing features identified in the CLI verification audit.
MUST-Rule Violations
| ID | Issue | Location |
|---|---|---|
| D-1 | infer_dtype() hardcoded name patterns ("ids" to int64, "mask" to int64) |
inspect/resolver.py:237-243 |
| D-2 | resolve_io_config() hardcoded nested config names (text_config, vision_config, audio_config) |
inspect/resolver.py:648-663 |
| D-3 | shape_to_desc() hardcoded axis abbreviations (batch to B, sequence to S) |
inspect/resolver.py:206-234 |
| D-4 | _resolve_processor_from_hub_configs() hardcoded JSON keys |
inspect/resolver.py:737-800 |
| D-5 | Modality assumptions in attribute grouping | inspect/resolver.py:648-663 |
Missing Features
| ID | Feature |
|---|---|
| M-1 | --list-tasks flag to list supported tasks for a model type |
| B-1 | Local ONNX file support (currently HF model IDs only) |
Design Reference
See docs/plans/2026-02-20-cli-verification-design.md for full audit details.
Approach
D-1 through D-5 require rethinking how the resolver discovers nested configs, infers dtypes, and maps axis names. This is a significant refactor best done as a focused effort.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.