Skip to main content
Federal Integrators

The integrator's guide to model governance across many programs

Governance built for one model is a document. Governance built for twenty programs is infrastructure. This is how an integrator builds the registry, documentation, evaluation and monitoring as services programs choose to use, and why the review board's defining metric is turnaround time.

Governance built for one model is a document. Governance built for twenty programs is infrastructure. The difference matters because an integrator running models across many contracts does not have a governance problem in the singular. It has a coordination problem: dozens of teams, different customers, different security boundaries, different tool stacks, different contract terms, and one corporate name on the risk. The instinct is to write a policy and require compliance. That approach produces a binder, a quarterly attestation exercise and very little change in what the programs actually do, because a program manager with a delivery date does not adopt an obligation. They adopt something that makes their week easier.

This is written for the chief engineer or governance lead who has to make this real across a portfolio. The thesis is simple: governance that scales is built as shared services programs choose to use, with a small number of things that are genuinely required, and a review body whose defining metric is turnaround time rather than thoroughness.

What goes wrong with the policy-first approach

Four failure patterns show up repeatedly, and each has an engineering answer rather than an organizational one.

The inventory is a spreadsheet and it is wrong within a quarter. Someone asks how many models the company runs. A survey goes out. Programs respond unevenly. The resulting list is stale before it is circulated, and it never includes the models that matter most: the ones somebody built quickly to solve a delivery problem.

Documentation is written for the audit rather than for the engineer. A template with forty fields produces forty fields of low-quality text, because the person filling it in is doing it under duress and none of it feeds anything they use. Documentation nobody reads does not reduce risk; it records that a form was filled.

Evaluation is claimed but not comparable. Every program reports that its model performs well. Each measured differently, on its own data, with its own splits, at its own threshold. Nothing can be compared, so no portfolio judgment is possible.

The review board becomes a queue. A board that meets monthly and asks for more information half the time adds two months to a delivery. Programs learn to route around it, and the models with the least oversight become the ones with the most delivery pressure, which is exactly backwards.

What drives voluntary program adoption of shared governance services

The service saves the program work it would do anyway
96%
Registration happens automatically from the deployment pipeline
91%
Documentation is generated from artifacts rather than typed
87%
Review turnaround measured in days with a published clock
84%
Monitoring the program would otherwise have to build itself
79%
A corporate mandate with an attestation deadline
33%

Editorial weighting, illustrative rather than measured. The last row is deliberately low: mandates produce attestations, not adoption.

The inventory, built as a system rather than a survey

Everything else depends on knowing what exists, so the inventory is the first thing to build and the thing most often built wrong.

The working design is a registry with an API, populated by the deployment path rather than by people. A model becomes registered because it was deployed, not because someone remembered. Practically that means a registration step in the shared deployment pattern, a library call in the serving layer that reports version and identity at startup, and scanners that look for the ways models reach production outside those paths: a serving container, a notebook on a schedule, a call to an external provider from application code.

The record per model needs about a dozen fields, and no more, because every extra field lowers the quality of all of them. An identifier and name. The program and contract it serves. The technical owner and the accountable manager, as people rather than roles. Purpose, in one sentence a non-engineer understands. Decision type, meaning whether it informs a person, assists a person, or acts without one. Population affected, including whether the public is involved. Data classes consumed, including whether personal data is present. Deployment environment and security boundary. Provider and model version where an external model is involved. Current status. Last evaluation date and where the results live. Risk tier.

The tiering rule should be short enough to apply in a minute. A model that affects a member of the public directly, or acts without human review, or touches personal data, is high tier. A model that informs a person who decides, on internal data, is medium. A model whose errors produce inconvenience and nothing else is low. Three tiers with clear tests beat five tiers with judgment calls, because the point is consistent triage, not precision.

A federated portfolio adds one wrinkle worth planning for. Programs in different security boundaries cannot always send data to a corporate registry. The pattern that works is a local registry inside each boundary and a metadata-only synchronization outward: identity, tier, owner, status and evaluation dates cross the boundary; data, model artifacts and results do not. Design that in early rather than discovering it when the first restricted program declines to participate.

A model becomes registered because it was deployed, not because someone remembered.

Documentation that gets generated instead of typed

The trick with model documentation is to make most of it a build artifact. A template with forty free-text fields produces low-quality text. A document that assembles itself from things that already exist produces accurate text, and the engineer only writes the parts that require judgment.

What can be generated automatically: model identity and version, training data references and date ranges, feature or input definitions, hyperparameters and training configuration, evaluation results with the dataset and date, dependency versions, the deployment target, and the change history. All of that lives in the pipeline already. What a person must write, and should be asked to write well because it is short: intended use in plain language, known limitations and where the model should not be used, the populations it was and was not evaluated on, the human oversight arrangement, and the escalation path when something looks wrong.

Generation has a second benefit that matters more over time. Because the document rebuilds on every training run, it cannot go stale, and staleness is what makes documentation useless. A one-page current summary plus a full record on demand serves the two audiences that actually read these: a reviewer who needs a decision, and an auditor who needs the trail.

Evaluation baselines that make programs comparable

Portfolio judgment requires comparability, and comparability requires a standard the programs can actually meet without redoing their work.

The standard has five parts. A held-out evaluation set that is versioned and never trained on, with a documented sampling procedure so the next team can rebuild it. Metrics chosen for the decision rather than the model family, reported with confidence intervals rather than as point estimates, because a single number invites false comparisons. A slice analysis reporting performance across the subgroups that matter for the program, defined before the results are seen. Calibration where a score is used against a threshold, since a poorly calibrated score makes the threshold meaningless. And a stated baseline: what the process did before the model, measured the same way, because the useful question is never how good the model is in isolation.

For systems built on generative models the shape changes but the discipline does not. The evaluation set becomes a fixed set of cases with reference answers or graded criteria. Scoring uses a defined rubric applied consistently, with human grading on a sample to check whether automated scoring agrees. Coverage includes the failure cases the program cares about: refusal behavior, grounding to source material, handling of adversarial input, and consistency across runs. The result set is versioned and rerun on every model, prompt or dependency change, so a provider update cannot move behavior silently.

The shared service here is the runner, not the tests. Programs write their own cases because only they know their domain. The central team provides a managed execution environment, result storage, comparison views across versions and a gate that can fail a deployment when a result regresses. That division of labor is what makes adoption easy: programs keep control of what "good" means, and get the plumbing free.

Monitoring, and what actually needs watching

Monitoring in production divides into four layers, and most teams build the first and skip the rest.

Operational health: availability, latency, error rates, cost per call. Necessary, insufficient, and the only layer most systems have.

Input monitoring: distributions of the inputs compared to the training or reference period, missing rates, new categorical values, and volume by segment. Input drift is the earliest signal available and the cheapest to compute, since it needs no labels.

Output monitoring: prediction distributions, score distributions against thresholds, rates of the actions the model triggers, and refusal or fallback rates on generative systems. A shift in output distribution without a corresponding input shift usually means something in the pipeline changed.

Outcome monitoring: the actual quality of decisions once ground truth arrives, which is the layer that requires effort because labels come late, arrive selectively, and are sometimes influenced by the model's own actions. Where that feedback loop exists, it is the most valuable signal in the system and it should be designed rather than hoped for. Where ground truth never arrives, a periodic human review of a stratified sample is the substitute, and it needs to be scheduled and staffed like any other operational task.

Alerting deserves its own discipline. Statistical drift tests on large volumes fire constantly and teach people to ignore them. Thresholds should be set on the magnitude that would change a decision, not on statistical significance, and every alert needs a named owner and a written first response. An alert with no runbook is a notification.

Monitoring layers by how early they surface a real problem

Input distribution monitoring, which needs no labels at all
92%
Output and threshold-crossing rates compared to a reference period
88%
Evaluation suite rerun on every model or dependency change
85%
Scheduled human review of a stratified sample of decisions
80%
Outcome monitoring once ground truth arrives, where it does
76%
Availability and latency dashboards on their own
28%

Editorial weighting, illustrative rather than measured. The last row is deliberately low: uptime is necessary and tells you nothing about answer quality.

Two governance shapes, compared

DimensionPolicy and attestationShared services with a thin mandateWhy the difference shows up
How the inventory stays currentPeriodic survey of program managersAutomatic registration from the deployment pathSurveys miss the models built fastest under pressure
Documentation qualityFree-text template completed before a gateGenerated from pipeline artifacts, judgment sections writtenGenerated content cannot go stale between reviews
Comparability across programsEach program reports its own metricsCommon evaluation protocol, program-owned test casesPortfolio decisions need one measurement convention
Effect on delivery scheduleAdds review cycles of uncertain lengthTiered review with a published turnaround clockPredictability matters more to a program than speed
What programs do when squeezedAttest and proceedKeep using the service because it saves workAdoption follows usefulness, not obligation
Evidence available on demandA binder assembled when askedA queryable record with dates and versionsAssembled evidence takes weeks and has gaps

A review board that does not become the bottleneck

The board's job is to make a decision quickly with the information a competent reviewer needs, and to keep a record. Everything else is optional.

Tier the path. Low-tier models register and self-certify against a short checklist, with a sample audited each quarter. Medium-tier models get an asynchronous review by one qualified reviewer against a written standard, with a stated turnaround. High-tier models get a full board review, and only those. If more than a fifth of the portfolio reaches the board, the tiering rule is wrong.

Publish the standard the review applies, so a program can pass on the first submission. A reviewer asking for something the standard did not name is a defect in the standard. Publish the clock and report against it, because a board that reports its own turnaround publicly stays fast. Give the board three possible outcomes rather than two: approve, approve with named conditions and dates, or decline with the specific gap. Conditional approval is what keeps delivery moving while the remaining work is tracked.

Staff it with people who have built and deployed models. A board of policy staff generates process; a board of engineers generates decisions. And define what triggers a return visit: a change of purpose or population, a new data class, a threshold change, a provider or version change, a sustained monitoring alert, or an incident. A model that never comes back is not governed.

Incidents, defined before one happens

Model incidents differ from outages in that they are usually discovered by a person rather than a monitor, they may have been running for weeks, and the affected population is often known only after analysis. That shape argues for defining the process while nothing is on fire.

Define what counts as an incident in advance: a wrong decision affecting a person, a performance drop past a stated threshold, output that violates a policy, exposure of data through a model, or use outside the documented purpose. Give it a severity scale tied to who was affected and whether the effect is reversible. Then a written path: contain, which usually means falling back to the prior process or a rules-based path, and the ability to do that has to be built and tested rather than assumed; assess, meaning determine the scope and the affected population from the decision records; notify, on the timeline the contract and the customer require; remediate, including any correction of affected decisions; and record, with a review that produces at least one change to a control.

The single most useful preparation is the fallback path. A model that cannot be turned off without stopping the business will not be turned off, and every incident then becomes a negotiation instead of a decision.

Sequencing the build

Trying to stand all of this up at once fails because it asks twenty programs to change at the same time. A staged approach works better and shows value early.

First the registry and automatic registration, because everything else needs it and it costs programs nothing. Then generated documentation for the models already registered, which produces the first artifact anyone outside the team asks for. Then the evaluation runner offered to two or three programs that already want it, so the first users are volunteers. Then monitoring for the tiers that need it, starting with input monitoring because it needs no labels. Then the tiered review path, once there is enough registry data to set the tiering rule from reality rather than from theory. Then incident process and fallback testing. Then, last, the mandate, which by that point is mostly ratifying what programs already do.

How we work inside a portfolio

Precision Federal is a small business engineering firm. We build AI systems, data platforms, cloud infrastructure and full-stack applications, and we deliver them into production inside U.S. federal agencies. On a governance build we work as a specialist subcontractor to the prime, inside the prime's engineering organization, on a scope the prime writes.

The first weeks are consistent. Week one is discovery: how models actually reach production across the programs in scope, which deployment paths exist, what tooling is already in place, and where security boundaries constrain the design. By the end of week two we deliver a written architecture for the registry and the registration path, the field set, the tiering rule drafted against real examples from the portfolio, and a sequencing plan with the first three programs named as candidates. Weeks three through ten produce the working registry, the automatic registration in at least one deployment path, generated documentation for the registered models, and the evaluation runner with one program's cases running in it.

The prime keeps everything. The customer relationships stay with the prime. Code, schemas, pipelines, infrastructure definitions and documentation are delivered into the prime's repositories and assigned to the prime under the subcontract. Our pre-existing tooling is named, carved out and licensed back perpetually so nothing we bring can block a future maintainer. Data handling terms are written before any data moves, and nothing trains anything outside the scope.

Pricing takes one of two shapes. Fixed-price milestones against written acceptance criteria, which fits this work well because the criteria are concrete: registration coverage measured against an independent scan, documentation generated for a stated set of models, an evaluation runner executing one program's suite with results stored and comparable. Or a committed team at a defined allocation with a written stopping point. Key people are named with committed percentages and a substitution path.

The first step is one email with a one-page brief: how many programs are in scope, how models reach production today, what tooling exists, which security boundaries apply and the date that matters. We return a scoped, priced statement of work with acceptance criteria written as tests. No call required.

Bottom line

Governance across a portfolio is an engineering problem wearing a policy costume. The inventory has to be a system fed by the deployment path, or it is wrong within a quarter. Documentation has to be generated, or it is stale and low quality. Evaluation needs one measurement convention with program-owned test cases, or nothing is comparable. Monitoring needs input, output and outcome layers, not just uptime. Review needs tiering and a published clock, or programs route around it. Build it as services programs want to use, keep the mandate small and late, and the portfolio ends up with a queryable record instead of a binder assembled the week someone asks.

Frequently asked questions

How do you build a model inventory that stays accurate?

Feed it from the deployment path instead of from surveys. A registration step in the shared deployment pattern, a library call in the serving layer that reports identity and version at startup, and scanners looking for models that reach production by other routes. Keep about a dozen fields, since every extra field lowers the quality of all of them: identity, program, owner and accountable manager as named people, purpose, decision type, population affected, data classes, environment, provider version, status, last evaluation and risk tier.

What should model documentation contain, and who writes it?

Most of it should be generated from the pipeline: identity and version, training data references and date ranges, input definitions, training configuration, evaluation results with dataset and date, dependency versions, deployment target and change history. A person writes only the judgment sections, and should be asked to write them well because they are short: intended use in plain language, known limitations and where the model must not be used, populations evaluated and not evaluated, the human oversight arrangement, and the escalation path.

How do you make evaluation results comparable across different programs?

Standardize the protocol, not the tests. Require a versioned held-out set with a documented sampling procedure, metrics chosen for the decision and reported with confidence intervals, a slice analysis across subgroups defined before results are seen, calibration where a score meets a threshold, and a stated baseline measuring what the process did before the model. Programs keep their own test cases because only they know the domain. The central team provides the runner, result storage, comparison views and a deployment gate on regression.

How should a model review board be structured so it does not slow delivery?

Tier the path so only high-tier models reach the board; if more than a fifth of the portfolio arrives there, the tiering rule is wrong. Publish the standard the review applies so a program can pass on the first submission, and publish the turnaround clock and report against it. Offer three outcomes: approve, approve with named conditions and dates, or decline with the specific gap. Staff it with people who have deployed models, and define what triggers a return visit.

What belongs in a model incident process?

A written definition of what counts as an incident, decided before one happens: a wrong decision affecting a person, a performance drop past a stated threshold, policy-violating output, data exposure through a model, or use outside the documented purpose. Then severity tied to who was affected and reversibility, and a path covering containment, scope assessment from decision records, notification on the contract's timeline, remediation of affected decisions, and a review producing a control change. The fallback path must be built and tested, not assumed.

1 business day response

Standing up model governance across a portfolio?

We build model registries, evaluation runners, monitoring and generated documentation inside large engineering organizations. Send a one-page brief and we return a scoped, priced statement of work.

How we workMore insights →Email an engineer or email bo@precisionfederal.com
UEI Y2JVCZXT9HP5CAGE 1AYQ0NAICS 541512SAM.GOV ACTIVE