microsoft / microsoft/winml-cli

inspect: address MUST-rule violations and feature gaps in resolver

Open
#72 1 comment 0 reactions 2 assignees View on GitHub

@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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.