Monthly compliance run¶
ContributorsMyles Henaghan
Contributors 🕹️ Myles Henaghan
Orchestrates a portfolio compliance cycle. Confirm the registry path with the
user; a common location is docs/management/compliance/repos.yml.
When to use¶
- Monthly portfolio review (
YYYY-MMM-portfolio-review.md) - Change-throughput window (typically last 30 calendar days)
- Quarterly control-adoption refresh (same month as needed)
- Monthly dataops-quality for Databricks repos
Gate — before any scans¶
- sync-portfolio-repos — all
portfolio_monthly.change-throughputrepos reachable. verify_registry_branches.py— from repo root:python library/skills/change-throughput/scripts/verify_registry_branches.py- Confirm measurement window and reviewer name for the portfolio run summary.
Execution order¶
- Change throughput — change-throughput for each repo in
portfolio_monthly.change-throughput. A repo withintegration_branchset needs two rows (deploy trunk and integration branch), not one. - Control adoption (quarterly) — control-adoption prompt for repos with
enabled_scans: control-adoption; updatecontrol-matrix.yml. - DataOps — dataops prompt for repos with monthly
dataops-quality; runcheck_ci_bundle_paths.pyon DAB clones. reviews/YYYY-MM.yml— one entry per repo × scan; include optionalclone_health: {synced, ref_used, note}when pull was unsafe. At month level add:verifications— team must confirm (merge policy, ADO gates, secret scan, workspace monitoring).recommendations— prioritized portfolio or repo actions (DataOps, git policy, quality gates).- Portfolio review — create/update
docs/management/compliance/scans/YYYY-MMM-portfolio-review.mdwith run summary, Reviews-and-drift jump tables, and throughput/control sections.
Cross-check — before handoff¶
After the portfolio review is written, confirm throughput roll-up tables are complete:
- Count repos in
portfolio_monthly.change-throughputin the portfolio registry (oftendocs/management/compliance/repos.yml). Each repo withintegration_branchset adds one extra summary row (deploy trunk plus integration branch). - Every scoped repo must appear in both:
### Progress since …(month-over-month meaningful IF)### Batch size(net commits per landing)- Run from repo root:
python library/skills/change-throughput/scripts/verify_portfolio_throughput_tables.py \
--portfolio-review docs/management/compliance/scans/YYYY-MMM-portfolio-review.md
Exit 0 required before marking the monthly run complete. Fix missing rows or update portfolio_monthly if scope changed.
Outputs¶
| Artefact | Path |
|---|---|
| Per-repo evergreen | docs/management/compliance/scans/<repo_id>/ongoing-*-review.md |
| Raw JSON | docs/management/compliance/scans/<repo_id>/raw/ |
| Run log | docs/management/compliance/reviews/YYYY-MM.yml |
| Roll-up | docs/management/compliance/scans/YYYY-MMM-portfolio-review.md |