Add deployment rehearsal baseline#92
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.
|
@coderabbitai review |
|
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 (2)
🚧 Files skipped from review as they are similar to previous changes (1)
📝 WalkthroughWalkthroughThis PR implements the Gate E deployment rehearsal baseline by adding a canonical local deployment script (RehearseDeployment.s.sol), a JSON Schema and example manifest, tests that rehearse and parse manifests, CI/Make/script integration with enhanced size-gating (adds --skip script), user documentation, and ops/roadmap updates. ChangesDeployment Rehearsal Gate (Gate E) Baseline
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
✅ Action performedReview finished.
|
|
@coderabbitai review |
✅ Action performedReview finished.
|
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (1)
deployments/schema/deployment-manifest.schema.json (1)
3-3: 💤 Low valueConsider whether the
$idshould be a resolvable URL.The
$idcurrently points tohttps://github.com/6529-Collections/6529Stream/deployments/schema/deployment-manifest.schema.json, which is not a resolvable endpoint. If you want the schema to be retrievable via HTTP, use the raw GitHub URL format or host it separately. If$idis purely for identification (not retrieval), the current format is acceptable but consider documenting this choice.🤖 Prompt for 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. In `@deployments/schema/deployment-manifest.schema.json` at line 3, The $id in deployment-manifest.schema.json currently points to a non-resolvable GitHub HTML URL; either change the $id value to a resolvable raw GitHub URL (e.g. raw.githubusercontent.com path to this file) so the schema can be retrieved over HTTP, or explicitly document (in the repo README or a schema comment) that $id is used solely as an identifier and not meant to be resolved; update the $id field accordingly and add the documentation note if you choose the identifier-only approach.
🤖 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 `@ops/AUTONOMOUS_RUN.md`:
- Around line 4166-4168: Update the inconsistent size evidence for
StreamMetadataRenderer so all occurrences match the authoritative value used in
the PR `#90` block: change the instance reporting "6,817" to "6,843" and verify
any other mentions in AUTONOMOUS_RUN.md (the entries that reference
StreamMetadataRenderer and the forge build output alongside StreamCore) are
updated to the same number to keep the audit trail consistent.
---
Nitpick comments:
In `@deployments/schema/deployment-manifest.schema.json`:
- Line 3: The $id in deployment-manifest.schema.json currently points to a
non-resolvable GitHub HTML URL; either change the $id value to a resolvable raw
GitHub URL (e.g. raw.githubusercontent.com path to this file) so the schema can
be retrieved over HTTP, or explicitly document (in the repo README or a schema
comment) that $id is used solely as an identifier and not meant to be resolved;
update the $id field accordingly and add the documentation note if you choose
the identifier-only approach.
🪄 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: 7fdce6cf-7ab4-494a-8344-6ea1f22a4d9b
📒 Files selected for processing (19)
.github/workflows/ci.ymlMakefileREADME.mddeployments/README.mddeployments/examples/anvil-6529stream-v0.1.0-001.jsondeployments/schema/deployment-manifest.schema.jsondocs/deployment.mddocs/known-blockers.mddocs/status.mddocs/tooling.mdfoundry.tomlops/AUTONOMOUS_RUN.mdops/ROADMAP.mdscript/README.mdscript/RehearseDeployment.s.solscripts/check.ps1scripts/check.shtest/README.mdtest/StreamDeploymentManifest.t.sol
Summary
Closes #91.
This starts Gate E with an executable local deployment rehearsal and release-artifact shape instead of leaving deployment readiness as documentation-only future work.
script/RehearseDeployment.s.solto deploy and wire a local 6529Stream stack, configure placeholder Safe/pause/signer/emergency ceremony state, create a sample collection, revoke the temporary deployer admin, and transfer Ownable control forStreamAdmins/StreamCoreto the Safe placeholder.StreamDeploymentManifest.t.solcoverage for local wiring, admin ceremony state, manifest JSON parsing, randomizer status, and sample collection mint/randomizer setup.make check, Windows/Linux check scripts, and CI while keeping production size evidence scoped to deployable contracts with--skip test --skip script.Validation
forge test --match-contract StreamDeploymentManifestTest -vvvmake checkpowershell -ExecutionPolicy Bypass -File scripts\check.ps1forge fmt --check script\RehearseDeployment.s.sol test\StreamDeploymentManifest.t.solgit diff --checkforge build --sizes --via-ir --skip test --skip script --forceNotes
This PR intentionally does not implement production broadcast, contract verification, real ABI/event-topic checksum generation, fork/testnet rehearsals, dry-run mint/auction ceremonies, or emergency redeployment rehearsal. Those remain follow-up Gate E/G work.
Summary by CodeRabbit
New Features
Documentation
Tests
Chores