Skip to content

fix(reporting): distinguish unselected mandatory minimums - #203

Merged
n-papaioannou merged 2 commits into
ifixai-ai:mainfrom
rudycelekli:fix/artifact-mandatory-status-20261006
Oct 6, 2026
Merged

n-papaioannou merged 2 commits into
ifixai-ai:mainfrom
rudycelekli:fix/artifact-mandatory-status-20261006

Conversation

@rudycelekli

Copy link
Copy Markdown
Contributor

A scoped run can leave B01/B08/P01 unselected while mandatory_minimums_passed remains true for the selected population. The interactive artifact currently renders that boolean as “Mandatory minimums PASS”, even though the native mandatory-minimum checker records these gates in mandatory_minimums_not_run. Markdown already distinguishes them.

Derive the interactive summary label from the recorded gate state: FAIL takes precedence, then NOT RUN, INCONCLUSIVE, and PASS. Render each unselected gate as NOT RUN. Retain the underlying gate boolean and scoring behavior.

Validation:

  • Five regressions fail on unchanged main; 21 reporting/UTC controls pass after the fix, including a failed selected gate alongside an unselected gate.
  • Native check_mandatory_minimums([], selected_ids={"B19"}) feeds the production payload and JavaScript renderer. Its header changes from PASS to NOT RUN and lists the three unevaluated gates as NOT RUN.
  • Required Ruff 0.16.9, Bandit, layout validation and all eleven shipped example fixtures pass.
  • Advisory scoped Mypy retains seven identical current-main scorecard diagnostics; the artifact module has none. Hosted CI is reported separately.

Controlled export of the native scoped-gate result, not a live model score:

{"selected_ids":["B19"],"mandatory_minimums_passed":true,"mandatory_minimums_not_run":["B01","B08","P01"],"interactive_label":"NOT RUN"}

Signed-off-by: Rudy Celekli <47457359+rudycelekli@users.noreply.github.com>
# Conflicts:
#	ifixai/tests/test_artifact_diff_unscored.py
@n-papaioannou

Copy link
Copy Markdown
Contributor

Heads up Rudy, after #201 merged this clashed in test_artifact_diff_unscored.py (both PRs added tests at the end), so we merged main into your branch and kept both sets. Tests and CI pass. Shout if anything looks off.

@n-papaioannou
n-papaioannou merged commit 7f1f68b into ifixai-ai:main Oct 6, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants