
Ship What You Can Name: The AI Release Passport
A practical guide to inventorying models, data, prompts, tools, evidence, and provenance so an exact AI release can be assessed, promoted, and rolled back.
Read MoreZharfAI Team

A support team edits three prompt sentences to stop an unsafe promise. The tests pass, so the change ships alone. In production, the wording changes retrieval, tool use, answer length, and approval demand. The edited file was small; the behavioral change was not.
This is the central release problem for AI systems: the component that changed is not always the unit that can be changed safely. A model, prompt, retrieval corpus, embedding space, tool schema, policy, parser, threshold, or user interface can alter the meaning of another component without changing its bytes.
The decision is whether the change may ship independently, must be coupled with dependencies, or requires a new baseline. An explicit change graph and measurable release claim—not pull-request size or a vendor label—should answer it.
Ordinary software also fails after configuration and dependency changes. AI adds a harder boundary problem because behavior is jointly produced by data, probabilistic models, instructions, retrieval, tools, deterministic code, human decisions, and the deployment context.
The 2015 paper Hidden Technical Debt in Machine Learning Systems identifies entanglement, undeclared consumers, data dependencies, configuration issues, feedback loops, and changes in the external world as system-level risks. Its memorable “changing anything changes everything” principle is not a claim that every edit requires a total rebuild. It is a warning that independence must be demonstrated, not assumed.
Consider five apparently local changes:
| Edited component | Hidden behavioral dependency |
|---|---|
| Prompt wording | Tool selection, refusal rate, answer length, token cost, reviewer load |
| Model endpoint | Tokenizer, structured-output compliance, safety behavior, latency, regional availability |
| Retrieval corpus | Evidence coverage, permissions, freshness, citation mix, answer distribution |
| Tool schema | Argument interpretation, authorization scope, retries, external side effects |
| Policy threshold | Coverage, subgroup outcomes, escalation demand, business capacity |
A release process that versions only the model artifact cannot reproduce those interactions. The useful object is the deployed decision path: every versioned component and operational condition required to make, review, execute, and observe one class of outcome.
The NIST AI RMF Core calls for continuous lifecycle risk management, component-level risk mapping, production monitoring, measurement-informed deployment decisions, and post-deployment change management. It does not prescribe one release manifest or canary formula.
The ML Test Score shows why readiness tests must cover data, infrastructure, and operations—not only offline model quality. Google's SRE canarying guidance defines partial, time-limited exposure evaluated against a control and notes the incomplete state coverage of synthetic load.
NIST SP 800-218 treats secure practices, provenance, protected builds, and release integrity as lifecycle concerns. The UK NCSC's secure deployment guidance recommends tested changes, specific-version rollback, configuration management, and progressive exposure.
The FDA's August 2025 final guidance on predetermined change control plans for AI-enabled device software covers planned modifications, their development, validation and implementation method, and impact assessment. It applies to specified medical-device pathways—not every AI product—but offers a bounded analogy: predefine which changes fit the approved envelope and what evidence keeps them there.
The architecture below is ZharfAI analysis derived from these sources. The terms change unit, evidence radius, and restore bundle are implementation concepts, not language imposed by NIST, NCSC, Google, NeurIPS, or FDA.
Classify the proposed change by the evidence it disturbs:
| Decision | Use when | Required proof |
|---|---|---|
| Independent patch | Interfaces and assumptions remain compatible; affected behavior is bounded | Focused regression plus unchanged dependency checks |
| Coupled release | Two or more components jointly define the changed behavior | One candidate manifest, end-to-end tests, and one restore point |
| Re-baseline | Intended use, population, decision meaning, risk class, or measurement validity changes | Re-map risks, rebuild evaluation evidence, obtain the necessary approvals, then set new production baselines |
A spelling correction in user-facing copy may be an independent patch. A prompt change that introduces a new tool call is coupled to the tool schema, authorization policy, side-effect controls, review interface, and incident telemetry. Replacing a classifier used only for queue ordering may be a coupled release; changing the same classifier so it now denies access changes the decision purpose and should trigger re-baselining.
Do not let labels such as “prompt only,” “no-code,” “minor model update,” or “configuration tweak” decide the category. Ask what claims, interfaces, users, effects, and safeguards can change.
Start with the component being edited. Follow every edge through which it can change an observable outcome:
An edge is not merely “service A calls service B.” Record the assumption that crosses it: schema, unit, authorization, ordering, latency, confidence, destination, freshness, or human interpretation. The safe embedding migration guide is one specialized example: model and vectors cannot be mixed merely because their dimensions match.
Mark each edge unchanged, compatible, co-released, or unproven. Any unproven edge enlarges the evidence radius. An unknown downstream consumer is not evidence of independence; it is a discovery failure.
The release candidate should have one immutable identifier that resolves every material component, including externally managed ones:
{
"release_id": "support-2026-08-27.3",
"model": "provider/model@immutable-revision",
"prompt": "sha256:...",
"retrieval_snapshot": "kb-2026-08-26T21:00Z",
"embedding_space": "embed-v7/dim-1536/distance-cosine",
"tool_contracts": {"case_update": "v4", "refund_quote": "v2"},
"policy_bundle": "policy-184",
"parser": "answer-contract-6.2",
"review_ui": "review-packet-11",
"evaluation_suite": "support-gate-32",
"traffic_rule": "risk-slice-canary-9"
}
Mutable aliases such as latest, “current prompt,” a live knowledge base without a snapshot, or an unversioned policy make historical comparison and restoration ambiguous. When a vendor can change an endpoint behind a stable name, record the response metadata and provider release evidence available to you, monitor for silent change, and treat an unexplained behavioral shift as an unplanned release.
This manifest extends the AI release passport: the passport names what is shipped; the change manifest also binds the claim being tested, exposure rule, baseline, stop conditions, and exact restore bundle.
“Improve quality” cannot govern a rollout. State what should change, what must not change, where the claim applies, and what would disprove it.
For example:
On Persian and English warranty questions covered by policy revision 184, the candidate should reduce unsupported eligibility statements without increasing missed eligible cases by more than the approved margin, changing refund-tool calls, exposing a new data class, or pushing qualified-review demand beyond staffed capacity.
The impact envelope should name:
The envelope does not promise predictability. Unknown coverage, missing provenance, a changed purpose, or an unavailable safeguard should close the gate—not disappear into an average.
Use the change graph to select evidence. A focused patch still needs evidence that its boundaries remained intact. A coupled release needs end-to-end evidence from input to authoritative outcome. Re-baselining requires revisiting the validity of the metrics themselves.
A useful evidence stack includes:
An average gain can conceal a permission regression, Persian-language loss, or unworkable queue. A candidate passes only if every non-negotiable invariant passes.
Shadowing can expose the candidate to representative inputs while the control remains authoritative. Compare retrieved evidence, proposed tool arguments, policy outcomes, answer support, escalation decisions, latency and resource use. Preserve a join key so differences can be traced to the same input and context.
But shadowing is not harmless by definition. The candidate must not send email, reserve inventory, update a case, notify a customer, write to shared memory, contaminate a cache, consume a scarce quota, or train on its own shadow output. Stub or broker effectful tools and label all shadow artifacts so they cannot enter production records.
If the candidate needs a human judgment, sample disagreements through the human approval design, with enough context and time for an independent decision. Sending every shadow case to reviewers changes their workload and may itself distort the comparison.
A random one-percent canary may contain no Persian cases, no high-value transactions, no long documents, and no tool calls. It can look healthy while missing the entire change claim.
Define exposure on meaningful slices: language, tenant, data class, channel, task, consequence, tool, provider region, document type, reviewer team, and accessibility need. Begin with a slice that is representative enough to reveal the intended behavior but bounded enough that detection and remedy capacity exceed plausible harm. Some high-consequence actions should remain shadow-only until stronger evidence exists.
Compare candidate and control on both service and outcome measures:
Precompute stop rules. Do not let the team invent a favorable explanation after the guardrail fails. A canary can reduce the blast radius of detectable problems; it cannot prove the absence of rare harm or repair a metric that does not observe the failure.
Rollback fails when the old model is restored but the new prompt, index, policy, cache entries, tool schema, or database migration remains. It also fails when external actions already occurred or the old version can no longer read new state.
Define a restore bundle beside every candidate:
Exercise the restore path before exposure. Measure time to stop new admissions, restore the last-known-good path, reconcile indeterminate work, and verify the postcondition. Keep the candidate evidence for diagnosis; do not erase the failed release and call that recovery.
A retailer changes its assistant from model M7 to M8 and tightens the warranty prompt. Offline answer support improves. The change graph shows three affected edges: M8 follows the tool description more literally, the prompt now treats a missing purchase date as an escalation, and the Persian retrieval ranker returns shorter evidence spans.
The team rejects “model-only patch.” It creates one coupled manifest containing M8, the revised prompt, an adjusted Persian chunking rule, unchanged policy 184, tool contract v4, and review packet 11. The change claim targets unsupported eligibility statements while freezing refund authority and reviewer capacity.
Fixed tests catch a new date-format failure. After repair, shadow comparison finds more justified escalations but no effectful writes. A risk-sliced canary includes Persian and English claims, missing-date cases, long receipts, and both low- and high-value products. The gate measures evidence support, eligible-case misses, tool-call parity, p95 latency and review queue age.
At ten-percent exposure, review age approaches its stop threshold even though answer quality passes. The rollout pauses. Analysis shows that many cases need deterministic date normalization, not human judgment. The team adds the normalizer to a new coupled candidate, reruns the affected evidence, and resumes from the smallest exposure. The numbers are illustrative; this is an architecture example, not a claim about a ZharfAI deployment.
| Apparently safe signal | Hidden failure | Better control |
|---|---|---|
| The edited diff is tiny | Behavioral dependencies are large | Change graph and evidence radius |
| Offline benchmark improved | Current context or safeguards regressed | Representative, end-to-end and slice evidence |
| Canary error rate is flat | Outcome harm is delayed or unmeasured | Outcome, review, appeal and downstream signals |
| Rollback button works | It restores only code or model | Tested full restore bundle |
| Vendor version name is stable | Endpoint behavior changed silently | Response metadata, sentinels and behavioral baselines |
| Human reviewers can catch issues | Queue capacity or authority is inadequate | Load, age, qualification and override-quality gates |
| Every component has a version | Their joint configuration is not named | Immutable system manifest |
| Security tests passed once | New tool or retrieval edge bypasses the boundary | Per-change threat and authorization regression |
The post-deployment monitoring guide remains relevant after promotion. Release evaluation asks whether a known candidate may enter production; monitoring asks whether the approved system continues to behave within its claim as users, data, dependencies and the world change.
Track the release system, not only the AI system:
The goal is proportionate evidence: small, bounded changes move quickly; system-changing releases receive system-sized proof.
Before approving exposure, the reviewer should be able to answer:
The decisive question is not “Did the changed file pass?” It is: What is the smallest system bundle whose claim can be re-proven and whose behavior can be fully restored? That bundle is the safe change unit.

A practical guide to inventorying models, data, prompts, tools, evidence, and provenance so an exact AI release can be assessed, promoted, and rolled back.
Read More
A fluent transcript can contain words nobody said. Preserve the recording, inspect silent spans and separate draft text from statements that become meeting evidence.
Read More
A practical contract for deciding which AI functions may continue, degrade, wait, transfer to people, or stop when a model or dependency becomes unhealthy.
Read MoreIf this note maps to a real system in your organisation, start with the services page or a shipped case study.