Release Evidence Pack
Purpose
Define the exact evidence bundle required before manual DSAMbayes release sign-off. Substitute the actual release version and candidate SHA; this page is not version-specific.
Audience
- Release owner preparing sign-off materials
- Reviewers validating release readiness
- Maintainers reproducing release gate outcomes
Evidence root and naming
Use one evidence root per candidate release.
Recommended path:
Example:
Expected outcome: all sign-off evidence is stored in one deterministic location.
Candidate identity rule:
- The candidate hash in
00_release_identity/release_identity.txt,40_signoff/sign_off_record.md, and the evidence-root short SHA must agree. - If administrative docs or sign-off text change after gate execution, either update the existing bundle without changing candidate identity or rerun the gates into a new evidence root for a new candidate.
Mandatory evidence bundle
All items below are mandatory.
| ID | Evidence item | Required content | Source | Required path in evidence root |
|---|---|---|---|---|
EVD-01 |
Release identity | Candidate commit hash, branch, intended tag, package version | git, DESCRIPTION |
00_release_identity/release_identity.txt |
EVD-02 |
Changelog proof | Top changelog section for release candidate | CHANGELOG.md |
00_release_identity/changelog_top.md |
EVD-03 |
QG-1 log |
Lint command output and exit code | local command | 10_quality_gates/qg1_lint.log, 10_quality_gates/qg1_lint.exit |
EVD-04 |
QG-2 log |
Style command output and exit code | local command | 10_quality_gates/qg2_style.log, 10_quality_gates/qg2_style.exit |
EVD-05 |
QG-3 log |
Unit-test output and exit code | local command | 10_quality_gates/qg3_tests.log, 10_quality_gates/qg3_tests.exit |
EVD-06 |
QG-4 Stan release evidence log |
High-budget Stan evidence output and exit code | local command | 10_quality_gates/qg4_stan_release_evidence.log, 10_quality_gates/qg4_stan_release_evidence.exit |
EVD-07 |
QG-5 package-check log |
rcmdcheck output, status summary, NOTE rationale if present |
local command | 10_quality_gates/qg5_rcmdcheck.log, 10_quality_gates/qg5_rcmdcheck.exit, 10_quality_gates/qg5_notes_rationale.md |
EVD-08 |
QG-6 validate log |
Runner validate output and exit code |
local command | 10_quality_gates/qg6_validate.log, 10_quality_gates/qg6_validate.exit |
EVD-09 |
QG-7 run log |
Runner run output and exit code |
local command | 10_quality_gates/qg7_run.log, 10_quality_gates/qg7_run.exit |
EVD-10 |
QG-8 docs log |
docs-site build output and exit code | local command | 10_quality_gates/qg8_docs.log, 10_quality_gates/qg8_docs.exit |
EVD-11 |
Dependency source proof | Non-CRAN and file:// dependency source paths, commit hashes, and restore portability decision |
renv.lock, DESCRIPTION, git |
00_release_identity/dependency_sources.md |
EVD-12 |
Validate artefacts | Required QG-6 artefacts |
results/quality_gate_validate |
20_runner_artifacts/quality_gate_validate/ |
EVD-13 |
Run artefacts | Required QG-7 artefacts |
results/quality_gate_run |
20_runner_artifacts/quality_gate_run/ |
EVD-14 |
Sign-off record | Completed final decision record | sign-off template | 40_signoff/sign_off_record.md |
Exact required artefact paths
EVD-12 validate artefacts (QG-6)
Copy these paths from the run directory:
results/quality_gate_validate/00_run_metadata/config.original.yamlresults/quality_gate_validate/00_run_metadata/config.resolved.yamlresults/quality_gate_validate/00_run_metadata/config.compiled.yamlresults/quality_gate_validate/00_run_metadata/session_info.txt
EVD-13 run artefacts (QG-7)
Copy these paths from the run directory:
results/quality_gate_run/00_run_metadata/config.resolved.yamlresults/quality_gate_run/00_run_metadata/config.compiled.yamlresults/quality_gate_run/20_model_fit/model.rdsresults/quality_gate_run/30_post_run/fitted.csvresults/quality_gate_run/30_post_run/observed.csvresults/quality_gate_run/40_diagnostics/diagnostics_report.csv
Collection commands
Create evidence structure:
Expected outcome: canonical evidence folders exist.
Capture release identity and changelog proof:
Expected outcome: release_identity.txt and changelog_top.md are populated.
Capture dependency source proof:
Expected outcome: dependency sources are visible to reviewers. Any file://
source must be accepted as a local-release prerequisite or replaced with a
reachable pinned remote before external release.
Capture gate logs and exit codes:
Run these commands inside a container whose R version matches renv.lock
(currently 4.5.1). Set the container-specific library before collecting logs.
Expected outcome: eight gate logs and eight exit-code files are present.
Copy runner artefacts:
Expected outcome: runner artefacts are captured under evidence storage.
Evidence review checklist
Before sign-off, reviewers must confirm all items below:
release_identity.txtcommit hash matches the commit being tagged.sign_off_record.mdrepeats the same candidate hash and evidence-root path.package_versioninrelease_identity.txtmatches the intended release.changelog_top.mdincludes the intended DSAMbayes release section aligned with candidate changes.- Every
qg*.exitfile contains0. qg4_stan_release_evidence.loghas no unresolved diagnostic-threshold failures.dependency_sources.mdlists every non-CRAN source and anyfile://source has an explicit portability decision.- Required
QG-6andQG-7artefact paths exist. - Completed sign-off record exists at
40_signoff/sign_off_record.md.
Submission and retention
- Record the evidence root path in the manual sign-off record and any release review used by the team.
- Do not delete evidence for approved releases.
- For rejected releases, retain evidence and mark decision as
NO-GOin sign-off.