Public Release Verification
Use this skill to decide what a release has actually proved. A green build is
one input, not a public-release claim.
Verification Contract
Capture one evidence row for each applicable domain:
- repository/commit identity — repository, branch/tag, commit, and clean
or intentionally dirty baseline;
- baseline and diff — starting state, changed scope, and unrelated-change
check;
- build/package proof — tests, build, package contents, and metadata;
- deployment proof — deployment provider, deployment identifier, and
completed status;
- HTTP/route proof — actual public URL, status code, redirects, and key
routes;
- SEO/metadata proof — title, description, canonical, robots, and social
metadata where applicable;
- browser desktop/mobile proof — real browser observations, responsive
states, interaction, console, and network failures;
- locale/content proof — requested locales, visible strings, fallback
behavior, and content constraints;
- device/runtime proof — real-device or runtime-specific observations
where the release target is hardware or a constrained runtime;
- visual/public availability proof — screenshots or equivalent observed
public rendering and availability window;
- human approval and cutover status — named approval evidence, approval
scope, and whether DNS, traffic, or publication gates remain open.
Mark each row PROVEN, PARTIAL, BLOCKED, or UNKNOWN, with command,
URL, artifact path, timestamp, and verifier where available. Use N/A only
when the row genuinely does not apply and explain why.
Claim Rules
- Build proof is not live proof.
- Deployment proof is not HTTP proof.
- HTTP proof is not browser or visual proof.
- Browser proof is not owner approval or public cutover authorization.
- Missing evidence is
UNKNOWN, not success.
- A final
PROVEN claim requires every applicable release-critical row to be
PROVEN and the human gate to be explicit.
- Report
PARTIAL when useful evidence exists but a release-critical row is
incomplete; report BLOCKED when a required check failed or access prevents
verification.
Safe Route
- Record the repository identity and baseline before running release checks.
- Run the narrowest package/build checks, then collect deployment evidence.
- Verify the actual public URL and routes with the intended locale and
viewport matrix.
- Inspect metadata, visible copy, console/network errors, and screenshots.
- Attach the evidence matrix and list unknowns, blockers, and human gates.
- Ask the owner for approval only after the evidence packet is reviewable.
Do not auto-publish, switch DNS, promote traffic, accept visual approval, or
claim public availability on behalf of a human. Do not use a deployment log as
a substitute for an observed public route.
Output
Release: <name/version>
Repository: <repo>@<commit/tag>
Status: PROVEN | PARTIAL | BLOCKED | UNKNOWN
<domain>: <status> — <evidence reference or reason>
...
Human gate: <approved / pending / not applicable, with scope>
Open blockers: <none or list>
Claim boundary: <what this packet proves and does not prove>
Composition
- Use
delivery-preflight-gate before a risky release run.
- Use
browser-verification for the browser evidence row.
- Use
confidence-fragility-review when the release summary sounds stronger
than its evidence.
- Use
skill-health-audit when reviewing this contract or its fixtures.
1---2name: public-release-verification3description: Verify whether a software release is publicly proven across repository identity, baseline, build, package, deployment, HTTP routes, SEO metadata, browser desktop/mobile behavior, locale content, visual availability, and human approval. Use when an agent is preparing or reviewing a release and must separate build proof, live proof, and owner-gated public claims.4license: MIT5---67# Public Release Verification89Use this skill to decide what a release has actually proved. A green build is10one input, not a public-release claim.1112## Verification Contract1314Capture one evidence row for each applicable domain:15161. **repository/commit identity** — repository, branch/tag, commit, and clean17 or intentionally dirty baseline;182. **baseline and diff** — starting state, changed scope, and unrelated-change19 check;203. **build/package proof** — tests, build, package contents, and metadata;214. **deployment proof** — deployment provider, deployment identifier, and22 completed status;235. **HTTP/route proof** — actual public URL, status code, redirects, and key24 routes;256. **SEO/metadata proof** — title, description, canonical, robots, and social26 metadata where applicable;277. **browser desktop/mobile proof** — real browser observations, responsive28 states, interaction, console, and network failures;298. **locale/content proof** — requested locales, visible strings, fallback30 behavior, and content constraints;319. **device/runtime proof** — real-device or runtime-specific observations32 where the release target is hardware or a constrained runtime;3310. **visual/public availability proof** — screenshots or equivalent observed34 public rendering and availability window;3511. **human approval and cutover status** — named approval evidence, approval36 scope, and whether DNS, traffic, or publication gates remain open.3738Mark each row `PROVEN`, `PARTIAL`, `BLOCKED`, or `UNKNOWN`, with command,39URL, artifact path, timestamp, and verifier where available. Use `N/A` only40when the row genuinely does not apply and explain why.4142## Claim Rules4344- Build proof is not live proof.45- Deployment proof is not HTTP proof.46- HTTP proof is not browser or visual proof.47- Browser proof is not owner approval or public cutover authorization.48- Missing evidence is `UNKNOWN`, not success.49- A final `PROVEN` claim requires every applicable release-critical row to be50 `PROVEN` and the human gate to be explicit.51- Report `PARTIAL` when useful evidence exists but a release-critical row is52 incomplete; report `BLOCKED` when a required check failed or access prevents53 verification.5455## Safe Route56571. Record the repository identity and baseline before running release checks.582. Run the narrowest package/build checks, then collect deployment evidence.593. Verify the actual public URL and routes with the intended locale and60 viewport matrix.614. Inspect metadata, visible copy, console/network errors, and screenshots.625. Attach the evidence matrix and list unknowns, blockers, and human gates.636. Ask the owner for approval only after the evidence packet is reviewable.6465Do not auto-publish, switch DNS, promote traffic, accept visual approval, or66claim public availability on behalf of a human. Do not use a deployment log as67a substitute for an observed public route.6869## Output7071```text72Release: <name/version>73Repository: <repo>@<commit/tag>74Status: PROVEN | PARTIAL | BLOCKED | UNKNOWN7576<domain>: <status> — <evidence reference or reason>77...7879Human gate: <approved / pending / not applicable, with scope>80Open blockers: <none or list>81Claim boundary: <what this packet proves and does not prove>82```8384## Composition8586- Use `delivery-preflight-gate` before a risky release run.87- Use `browser-verification` for the browser evidence row.88- Use `confidence-fragility-review` when the release summary sounds stronger89 than its evidence.90- Use `skill-health-audit` when reviewing this contract or its fixtures.