chore(deploy): record staging cashapp retirement, pin lane 42 - #316
Conversation
Base staging executed lane 42's deployer write on 2026-09-02 (tx 0x5cde17a0...dc451, source dfe1060), so Cash App reads a zero risk window on both live networks. Flip the staging evidence and spec rows, drop the extractor's staging LIVE_DISPUTABLE_PAYMENT_METHODS override from #311 (configuredRiskWindows derives from DISPUTABLE_PAYMENT_METHODS again), pin lane 42 as immutable-but-mounted, and update the docs. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Mk9kaLm8nkbBN1TPbdNU1b
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 67233c983f
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| }, | ||
| // Executed on Base staging 2026-09-02 from dfe1060 (tx 0x5cde17a0…4dc451); the Base window was zeroed by the | ||
| // Safe at nonce 80 on 2026-08-28 before this lane's first run. Lane stays mounted; its skip reads live windows. | ||
| "42_retire_dispute_risk_windows.ts": { |
There was a problem hiding this comment.
Update the exact immutable-lane manifest fixture
Whenever the release-surface checks run yarn test:dispute-lifecycle-deployment, the exact assert.deepEqual(IMMUTABLE_DEPLOYMENT_LANES, ...) assertion in scripts/test-opt-in-dispute-lifecycle-deployment.cjs:410-511 fails because its expected object still ends at lane 40 and does not contain this new lane 42 entry. Add lane 42 to that fixture so the required deployment-lane check and Release readiness workflow can pass.
AGENTS.md reference: AGENTS.md:L237-L238
Useful? React with 👍 / 👎.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Mk9kaLm8nkbBN1TPbdNU1b
* chore(deploy): record staging cashapp retirement, pin lane 42 Base staging executed lane 42's deployer write on 2026-09-02 (tx 0x5cde17a0...dc451, source dfe1060), so Cash App reads a zero risk window on both live networks. Flip the staging evidence and spec rows, drop the extractor's staging LIVE_DISPUTABLE_PAYMENT_METHODS override from #311 (configuredRiskWindows derives from DISPUTABLE_PAYMENT_METHODS again), pin lane 42 as immutable-but-mounted, and update the docs. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Mk9kaLm8nkbBN1TPbdNU1b * test(deploy): add lane 42 to the immutable-manifest pin fixture Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Mk9kaLm8nkbBN1TPbdNU1b --------- Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Summary
Base staging executed lane 42's Cash App risk-window retirement on 2026-09-02 via the deployer EOA (tx
0x5cde17a0c59ba4b606b19b9d09b468af06cd283d256984160e9627aaff4dc451, run from merged maindfe1060). Verified on-chain afterwards: cashapp0/ paypal1209600/ venmo1209600on both networks (Base was zeroed by the Safe at nonce 80 on 2026-08-28). This PR records that state repo-side — the standard post-execution recording flip.Changes
deployments/dispute-stack-evidence.json: staging cashapp row →"0".packages/contracts/scripts/extractors/disputeStack.ts: remove fix: keep Cash App outside dispute protection #311's stagingLIVE_DISPUTABLE_PAYMENT_METHODSoverride ("until its governed policy update is executed" — it now has);configuredRiskWindowsderives fromDISPUTABLE_PAYMENT_METHODSagain.scripts/active-dispute-stack.spec.cjs: drop the matching staging cashapp override row.deployments/immutableDeploymentLanes.ts: pin42_retire_dispute_risk_windows.ts(deployedSourceShadfe1060, sha2565aeddc6c…ad014; not retired — the lane stays mounted and its skip reads live windows, so tagged runs are no-ops while every retired window is zero).deployments/parameters.tscomment + README/AGENTS/CLAUDE: both networks executed; lane 42 immutable and pinned.Test Plan
yarn pkg:build+yarn pkg:test(manifest now says cashapp0on both networks)node --test scripts/active-dispute-stack.spec.cjs— 13/13yarn test:retire-dispute-risk-windows8/8,yarn test:method-scoped-vault-deployment8/8yarn typecheck:dispute-deploymentNext
After this merges,
@zkp2p/contracts-v2@0.4.1-rc.10(#312 already merged) can be published via the trusted workflow with the fully-flipped manifest.🤖 Generated with Claude Code
https://claude.ai/code/session_01Mk9kaLm8nkbBN1TPbdNU1b