Release Surfaces and Bundle Shape¶
Page Maps¶
graph LR
family["Reproducible Research"]
program["Deep Dive DVC"]
section["Promotion Registry Boundaries Auditability"]
page["Release Surfaces and Bundle Shape"]
capstone["Capstone evidence"]
family --> program --> section --> page
page -.applies in.-> capstone
flowchart LR
orient["Orient on the page map"] --> read["Read the main claim and examples"]
read --> inspect["Inspect the related code, proof, or capstone surface"]
inspect --> verify["Run or review the verification path"]
verify --> apply["Apply the idea back to the module and capstone"]
A release surface is the small set of files a downstream consumer is expected to use.
It should be more stable than the internal repository layout. If a consumer must browse the whole project to guess which files matter, the release boundary is weak.
A useful release surface is small¶
Example:
This bundle is easier to trust than:
The first layout names a versioned boundary. The second layout asks consumers to infer authority.
The manifest is the bundle map¶
A manifest tells consumers what is included and what each file is for.
Example:
{
"release": "v1",
"artifacts": [
{"path": "model.json", "role": "promoted model"},
{"path": "metrics.json", "role": "release metrics"},
{"path": "params.yaml", "role": "promoted parameter values"}
]
}
This does not need to be complicated. It needs to remove guessing.
Keep internal paths out of the consumer contract¶
Internal paths can change as the pipeline evolves.
A consumer should not need to know:
- where intermediate features were generated
- which temporary report came from a candidate run
- how the training directory is organized
- which cache path held an object
The release surface should say what is supported. Everything else remains internal unless explicitly promoted.
Version names should mean something¶
Avoid vague release labels:
latestfinalnewbest
Prefer labels that support review:
v12026-04-incident-escalationrecall-policy-release
The exact naming convention can vary. The key is that the name should remain meaningful after the immediate review conversation is gone.
Review checkpoint¶
You understand this core when you can:
- define the files in a release surface
- explain why the surface should be smaller than the internal repository
- write a manifest that removes consumer guesswork
- keep unsupported internal paths out of the consumer contract
- choose release names that remain meaningful later
A release bundle is not a dumping ground. It is the shape of downstream trust.