Add per-requirement public beta evidence templates#197
Conversation
There was a problem hiding this comment.
Claude Code Review
This repository is configured for manual code reviews. Comment @claude review to trigger a review and subscribe this PR to future pushes, or @claude review once for a one-time review.
Tip: disable this comment in your organization's Code Review settings.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (8)
✅ Files skipped from review due to trivial changes (3)
🚧 Files skipped from review as they are similar to previous changes (5)
📝 WalkthroughWalkthroughAdds checked per-requirement public-beta evidence templates under release-artifacts/evidence/public-beta-templates/, extends the non-local evidence checker to discover/validate the template set by default, integrates templates into the release manifest/checksums, adds tests for discovery/validation, and updates documentation and ops state. ChangesPublic-beta evidence templates and integration
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly related issues
Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
|
@coderabbitai review |
✅ Action performedReview finished.
|
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@docs/public-beta-evidence.md`:
- Around line 135-140: The numbered steps are out of order: the template step
should come before adding the retained evidence. Edit the steps so that step 2
("Start from the matching template under
`release-artifacts/evidence/public-beta-templates/` when the row maps to a
public-beta requirement") becomes step 1, move the current step 1 ("Add the
retained public evidence file to the repository.") to follow it, and then keep
steps 3 and 4 as-is (updating numbering accordingly) so the workflow clearly
starts from the template before adding retained evidence and computing the
`sha256:` digest.
In `@scripts/check_non_local_release_evidence.py`:
- Around line 224-231: The function public_beta_template_paths currently uses
template_dir.glob("*.json") which only finds top-level files and allows nested
templates to bypass validation; change it to use template_dir.rglob("*.json")
and keep the sorted(...) wrapper to return all JSON template files recursively
(i.e., return sorted(template_dir.rglob("*.json"))) so nested templates under
PUBLIC_BETA_TEMPLATE_DIR are discovered and validated.
In `@scripts/generate_release_manifest.py`:
- Line 816: The loop currently iterates over every JSON under
resolved_non_local_evidence_dir via
recursive_json_files(resolved_non_local_evidence_dir), causing non-metadata JSON
(transcripts/reports) to be treated as non-local evidence; change the iteration
to only consider true non-local evidence metadata by filtering each file before
validating — either (A) restrict filenames (e.g., only files matching a metadata
filename pattern like "*metadata.json" or "*/metadata/*.json"), or (B) open and
parse each candidate and run a small predicate (add
is_non_local_evidence_metadata(json_obj)) that checks for required metadata keys
(e.g., evidence id/source/type) and skip files that don’t match; update the loop
around recursive_json_files(...) to apply this filter and only call the existing
non-local evidence validation logic for files that pass.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: e4280b6d-3884-4670-9c6c-553fe5ac628e
📒 Files selected for processing (25)
CHANGELOG.mddocs/non-local-release-evidence.mddocs/public-beta-evidence.mddocs/release-readiness.mddocs/tooling.mdops/AUTONOMOUS_RUN.mdops/ROADMAP.mdrelease-artifacts/README.mdrelease-artifacts/evidence/public-beta-templates/README.mdrelease-artifacts/evidence/public-beta-templates/explorer-verification-status-template.jsonrelease-artifacts/evidence/public-beta-templates/external-audit-report-template.jsonrelease-artifacts/evidence/public-beta-templates/fork-deployment-rehearsal-template.jsonrelease-artifacts/evidence/public-beta-templates/fork-testnet-ceremony-evidence-template.jsonrelease-artifacts/evidence/public-beta-templates/fork-testnet-metadata-browser-evidence-template.jsonrelease-artifacts/evidence/public-beta-templates/fork-testnet-randomizer-operations-evidence-template.jsonrelease-artifacts/evidence/public-beta-templates/retained-artifact-template.txtrelease-artifacts/evidence/public-beta-templates/testnet-deployment-rehearsal-template.jsonrelease-artifacts/evidence/public-beta-templates/verified-deployed-addresses-template.jsonrelease-artifacts/latest/SHA256SUMSrelease-artifacts/latest/release-checksums.jsonrelease-artifacts/latest/release-manifest.jsonscripts/check_non_local_release_evidence.pyscripts/generate_release_manifest.pyscripts/test_non_local_release_evidence.pyscripts/test_release_manifest.py
Summary
Closes #195.
This PR adds one checked, public-safe non-local release evidence template for each current public-beta evidence requirement ID under
release-artifacts/evidence/public-beta-templates/.The templates are intentionally
record_type: "template"andreview_status: "template". They are operator starting points only. They do not mark public beta or production release ready, andrelease-artifacts/latest/public-beta-evidence.jsonremains blocked with public-beta and production rows missing until real reviewed fork/testnet/live/audit evidence exists.Changes
Validation
python -m py_compile scripts\check_non_local_release_evidence.py scripts\test_non_local_release_evidence.py scripts\check_public_beta_evidence.py scripts\generate_public_beta_blocker_report.py scripts\generate_release_manifest.py scripts\test_release_manifest.py scripts\generate_release_checksums.pypython scripts\test_non_local_release_evidence.pypython scripts\check_non_local_release_evidence.pypython scripts\test_public_beta_evidence.pypython scripts\check_public_beta_evidence.pypython scripts\test_public_beta_blocker_report.pypython scripts\generate_public_beta_blocker_report.py --checkpython scripts\test_release_manifest.pypython scripts\generate_release_manifest.py --checkpython scripts\test_release_checksums.pypython scripts\generate_release_checksums.py --checkpython scripts\test_release_readiness.pypython scripts\check_release_readiness.pypython scripts\test_changelog_check.pypython scripts\check_changelog.pyrg -n "^#|^##|^###" docs\public-beta-evidence.md docs\non-local-release-evidence.md docs\release-readiness.md docs\tooling.md release-artifacts\README.md release-artifacts\evidence\public-beta-templates\README.md ops\ROADMAP.md ops\AUTONOMOUS_RUN.mdgit diff --checkmake checkpowershell -ExecutionPolicy Bypass -File scripts\check.ps1Readiness note
Sanity check after generation:
public_betaandproduction_releaseboth remainblocked; all 8 public-beta rows and all 9 production-release rows remainmissing.Summary by CodeRabbit
New Features
Documentation
Chores