opencomplai recommend¶
Write one copy-paste remediation Markdown file per Missing/Partial article row from a gap report — a starting point for closing each gap, not a finished compliance artifact.
Deterministic, offline, no model calls
recommend is purely static content generation: it substitutes gap-report fields (article, status, source, evidence_ref, rationale) into one of 6 fixed Markdown templates. There is no network access and no LLM involved — safe to run in air-gapped or regulated environments where a customer needs every tool in the pipeline to be reproducible and auditable.
Two ways to run it¶
1. Standalone — builds a gap report inline¶
Point it at a manifest (and optionally a scan report / sample set), the same inputs opencomplai gaps accepts:
2. Piped from opencomplai gaps¶
Reuse a gap report you already generated (avoids re-running the rule engine/scan/evals):
Options¶
| Flag | Default | Description |
|---|---|---|
--manifest / -m | system-manifest.json | System manifest path — used only when --gap-report is not supplied |
--commit-ref | HEAD | Commit reference for provenance |
--gap-report | (none) | Path to a GapReport JSON from a prior opencomplai gaps --output json — when set, --manifest/--scan-report/--sample-set are ignored |
--scan-report | (none) | Path to a CorroborationReport JSON — only used when --gap-report is not supplied |
--sample-set | (none) | Path to an EvalSampleSet JSON — only used when --gap-report is not supplied |
--output / -o | ./fixes | Directory to write remediation templates to |
What gets written¶
One file per MISSING/PARTIAL article row, named <article-slug>-<template_id>.md (e.g. art6-annex_iii_applicability_note.md). MET and UNVERIFIED rows produce no output — if your gap report has none, recommend prints No Missing/Partial gap-report rows — nothing to recommend. and exits cleanly.
Every rendered template embeds the triggering {{article}}, {{status}}, {{source}}, {{evidence_ref}}, and {{rationale}}, so the output file is traceable back to the exact opencomplai gaps row that produced it.
The 6 templates¶
| Article(s) | Template | What it gives you |
|---|---|---|
| Art. 4 | AI Literacy Checklist | A checklist stub for the Art. 4 AI-literacy obligation. |
| Art. 5, Art. 6 | Annex III Applicability Note | A note framing why the system was flagged as prohibited-practice or Annex III high-risk, and what to confirm. |
| Art. 10, Art. 15 | Risk Register Entry | A risk-register stub covering data-governance (Art. 10) or robustness/safety (Art. 15) findings. |
| Art. 11, Art. 12 | Logging / Event Capture Stub | A stub for the record-keeping and logging obligations. |
| Art. 25 | Human Oversight Checklist | A checklist for the substantial-modification / human-oversight obligation. |
| Art. 50 | Transparency Notice | A disclosure-notice stub for the Article 50 transparency obligation. |
| Art. 53, Art. 55 | GPAI Obligation Stub | A stub for GPAI provider (Art. 53) or systemic-risk (Art. 55) obligations. |
Each template is a starting point for your compliance team to fill in, not a generated legal document — treat the output the same way you'd treat a linter's auto-fix suggestion: a scaffold, not a substitute for review.
Next step¶
Once remediation is underway, run opencomplai report to render a single shareable HTML/PDF document combining the manifest, rule results, gap report, and eval/scan summaries — see report.