Flamehaven commited on
Commit
590fd7a
·
verified ·
1 Parent(s): 4939901

feat: surface ICH M15 MIDD in UI hero, overview card, and audit snapshot

Browse files
Files changed (1) hide show
  1. stem_ai/app.py +11 -4
stem_ai/app.py CHANGED
@@ -114,6 +114,8 @@ def _finding_cards(result: dict) -> str:
114
  "No regulatory traceability summary emitted.",
115
  )
116
  basis_title = basis.get("note", {}).get("title", "Regulatory basis note")
 
 
117
 
118
  return "\n".join(
119
  [
@@ -147,6 +149,7 @@ def _finding_cards(result: dict) -> str:
147
  "### Regulatory Traceability",
148
  f"- **Summary:** {traceability_summary}",
149
  f"- **{basis_title}:** current official source classes as of {basis.get('as_of', 'current registry month')}",
 
150
  ]
151
  )
152
 
@@ -284,7 +287,8 @@ with gr.Blocks(title=f"STEM BIO-AI — Evidence Scanner v{__version__}", **_bloc
284
  <p>Deterministic evidence-surface scanner for bio/medical AI repositories.
285
  No LLM &nbsp;·&nbsp; No API key &nbsp;·&nbsp; No model runtime &nbsp;·&nbsp; No secrets sent anywhere.<br>
286
  Scans README, docs, CI, tests, changelogs, and manifests — returns a T0–T4 triage tier
287
- with JSON, Markdown, and PDF artifacts, plus an evidence-only regulatory traceability note layer.</p>
 
288
  </div>
289
  """
290
  )
@@ -326,10 +330,13 @@ with gr.Blocks(title=f"STEM BIO-AI — Evidence Scanner v{__version__}", **_bloc
326
  </p>
327
  </div>
328
  <div style="{_CARD_STYLE}">
329
- <p style="{_CARD_TITLE}">AIRI — AI Risk Index</p>
330
  <p style="{_CARD_BODY}">
331
- Maps triggered detectors to the curated MIT AI Risk Repository runtime bundle so
332
- covered risks, known gaps, and detector-scope coverage stay visible in every scan.
 
 
 
333
  </p>
334
  </div>
335
  <div style="{_CARD_STYLE}">
 
114
  "No regulatory traceability summary emitted.",
115
  )
116
  basis_title = basis.get("note", {}).get("title", "Regulatory basis note")
117
+ source_ids = basis.get("source_ids", [])
118
+ m15_active = "ich_m15_midd_2026" in source_ids
119
 
120
  return "\n".join(
121
  [
 
149
  "### Regulatory Traceability",
150
  f"- **Summary:** {traceability_summary}",
151
  f"- **{basis_title}:** current official source classes as of {basis.get('as_of', 'current registry month')}",
152
+ f"- **ICH M15 MIDD:** {'✓ aligned — §§2.1.2 Context of Use · §3 Verification/Validation · §4.1 MAP · §4.2 MAR · §4.3 code submission' if m15_active else 'not in registry (update regulatory_basis_registry.v1.json)'}",
153
  ]
154
  )
155
 
 
287
  <p>Deterministic evidence-surface scanner for bio/medical AI repositories.
288
  No LLM &nbsp;·&nbsp; No API key &nbsp;·&nbsp; No model runtime &nbsp;·&nbsp; No secrets sent anywhere.<br>
289
  Scans README, docs, CI, tests, changelogs, and manifests — returns a T0–T4 triage tier
290
+ with JSON, Markdown, and PDF artifacts. Rubric items are citation-aligned to
291
+ <strong>ICH M15 MIDD</strong> (Step 4, 2026) and EU AI Act / IMDRF frameworks for regulatory traceability.</p>
292
  </div>
293
  """
294
  )
 
330
  </p>
331
  </div>
332
  <div style="{_CARD_STYLE}">
333
+ <p style="{_CARD_TITLE}">Regulatory Frameworks</p>
334
  <p style="{_CARD_BODY}">
335
+ <strong>ICH M15 MIDD</strong> (Step 4, 2026) each rubric item is citation-aligned to
336
+ ICH M15 §§2.1.2 · 3 · 4.1 · 4.2 · 4.3 so MIDD repos see directly applicable FDA/EMA regulatory
337
+ requirement context in the traceability output.<br>
338
+ <strong>AIRI</strong> — MIT AI Risk Repository runtime bundle maps triggered detectors to
339
+ covered risks and known gaps across the curated bio/clinical subset.
340
  </p>
341
  </div>
342
  <div style="{_CARD_STYLE}">