Skip to content

CI gates

The cheapest way to build a system that looks safe is to add checks nobody has ever watched fail. They cost minutes of pipeline time, they turn green on every run, and they are load-bearing in exactly one respect: everyone downstream believes them. The estate’s answer is a rule that a gate ships with a self-test that proves it red — a deliberately broken fixture the gate is required to reject — and that the self-test runs in CI, on the same run that trusts the gate.

CI gate map — 214 scripts across 119 pipelines

Snapshot taken — build-time, not live
  • 119pipeline definitions
  • 88are checks
  • 43ship a self-test
  • 40proven red by CI
214 of 214
ProofScriptWhat it asserts
proven redado_pipeline_metrics.pyansible/scripts/ · 3 pipelinesado_pipeline_metrics.py — the ONE collector for ADO pipeline queue/run timing.
proven redado_pipeline_run.pyansible/scripts/ · 2 pipelinesTrigger or wait on an ADO pipeline run (Epic #376, #923, #1824).
proven redado_to_actions.pyansible/scripts/ · 2 pipelinesConvert Azure DevOps pipeline YAML into GitHub Actions workflows, deterministically.
proven redagent_access_conformance_gate.pyansible/scripts/ · 2 pipelinesConformance gate over the register of AGENT-OPERATED SYSTEMS — Epic #2488, Issue #2518.
proven redapply_rulesets.pyansible/scripts/ · 2 pipelinesReconcile GitHub repository rulesets and merge settings to scripts/rulesets.yml.
nonearr_relief.pyansible/scripts/ · ansible-pve01-scriptsarr_relief.py — the Radarr/Sonarr side of media_cleanup's pool-pressure relief.
proven redbau_bot.pyansible/scripts/ · 2 pipelinesbau_bot.py — the BAU bot: an always-on event responder, deterministically gated.
noneblog_activity.pyansible/scripts/ · ansible-blog-activity-zabbixblog_activity.py — sync the per-day published-blog-post count into Zabbix (Epic #2055, Issue #2056, ADR-0269).
proven redboard_column_reconciler.pyansible/scripts/ · ansible-control01-syncboard_column_reconciler.py — the ADO board column reconciles itself (Epic #2644, Issue #2645).
nonebun3d-boot-gate.shansible/scripts/ · ansible-pve01-scriptsno module docstring
nonebun3d-restore-plan.pyansible/scripts/ · ansible-pve01-scriptsDeployed by Ansible — edit in ansible/scripts/bun3d-restore-plan.py
nonebun3d-vhd-overlay.pyansible/scripts/ · ansible-pve01-scriptsDeployed by Ansible — edit in ansible/scripts/bun3d-vhd-overlay.py
nonebun3d-vm-rebuild.shansible/scripts/ · ansible-pve01-scriptsno module docstring
proven redcc-pool-manager.shansible/scripts/ · 2 pipelinesno module docstring
proven redcc_drain_marker.pyansible/scripts/ · 2 pipelinescc-pool in-flight marker engine — transcript inspection, marker I/O, resume verification.
proven redcc_drill.shansible/scripts/ · 2 pipelinesno module docstring
proven redcc_pool_stuck_watch.pyansible/scripts/ · ansible-control01-synccc_pool_stuck_watch.py — page Pit when a cc-pool session has STOPPED and is waiting on him.
proven redcc_pool_stuck_watch_cron.shansible/scripts/ · ansible-control01-syncno module docstring
proven redcc_slots.shansible/scripts/ · 2 pipelinesno module docstring
proven redcc_spawn.shansible/scripts/ · 2 pipelinesno module docstring
noneci_shared_state_backup.shansible/scripts/ · ansible-pve01-scriptsno module docstring
proven redci_skip_body_gate.pyansible/scripts/ · 2 pipelinesPre-push gate: refuse a push carrying a CI-skip token OUTSIDE the commit subject line.
noneclaude-pod-weekly.shansible/scripts/ · ansible-claude-podno module docstring
noneclaude_config_docs_regen.shansible/scripts/ · ansible-claude-config-docsno module docstring
noneclaude_config_post_commit_hook.shansible/scripts/ · ansible-claude-config-docsno module docstring
proven redclose_bypass_reconcile.pyansible/scripts/ · 2 pipelinesDetect Issues that reached `Done` WITHOUT going through `pitlab-close`.
proven reddawn_triage.pyansible/scripts/ · 2 pipelinesdawn_triage.py — the 06:50 dawn actuator: derived-only remediation, deterministically gated.
proven redderive_write_set.pyansible/scripts/ · 2 pipelinesDerive the pitlab-access WRITE SET from the estate's own automation — Epic #2488, Issue #2524.
proven redcheck_docs_toolchain_pins.pyansible/scripts/doc_gen/ · 2 pipelinescheck_docs_toolchain_pins.py — pitlab-docs MkDocs toolchain pin-parity gate (Issue #2186).
nonecheck_exposure_register.pyansible/scripts/doc_gen/ · 2 pipelinescheck_exposure_register.py — fail the docs build if an un-gated (posture-d) row on the External Exposure Register points at a vanished link target (Issue #1705, Epic #938).
proven redclaim_adr_number.shansible/scripts/doc_gen/ · 2 pipelinesno module docstring
nonegenerate_claude_config_docs.pyansible/scripts/doc_gen/ · ansible-claude-config-docsClaude Code config documentation generator.
proven redgenerate_cloudflare_docs.pyansible/scripts/doc_gen/ · 2 pipelinesCloudflare Access Map generator.
nonegenerate_docker_docs.pyansible/scripts/doc_gen/ · 2 pipelinesDocker stacks documentation generator.
nonegenerate_room_automations.pyansible/scripts/doc_gen/ · hass-configPer-room "day in the life" pages, generated from hass-config.
nonegenerate_schedule_docs.pyansible/scripts/doc_gen/ · 2 pipelinesMaintenance schedule documentation generator.
nonegenerate_service_deps.pyansible/scripts/doc_gen/ · 2 pipelinesService dependency map generator — ONE derivation, THREE renders (Epic #2260, ADR-0355).
proven redpublic_scrub_gate.pyansible/scripts/doc_gen/ · 3 pipelinesFail-closed scrub gate for pages published to the public showcase site (Epic #2557, Issue #2559).
nonestandards_enforcement_gate.pyansible/scripts/doc_gen/ · 3 pipelinesStandard-Enforcement meta-gate (Epic #1713, Issue #1715, ADR-0176).
nonetest_check_exposure_register.pyansible/scripts/doc_gen/ · 2 pipelinesProven-red regression for check_exposure_register.py (ADR-0141).
nonetest_check_standards_completeness.pyansible/scripts/doc_gen/ · 2 pipelinesRegression + negative-control test for check_standards_completeness.py (Epic #1996, Issue #1997 — Build-Hook & Pipeline-Gate Test Standard, ADR-0141, PD12).
nonetest_validate_compliance_catalogue.pyansible/scripts/doc_gen/ · 2 pipelinesRegression + negative-control test for validate_compliance_catalogue.py (Epic #2247, Issue #2249 — Build-Hook & Pipeline-Gate Test Standard, ADR-0141, PD12).
nonetest_validate_script_observability.pyansible/scripts/doc_gen/ · 2 pipelinesCommitted regression test for validate_script_observability.py (Build-Hook & Pipeline-Gate Test Standard, ADR-0141 / ADR-0219).
nonetest_validate_standards_taxonomy.pyansible/scripts/doc_gen/ · 2 pipelinesRegression + negative-control test for validate_standards_taxonomy.py (Epic #1996, Issue #1997 — Build-Hook & Pipeline-Gate Test Standard, ADR-0141, PD12).
proven redvalidate_adr_numbers.pyansible/scripts/doc_gen/ · 2 pipelinesno module docstring
proven redvalidate_bin_manifest.pyansible/scripts/doc_gen/ · 2 pipelinesValidate the control01 /usr/local/bin deploy manifests (Epic #2386).
nonevalidate_compliance_catalogue.pyansible/scripts/doc_gen/ · 2 pipelinesCompliance control-catalogue resolution gate (Epic #2247, Issue #2249, ADR-0352).
nonevalidate_docker01_cac.pyansible/scripts/doc_gen/ · ansible-standards-enforcement-reconciliationdocker01 config-as-code conformance gate (Epic #886, Issue #2002).
nonevalidate_docs_published.pyansible/scripts/doc_gen/ · 2 pipelinesBuild-time guard: every hand-authored doc in pitlab-docs must reach the site.
nonevalidate_mermaid.mjsansible/scripts/doc_gen/ · ansible-build-mermaid-validateno module docstring
nonevalidate_notification_catalog.pyansible/scripts/doc_gen/ · 2 pipelinesStatic Notification-Catalog guard (Epic #1275, Issue #1278, ADR-0062).
nonevalidate_overview_hubs.pyansible/scripts/doc_gen/ · 2 pipelinesBlocking structural lint for overview-hub docs (ADR-0113, Documentation Architecture Standard).
nonevalidate_pipeline_path_coverage.pyansible/scripts/doc_gen/ · 2 pipelinesCI guard: every pipeline's trigger paths cover the files its playbook actually consumes.
proven redvalidate_schedule_tz.pyansible/scripts/doc_gen/ · 2 pipelinesStatic Timezone-Standard guard for pitlab host schedules (Epic #1270, Issue #1272).
nonevalidate_script_observability.pyansible/scripts/doc_gen/ · 2 pipelinesRatcheting unattended-script observability gate (ADR-0219, Epic #1852, Issue #1848).
nonevalidate_standards_taxonomy.pyansible/scripts/doc_gen/ · 2 pipelinesStandards-taxonomy gate (Epic #1996, Issue #1997, ADR-0252).
nonevalidate_systemd_selfheal.pyansible/scripts/doc_gen/ · ansible-standards-enforcement-reconciliationsystemd self-heal clean-reap guard (Epic #1921, Issue #1925, ADR-0234).
proven redvalidate_userparam_barrier.pyansible/scripts/doc_gen/ · 2 pipelinesvalidate_userparam_barrier.py — a NEW Zabbix UserParameter must be written ABOVE the `meta: flush_handlers` barrier in playbooks/sync_control01.yml.
nonedocker-prune.shansible/scripts/ · ansible-docker01-syncno module docstring
nonedockerhub_headroom_cron.shansible/scripts/ · ansible-docker01-syncno module docstring
nonedockerhub_headroom_exporter.pyansible/scripts/ · ansible-docker01-syncDocker Hub rate-limit headroom exporter (Epic #1769 Fleet Update Policy, Issue #1775, ADR-0188).
proven reddt_carry_forward_dispositions.pyansible/scripts/ · 2 pipelinesRestore Dependency-Track dispositions that a BOM re-import silently destroyed.
nonefreescout-artisan.shansible/scripts/ · ansible-docker01-syncno module docstring
proven redfreescout_distill.pyansible/scripts/ · 2 pipelinesDistil resolved FreeScout incidents into {symptom→cause→fix} records (Epic #1028, Issue #1309).
nonefreescout_heal.shansible/scripts/ · ansible-docker01-syncno module docstring
proven redfreescout_incident_fix.pyansible/scripts/ · 2 pipelinesWrap-up incident fix-capture helper (Epic #1028, Issue #1431, ADR-0068 Ph2).
proven redgh_actions_concurrency.pyansible/scripts/ · 2 pipelinesgh_actions_concurrency.py — measure how many self-hosted runners are ACTUALLY busy at once.
self-test onlygh_fetch_pipeline_artifact.pyansible/scripts/ · docker-stacks-infragh_fetch_pipeline_artifact.py — fetch another repo's GitHub Actions artifact onto the runner.
proven redgithub_pr.pyansible/scripts/ · 2 pipelinesOpen (or reuse) a GitHub pull request for a branch and enable auto-merge.
proven redgithub_schedule_watchdog.pyansible/scripts/ · 2 pipelinesFreshness watchdog for GitHub Actions scheduled workflows.
proven redgo_run.pyansible/scripts/ · 2 pipelinesgo_run.py — run state, circuit breaker, deferrals and delivery metrics for /go.
proven redgo_throughput_exporter.pyansible/scripts/ · 2 pipelinesgo_throughput_exporter.py — delivery throughput as a measured signal, not an impression.
proven redgo_throughput_exporter_cron.shansible/scripts/ · 2 pipelinesno module docstring
proven redgo_workorder_check.pyansible/scripts/ · 2 pipelinesgo_workorder_check.py — the fail-closed work-order contract gate for /go.
proven redgroom_backlog_debt.pyansible/scripts/ · ansible-control01-syncgroom_backlog_debt.py — the backlog-grooming debt detective (Epic #1865, Issue #2476, ADR-0399).
proven redha_day_type_evidence.pyansible/scripts/ · 2 pipelinesDaily day-type evidence recorder for Home Assistant (Epic #2940, Issue #2952).
proven redha_entity_name_conformance.pyansible/scripts/ · ansible-control01-syncha_entity_name_conformance.py — assert every Home Assistant friendly_name is formatted so the Assist conversation agent can actually match it.
proven redha_holiday_dates_gen.pyansible/scripts/ · 2 pipelinesScheduled regenerator for Home Assistant's committed public-holiday list (Epic #2940, #2941).
proven redha_ownership_anomaly_classify.pyansible/scripts/ · ansible-control01-syncRe-derive, from Home Assistant's OWN record, what actually caused every ownership-anomaly page.
proven redha_press_detector.pyansible/scripts/ · ansible-control01-syncha_press_detector.py — catch a silent Zigbee button break within minutes of use.
nonehaos_proxy_cert_renew.shansible/scripts/ · configure_ha_nginx_proxyno module docstring
proven redhuman_physical_watch.pyansible/scripts/ · 2 pipelinesThe human-physical surface and its ageing clock — Epic #2825, Issue #2829, ADR-0563.
proven redincident_refire_metrics.pyansible/scripts/ · ansible-control01-syncThe recurrence measure — did the fix HOLD?
proven redincident_refire_metrics.shansible/scripts/ · ansible-control01-syncno module docstring
noneinfisical_env.pyansible/scripts/ · arronpitman-siteFetch-on-login interactive env for control01 (Epic #376, Issue #925 — Phase 4).
noneinfisical_fetch_env.pyansible/scripts/ · 4 pipelinesFetch a stack's secrets from Infisical and emit them as .env lines (Epic #376).
noneinfisical_secret.pyansible/scripts/ · 2 pipelinesGet or set a SINGLE Infisical secret by key (Epic #376, #923 rotation role).
proven redinfisical_tf_vars.pyansible/scripts/ · 4 pipelinesInject Infisical secrets into a Terraform CI job as masked TF_VAR_* (Epic #376, Issue #926; both CI planes at Epic #2282).
proven redlog_legibility_gate.pyansible/scripts/ · 2 pipelinesLog-legibility conformance gate — is any workload's log DROWNED in its own errors?
noneloki_push.pyansible/scripts/ · ansible-standards-enforcement-reconciliationPush a single structured log line to Loki (Epic #376, #923).
nonemail_to_pushover.shansible/scripts/ · ansible-exim4no module docstring
proven redmain_push_conformance.pyansible/scripts/ · 2 pipelinesReconcile every commit that reached `main` against the sanctioned path: a pull request.
nonemedia_cleanup.shansible/scripts/ · ansible-pve01-scriptsno module docstring
proven rednotification_class_gate.pyansible/scripts/ · 2 pipelinesnotification_class_gate.py — prove every notification sender is classified AND deliverable.
nonepatch_reboot_coordinator.pyansible/scripts/ · 2 pipelinespatch_reboot_coordinator.py — pitlab fleet PATCH+reboot coordinator (Epic #1769, Issue #1771).
nonepbs_backup_check.shansible/scripts/ · ansible-backup-monitoringno module docstring
proven redpin_repo_trees.shansible/scripts/ · 3 pipelinesno module docstring
nonepitlab-hookscript-deploy.shansible/scripts/ · ansible-pve01-scriptsno module docstring
nonepitlab-onboarding.shansible/scripts/ · ansible-pve01-scriptsno module docstring
nonepitlab-user-check.shansible/scripts/ · ansible-pve01-scriptsno module docstring
nonepitlab_access_install.shansible/scripts/ · ansible-pitlab-access-deployno module docstring
proven redpitlab_cc.pyansible/scripts/ · 2 pipelinespitlab_cc.py — clear ONE cc-pool slot's context from another session, or refuse.
proven redpitlab_close.pyansible/scripts/ · 2 pipelinespitlab_close.py — closure is PRODUCED by executing the Issue's own Acceptance, never asserted.
proven redpitlab_pr.shansible/scripts/ · 2 pipelinesno module docstring
noneplex_downloads_exporter.pyansible/scripts/ · ansible-plex-downloads-exporterno module docstring
proven redplex_user_filter_reconciler.pyansible/scripts/ · 2 pipelinesplex_user_filter_reconciler.py — the children's Plex classification gate as code.
proven redpr_stall_watch.pyansible/scripts/ · 2 pipelinesRaise the pull requests that WILL NEVER MERGE ON THEIR OWN, and only those.
proven redpr_validate_gen.pyansible/scripts/ · 2 pipelinesGenerate each repo's `.github/workflows/pr-validate.yml` from that repo's own CI workflow.
proven redprovision_tier0_cloudflare_identity.pyansible/scripts/ · 2 pipelinesprovision_tier0_cloudflare_identity.py — mint the tier-0 Cloudflare minting identity.
proven redpushover_notify.pyansible/scripts/ · 4 pipelinesSend a pitlab notification — SLACK FIRST, Pushover as the proven failover (Epic #376, #925; re-pointed at Slack by Epic #2506 / Issue #2508, ADR-0524).
nonepve-forward-accept-watchdog.shansible/scripts/ · ansible-pve01-scriptsno module docstring
nonepve-remove-nag.shansible/scripts/ · ansible-pve01-scriptsno module docstring
nonepve-vmbr-forward-accept.shansible/scripts/ · ansible-pve01-scriptsno module docstring
nonerclone_files_sync.shansible/scripts/ · ansible-docker01-syncno module docstring
nonereboot-coordinator-postboot.shansible/scripts/ · ansible-reboot-coordinatorno module docstring
nonereboot-coordinator.shansible/scripts/ · ansible-reboot-coordinatorno module docstring
self-test onlyrestore_drill.pyansible/scripts/ · ansible-restore-drillrestore_drill.py — automated PBS restore-and-boot drill (Epic #1652, Issue #1653, ADR-0158/0159).
nonerestore_drill_run.shansible/scripts/ · ansible-restore-drillno module docstring
nonesecret_scan.shansible/scripts/ · 11 pipelinesno module docstring
noneservice_catalog_regen.shansible/scripts/ · ansible-service-catalogno module docstring
proven redstdgap.pyansible/scripts/ · 2 pipelinesstdgap — file a standards gap onto the register, atomically and verifiably.
nonetest_ado_pipeline_run.pyansible/scripts/ · ansible-control01-syncRegression gate for ado_pipeline_run.py's wait-path hardening (Issue #2210, ADR-0339).
nonetest_freescout_distill.pyansible/scripts/ · ansible-control01-syncSelf-test for freescout_distill.py — stdlib only, no network, no live LLM/Qdrant/FreeScout.
nonetest_ha_ownership_anomaly.pyansible/scripts/ · ansible-control01-syncProven-red regression for ha_ownership_anomaly.py (ADR-0141 discipline, Issue #2328).
nonetest_haos_loki_logger.pyansible/scripts/ · ansible-deploy-haos-lokiOffline liveness self-test for the HAOS loki_logger custom component (Issue #2064).
proven redtest_pitlab_close.pyansible/scripts/ · 2 pipelinestest_pitlab_close.py — the proven-red regression harness for the closure gate (ADR-0141).
nonetest_stalled_grab_watchdog.pyansible/scripts/ · ansible-control01-syncSelf-test for stalled_grab_watchdog.py — stdlib only, no network, no live *arr.
self-test onlytest_stuck_alert_watchdog.pyansible/scripts/ · ansible-control01-syncDiscrimination proof for the stuck-alert watchdog (Epic #2107, Issue #2158).
nonetest_tf_approval_gate.pyansible/scripts/ · 2 pipelinesRegression test for tf_approval_gate.py (ADR-0141 — build-hook/gate test standard).
nonetest_zabbix_cron_heartbeats.pyansible/scripts/ · ansible-control01-syncSelf-test for zabbix_cron_heartbeats_monitoring.py — stdlib only, no network, no live Zabbix.
nonetf_approval_gate.pyansible/scripts/ · 2 pipelinestf_approval_gate.py — the human approval gate for Terraform applies on GitHub Actions.
proven redtier0_store.pyansible/scripts/ · 2 pipelinestier0_store.py — read ONE credential out of the tier-0 store, for a CONSOLE ACT.
proven redtrim_always_loaded_layer.pyansible/scripts/ · 2 pipelinesReduce the always-loaded Claude agent-config layer, under an eval gate that can refuse.
proven redudm_client.pyansible/scripts/ · 2 pipelinesName a UniFi client and pin its current lease as a DHCP reservation.
proven redudm_reservation_audit.pyansible/scripts/ · 2 pipelinesFlag any device an integration addresses by IP that has no UDM DHCP reservation.
noneups-watchdog.shansible/scripts/ · ansible-pve01-scriptsno module docstring
noneurbackup_check.shansible/scripts/ · ansible-backup-monitoringno module docstring
proven redvalidate_ci_pool_parity.pyansible/scripts/ · 2 pipelinesvalidate_ci_pool_parity.py — assert every agent in the pitlab pool carries the SAME, DECLARED toolchain (Epic #2187, Issue #2206; design docs/designs/2187-ci-runner-pool.md).
proven redvalidate_deploy_tags.pyansible/scripts/ · 2 pipelinesvalidate_deploy_tags.py — conformance gate for the stack-deploy tag taxonomy.
proven redvalidate_disk_latency_thresholds.pyansible/scripts/ · configure_fleet_disk_latencyvalidate_disk_latency_thresholds.py — the acceptance gate for derived disk-latency thresholds.
proven redvalidate_dt_project_namespaces.pyansible/scripts/ · 2 pipelinesvalidate_dt_project_namespaces.py — the conformance gate for per-host Dependency-Track project namespacing (Issue #2121, ADR-0363).
proven redvalidate_guard_ledger.pyansible/scripts/ · 2 pipelinesAggregating verdict gate for a multi-guard CI job (incident #2470).
proven redvalidate_ha_reload_coverage.pyansible/scripts/ · 2 pipelinesvalidate_ha_reload_coverage.py — the reload set must cover every domain the source can declare.
proven redvalidate_handler_durability.pyansible/scripts/ · 2 pipelinesvalidate_handler_durability.py — conformance gate for pending-handler durability.
proven redvalidate_mail_sender.pyansible/scripts/ · 2 pipelinesvalidate_mail_sender.py — every sendmail call sets the envelope sender, not just the header.
proven redvalidate_notify_handlers.pyansible/scripts/ · 2 pipelinesFail the build on an Ansible `notify:` that resolves to no handler.
proven redvalidate_pipeline_agent_portability.pyansible/scripts/ · 2 pipelinesvalidate_pipeline_agent_portability.py — the conformance gate for pipeline agent-portability (Epic #2187, Issue #2216, ADR-0337).
proven redvalidate_repo_script_locality.pyansible/scripts/ · 2 pipelinesvalidate_repo_script_locality.py — conformance gate for repo-script execution locality.
proven redvalidate_secret_scan_coverage.pyansible/scripts/ · ansible-standards-enforcement-reconciliationvalidate_secret_scan_coverage.py — fleet-wide secret-scanning conformance gate (ADR-0277).
proven redvalidate_selftest_coverage.pyansible/scripts/ · 2 pipelinesReconcile self-tests against the pipelines that are supposed to run them.
self-test onlyvalidate_target_lock_coverage.pyansible/scripts/ · 2 pipelinesvalidate_target_lock_coverage.py — the conformance gate for target-host serialisation (Issue #2199 step 7, ADR-0330).
proven redvalidate_zabbix_trigger_windows.pyansible/scripts/ · 2 pipelinesRefuse a Zabbix window function that is carrying a meaning it cannot carry.
nonevzdump_nightly_check.shansible/scripts/ · ansible-pve01-host-zabbixno module docstring
proven redwaitfor_poll.pyansible/scripts/ · 2 pipelineswaitfor poller — evaluate a TYPED predicate to a terminal state, always leaving a marker.
proven redzabbix_actor_tags.pyansible/scripts/ · 2 pipelineszabbix_actor_tags.py — reconcile the `actor` tag onto every Zabbix trigger (ADR-0560).
nonezabbix_board_reconciler_monitoring.pyansible/scripts/ · configure_board_reconciler_zabbixAssert the board-column-reconciler Zabbix monitoring on control01 (Epic #2644, Issue #2645).
proven redzabbix_cron_heartbeats_monitoring.pyansible/scripts/ · 2 pipelinesEnsure missed-run (dead-man's-switch) Zabbix monitoring exists for control01 cron jobs.
proven redzabbix_demoted_conditions.pyansible/scripts/ · 2 pipelinesEnforce the Zabbix demotion register — the trigger is gone AND the condition is still visible.
nonezabbix_epic_tag_gate_monitoring.pyansible/scripts/ · configure_epic_tag_gate_zabbixAssert the Epic tag-vocabulary Zabbix monitoring on control01 (ADR-0399 amended 2026-08-28).
nonezabbix_groom_monitoring.pyansible/scripts/ · ansible-groom-zabbixAssert the backlog-grooming Zabbix monitoring on control01 (Epic #1865, Issue #2476, ADR-0399).
proven redzabbix_ha_trigger_prototypes.pyansible/scripts/ · 3 pipelinesConverge the two damped Home Assistant LLD trigger prototypes (Issue #2827, ADR-0562).
nonezabbix_hypercare_monitoring.pyansible/scripts/ · ansible-hypercare-zabbixAssert the hypercare-window Zabbix monitoring on control01 (Epic #2369, ADR-0389).
nonezabbix_lifx_triggers.pyansible/scripts/ · ansible-zabbix-lifx-triggersIdempotently applies flap-suppression hysteresis to the LIFX "offline in HA" triggers on the Zabbix host 'LIFX Integration' (hostid 11497) — Issue #1337, Epic #906 (Zabbix config-as-code gap analysis).
nonezabbix_monitoring_reconciler.pyansible/scripts/ · ansible-standards-enforcement-reconciliationMonitoring-as-Code drift audit — the live half of the Zabbix config-as-code loop (Epic #833, Issue #1523).
nonezabbix_pbs_monitoring.pyansible/scripts/ · ansible-xt035-pbs-zabbixIdempotently assert the PBS task-health Zabbix items + triggers on xt035.
nonezabbix_reboot_coordinator_monitoring.pyansible/scripts/ · ansible-reboot-coordinatorEnsure reboot-coordinator Zabbix monitoring exists across the fleet.
nonezabbix_service_health_monitoring.pyansible/scripts/ · ansible-service-health-zabbixEnsure the fleet service-health Zabbix monitoring exists across every host (Epic #833, Issue #1530).
proven redzabbix_slack_media_standard.pyansible/scripts/ · ansible-control01-syncCut the Zabbix alerting surface over to Slack, with Pushover as the proven failover.
nonezabbix_tag_api_ping.pyansible/scripts/ · ansible-arr-api-zabbixConverge RULE 10 service tags onto the *.api.ping Zabbix objects on docker01.
nonezabbix_urbackup_monitoring.pyansible/scripts/ · ansible-urbackup-zabbixzabbix_urbackup_monitoring.py — reshape the UrBackup client staleness alert to "online-but-stale" (Epic #1784, Issue #1792, ADR-0197).
noneassert_rendered.mjsarronpitman-site/scripts/ · arronpitman-siteRendered-DOM acceptance for the four set-pieces (Epic #2557, Issue #2560).
proven redbuild_snapshots.pyarronpitman-site/scripts/ · arronpitman-siteEmit the build-time data snapshots the four set-pieces render (Epic #2557, Issue #2560).
nonelegibility_gate.mjsarronpitman-site/scripts/ · arronpitman-siteDiagram legibility gate for the published site (Epic #2591, Issue #2593).
nonelighthouse_gate.mjsarronpitman-site/scripts/ · arronpitman-siteLighthouse gate for the published site (Epic #2557, Issue #2560).
proven redprerender_mermaid.mjsarronpitman-site/scripts/ · arronpitman-sitePre-render every Mermaid diagram in the site's content to static SVG, at build time, in both colour schemes (Epic #2591, Issue #2593; ADR-0456, which supersedes ADR-0028's rejection of SVG pre-render).
self-test onlyprove_setpiece_scrub.sharronpitman-site/scripts/ · arronpitman-siteno module docstring
proven redpublish_set_unchanged.pyarronpitman-site/scripts/ · arronpitman-siteDecide whether the freshly rendered publish set is already live, byte for byte.
proven redrender_corpus.pyarronpitman-site/scripts/ · arronpitman-siteSelect and render the `public: true` slice of the pitlab-docs corpus as Starlight pages.
self-test onlyeval_harness.pyclaude-config/scripts/ · claude-config-ciTier-1 behavioural eval harness for the claude-config constitution (Epic #2788, Issue #2850).
noneeval_tier3_judge.pyclaude-config/scripts/ · claude-config-ciTier-3 nightly judge — register and tone, REPORTED AS A TREND AND NEVER A GATE.
proven redrule_inventory_gate.pyclaude-config/scripts/ · claude-config-ciRule-inventory gate for the claude-config constitution (Epic #2420, Issue #2421).
proven redskill_structure_gate.pyclaude-config/scripts/ · claude-config-ciskill_structure_gate.py — every skill is a router with a declared cost and resolving pointers.
proven redverify_claim.pyclaude-config/scripts/ · claude-config-civerify_claim.py — grade ONE claim against the live system, blind to how the claim was produced.
proven redalert_window_firability_gate.pydocker-stacks/scripts/ · 2 pipelinesalert_window_firability_gate.py — fail the build on an alert rule that CANNOT FIRE.
proven redartifact_gate.pydocker-stacks/scripts/ · docker-stacks-observabilityArtifact acceptance gate for RUN-TO-COMPLETION workloads (Issue #2181, ADR-0321).
proven redchanged_image_trivy_gate.pydocker-stacks/scripts/ · 2 pipelineschanged_image_trivy_gate.py — block a docker-stacks push that bumps an image pin to a tag carrying a CRITICAL vulnerability.
proven redcounter_birth_guard.pydocker-stacks/scripts/ · 2 pipelinescounter_birth_guard.py — static CI gate against the counter-birth false-page class (ADR-0292).
noneeit_conformance_gate.pydocker-stacks/scripts/ · 6 pipelinesEncryption-in-Transit conformance gate — fails a deploy when a NEW plaintext cross-host listener appears on docker01 that is not accounted for on the exceptions register.
proven redgate_common.pydocker-stacks/scripts/ · 5 pipelinesShared helpers for the docker-stacks post-deploy gates (Issue #2185, ADR-0317).
nonehomepage_icon_gate.pydocker-stacks/scripts/ · 2 pipelinesPre-deploy icon gate — fails the homepage deploy if any tile icon does not resolve to a real image, so the start page can never ship a generic "?" placeholder.
self-test onlyhomepage_regen_parity_gate.pydocker-stacks/scripts/ · 2 pipelineshomepage_regen_parity_gate.py — fail the deploy when stacks/homepage/config/services.yaml is not what its generator would produce from its sources (Epic #1594, Issue #1967; ADR-0143).
proven redhost_stack_source_gate.pydocker-stacks/scripts/ · 2 pipelinesHost->repo stack-source reconciliation gate — every workload running on docker01 must have source.
proven redimage_pin_gate.pydocker-stacks/scripts/ · 2 pipelinesimage_pin_gate.py — a container that renders a VERDICT must be pinned by digest, not by tag.
noneloki_log_gate.pydocker-stacks/scripts/ · 6 pipelinesPost-deploy Loki log-shipping gate — fails the deploy if a just-deployed stack ships NO logs to Loki.
proven redpipeline_coverage_gate.pydocker-stacks/scripts/ · 7 pipelinesPipeline stack-list completeness gate — every deployed stack must be gated and triggered.
nonequiet_hours_guard.pydocker-stacks/scripts/ · 2 pipelinesquiet_hours_guard.py — static stuck-mute CI gate for the sleep quiet-hours window (ADR-0264).
nonerefresh_consumer_roots.shdocker-stacks/scripts/ · 7 pipelinesno module docstring
proven redrenovate_config_gate.pydocker-stacks/scripts/ · 4 pipelinesrenovate_config_gate.py — semantic CI gate over renovate.json (Issue #2150).
nonesmoke_gate.pydocker-stacks/scripts/ · 6 pipelinesPre-deploy smoke gate — fails the deploy if a just-deployed container does not start & serve.
nonetest_eit_conformance_gate.pydocker-stacks/scripts/ · ansible-eit-reconciliationSelf-test for eit_conformance_gate.py — stdlib only, no network, no ssh.
proven redtestplan_gate.pydocker-stacks/scripts/ · 7 pipelinesPost-deploy service test-plan gate — runs each deployed stack's test plan, fails the pipeline on a functional regression, and (mode-gated) AUTO-ROLLS-BACK the offending deploy to last-good (Service Test Plan Standard, ADR-0102; Issues #1478 gate + #1479 auto-rollback).
self-test onlytestplan_run.pydocker-stacks/scripts/ · 7 pipelinesShared service test-plan runner — the one runner behind the Service Test Plan Standard (ADR-0102).
proven redtestplan_synthetic_gate.pydocker-stacks/scripts/ · docker-stacks-infraScheduled synthetic test-plan gate for host/LXC services (Service Test Plan Standard, ADR-0102; host/LXC tranche, Issue #1489).
nonecheck_dashboard_conformance.pydocker-stacks/stacks/observability/scripts/ · 2 pipelinesDashboard conformance gate — enforces Pillar 2 + the bidirectional catalog at deploy time.
noneplan_classifier_gate.pytf-azure/scripts/ · 3 pipelinesplan_classifier_gate.py — decide whether a tf-azure apply may run UNATTENDED or must pause for Pit's approval.
nonetest_plan_classifier_gate.pytf-azure/scripts/ · 3 pipelinesRegression test for plan_classifier_gate.py (ADR-0141 — build-hook/gate test standard).
noneplan_classifier_gate.pytf-backblaze/scripts/ · terraform — backblazeplan_classifier_gate.py — decide whether a tf-backblaze apply may run UNATTENDED or must pause for Pit's approval.
nonetest_plan_classifier_gate.pytf-backblaze/scripts/ · terraform — backblazeRegression test for plan_classifier_gate.py (ADR-0141 — build-hook/gate test standard).
noneconfig_completeness_gate.pytf-cloudflare/scripts/ · 2 pipelinesconfig_completeness_gate.py — fail the tf-cloudflare plan when a LIVE Cloudflare object is absent from terraform state and not on the ratified completeness allowlist (Issue #2040, ADR-0259 follow-up).
noneexposure_conformance_gate.pytf-cloudflare/scripts/ · 2 pipelinesexposure_conformance_gate.py — fail the tf-cloudflare plan on an un-gated, unregistered public hostname (RULE 13 / ADR-0150).
nonetest_config_completeness_gate.pytf-cloudflare/scripts/ · terraform — cloudflareRegression test for config_completeness_gate.py (ADR-0141 — build-hook/gate test standard).
nonetest_exposure_conformance_gate.pytf-cloudflare/scripts/ · 2 pipelinesRegression test for exposure_conformance_gate.py (ADR-0141 — build-hook/gate test standard).
noneplan_classifier_gate.pytf-proxmox/scripts/ · 2 pipelinesplan_classifier_gate.py — decide whether a tf-proxmox apply may run UNATTENDED or must pause for Pit's approval.
nonetest_plan_classifier_gate.pytf-proxmox/scripts/ · 2 pipelinesRegression test for plan_classifier_gate.py (ADR-0141 — build-hook/gate test standard).

45% of the checks are proven red by CI — that is,40 of 88 are run against a deliberately broken fixture on the same run that trusts them, and are required to fail. The rest are not, and that is the honest state of it rather than a rounded-up one. A gate nobody has seen go red is a green light nobody earned.

Derived, not listed: all 119 workflow definitions were enumerated from the GitHub Actions API across every repository the estate builds from,119 of them run at least one repository script, and every one of those scripts was fetched and read for its own description. Every one resolved to a file.A script counts as a check when its filename declares it one —validate_, assert_, verify_, check_,test_, or a _gate/_guard/_conformancesuffix — which is this estate's own convention. A builder or a credential helper is listed and not counted.

Why “proven red” is a different column from “has a self-test”

Section titled “Why “proven red” is a different column from “has a self-test””

They are deliberately separate, because collapsing them hides the interesting state. A self-test that exists and is never run is a gate nobody has seen go red; it has the shape of proof and none of the effect. Splitting the columns makes that state visible instead of rounding it up into the reassuring one.

The number that is not 100% is the honest part of this panel. Some of these checks are proved by hand at the time they are written and never again; that is a real gap, it is visible here, and publishing it is cheaper than the alternative, which is discovering it during an incident.

Nothing here is typed in. All the project’s pipeline definitions are read from the build API, each one’s YAML is read from the repository it builds from, and every script that YAML runs is read for its own opening description. If a single definition cannot be resolved, the build fails rather than publishing a partial census — a smaller number presented with the same confidence is worse than no number, because nothing on the page could tell you which you were looking at. A hand-written list would be the specific failure this estate names authored, not observed: every entry correct, and the set silently short of whatever was added after the list was written.

Three things had to be got right before the list was trustworthy, and each was wrong first:

  • The credential could read three of the hundred pipeline definitions. Reading everything through the API looked like the thorough choice, and the build identity’s authorisation is scoped to the repositories its own pipeline references — so the first published version of this panel covered 30 scripts and presented them with exactly the same confidence as the full set. The page’s own numbers agreed with the data behind it perfectly; only an absolute floor in the acceptance gate caught it, because an equality check between two consistent wrong numbers cannot. It now reads from the build agent’s own checkouts, which carry every repository, and refuses to publish at all if any definition is unreadable.
  • Anchoring on an interpreter keyword — python3 …, node … — found the tidy invocations and missed the strictest gates on this very site, which are handed to a container image’s own entry point. Their absence looked exactly like “this pipeline has no rendered-DOM gate”.
  • A step’s display name comes after the shell block it names, so attributing scripts to the last label seen shifts every step by one. It does not fail; it produces a complete, plausible, wrong map.

A script counts when its filename declares it one — validate_, assert_, verify_, check_, test_, or a _gate / _guard / _conformance suffix. That is this estate’s own naming convention rather than a judgement made here, and stating the rule on the page is what makes a miscount a visible disagreement with something published rather than an invisible opinion. A builder or a credential helper is listed and not counted.