Your CI Runner Is Governance Infrastructure
Your CI pipeline produces the candidate evidence that your code satisfies its declared conditions. The tests pass or they do not. The build succeeds or it does not. The linter finds violations or it does not. The security scan flags something or it does not. Each answer is candidate evidence. The evidence is produced by a machine.
Which machine?
The Thesis
If your runner is hosted — GitHub Actions, GitLab SaaS, any managed CI service — the machine is someone else’s. Someone else can change the configuration. Someone else can change the runner version. Someone else can throttle, gate, or price the runner. Someone else can discontinue the runner. Each of these changes the conditions under which your evidence is produced without changing your code. Your code did not change. Your evidence-production boundary changed. Someone else changed it.
If your runner is self-hosted, you control the substrate. You control the configuration. You control the version. You control the uptime. No one else can gate, throttle, or price your evidence-production boundary.
Self-hosting removes one external authority from the evidence-production path. Self-hosting does not remove all external authorities. Upstream toolchains, package registries, scanner databases, and network services may remain external. Different constraints replace the hosted constraints. Not zero constraints. Different constraints that you chose instead of constraints someone else chose for you.
The Gating Pattern
The hosted runner follows the same gating pattern as every other hosted tool.
Step one: offer the capability. Free tier. Generous minutes. Step two: make the capability a dependency. Your CI/CD workflows are built on it. Your team relies on it. Your release cadence depends on it. Step three: gate the capability. Pricing tiers. Minute limits. Queue priority for paying customers. Step four: the dependency is deep enough to survive the gating. You pay or you degrade.
This is the same pattern as cloud compute, SaaS platforms, and cognitive tools. The tool you depend on that someone else controls is the tool that will be gated the moment the dependency is deep enough to survive the gating.
Self-hosting removes the hosted-runner gating. Self-hosting does not remove all constraints. Electricity costs. Disk contention exists. Thermal limits exist. Network dependencies for upstream packages remain. The constraints are different. The constraints are yours.
The Evidence Chain
The CI runner produces test results, build artifacts, coverage reports, security scan results, linter output, package snapshots, and deployment artifacts. Each is candidate evidence. Each is part of the governance chain when policy admits it into a decision.
Evidence does not become governance by existing. Evidence becomes governance when an admission rule accepts it into a decision. The runner produces the evidence. The runner does not admit the evidence. The admission is a separate authority. The runner and the admission authority are different operations. Confusing them collapses the evidence-production boundary into the governance decision. They are not the same.
If the evidence is produced on someone else’s substrate, someone else’s decisions about their substrate affect the conditions under which your evidence is produced. If the evidence is produced on your substrate, you control the conditions. Your substrate can be inspected and configured by you. Runner-substrate trust is local. Upstream trust and transitive trust may remain external. Local control is not total sovereignty. Local control is one fewer external authority in the evidence-production path.
How I Self-Host
Self-hosted GitLab at ports 18080, 18443, and 18022. On the same machine that runs the compiler. One desktop. i7-13700KF, 32GB DDR4, Windows 11.
I will name the structural defect honestly: GitLab, the runner, the compiler, and artifact custody all live on one desktop. Sovereignty increases because there is no external runner dependency. Authority separation decreases because all roles are on one machine. The correlated-failure radius increases because one machine failing means everything fails. One desktop is admissible for bootstrap — one person, early stage, the work is the priority. Governed production may require separation across independent failure domains.
The pipeline: push to the repo. The runner picks up the job. The runner executes the pipeline on my hardware. Tests run on my machine. Artifacts are produced on my machine. No hosted-runner dependency in the evidence-production path. No minute cap from a provider. No provider queue tier. No per-minute billing. Local constraints remain: electricity, disk, thermal, contention.
The executor matters. A shell executor exposes the host to contamination risk. A container executor introduces image provenance requirements. A custom executor introduces implementation-verification burden. The choice affects the trust boundary. The choice is yours because the substrate is yours.
What it costs: electricity, disk space, maintenance, and the machine you already own. The responsibility is yours. The responsibility is the cost of local control.
Provenance
Evidence integrity requires binding. The source hash bound to the run. The job definition bound to the run. The toolchain identity recorded. The environment identity recorded — version pins, configuration hashes. The runner identity recorded. Timestamps and sequence preserved. Signatures or attestations where the governance requires them.
The runner produces the evidence. The provenance binds the evidence to its origin. Without provenance, the claim “this evidence came from this run” is indeterminate. Governance cannot admit unprovenanced evidence.
Self-hosting does not automatically produce provenance. Self-hosting provides the substrate on which provenance can be built. The provenance is a separate obligation. The substrate enables the obligation. The substrate does not discharge the obligation. You must build the provenance binding on top of the substrate you control. Controlling the substrate makes the provenance yours. Controlling the substrate does not make the provenance exist.
What You Give Up
Hosted runners are maintained by someone else. They scale on demand. They provide geographic distribution and failure diversity across regions. They update automatically. They require no hardware cost.
Self-hosted runners are maintained by you. You update the runner. You handle disk space, network, and security. The substrate is on your desk or in your rack. The responsibility is yours. Co-location means one failure domain. One failure domain means increased correlated risk.
The tradeoff: hosted gives less responsibility and less control. Self-hosted gives more responsibility and more control. The control is over one governance-critical boundary. The responsibility is the cost of that control. The cost is real.
If local control of evidence production is a constitutive governance condition for your system — if your regulatory environment, your security posture, or your governance architecture requires that you control the substrate that produces your evidence — own or exclusively control the runner.
If local control is not a constitutive governance condition, hosted may be admissible. The decision depends on your governance requirement, not on a universal rule.
The Connection
I build governed AI coding infrastructure. The governed coding workflow produces candidate evidence. The evidence is produced by the runner. The runner is self-hosted. The evidence-production boundary is locally controlled. The governance does not depend on someone else’s runner. The governance does not degrade when someone else changes their pricing.
The runner is one component of governance. The runner is not governance. Governance requires also: policy authority, evidence admission rules, authority separation, and provenance binding. The runner is the substrate. The governance is the system built on the substrate. Controlling the substrate removes one external authority from the evidence-production path. Controlling the substrate does not complete the governance.
The runner is not merely a convenience. It is the substrate that produces your CI evidence.
Evidence does not become governance by existing. It becomes governance when policy admits it into a decision.
If someone else controls the runner, someone else controls one boundary of your evidence chain.
If that boundary must be yours, own the runner. Bind the environment. Preserve the provenance. Govern the evidence.
Related: MetaCortex Code: The Deterministic Software Lathe · Stop Letting AI Coding Agents Decide When They Are Done
GitHub Sponsors: github.com/sponsors/MetaCortex-Dynamics
Buy Me a Coffee: buymeacoffee.com/metacortexdynamics
Constitutive Geometric Projection. MetaCortex Dynamics.


