Pre-launch: no evidence of emergency controls rehearsed from actual governance multisig [SEC-B09] #397
Labels
No labels
agent:fix_bugfix
agent:fix_conflicts
agent:fix_security
agent:gap_analysis
agent:implement
agent:implement
agent:implement
agent:open_issues
agent:ready
agent:research
agent:security_audit
agent:verify
architecture
backend
blocker:hybrid
blocker:launch
blocker:limit-orders
blocker:v2
block:log_only
block:security
bug
ci
contracts
correctness
deploy
dev
devops
docs
documentation
duplicate
e2e
enhancement
epic
feature
frontend
functional-completion
gas
good first issue
governance
help wanted
high-risk
hooks
hybrid
indexer
infra
infrastructure
integrators
invalid
launch-blocker
limit-orders
localnet
localterra
low priority
missing-implementation
needs-design
ops
performance
priority
high
priority
medium
product
qa
QA
question
ready
ready
research
scripts
security
security-hardening
smartcontracts
tech-debt
testing
ux
UX
v2
verification
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
code/cl8y-dex-terraclassic#397
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Checklist Item
SEC-B09: Verify emergency controls are executable from the actual planned governance wallet/multisig, not just local test keys. Verify: testnet/local dry run using same signing flow or documented manual rehearsal.
Summary
The launch checklist Phase 5 PAUSE gate requires that governance emergency controls have been rehearsed from the actual planned multisig or governance wallet, not only from local test keys. No rehearsal transcript, testnet evidence, or manual rehearsal note exists in the repo or linked from any issue or MR.
What Was Checked
docs/runbooks/launch-checklist.mdPhase 5 -- PAUSE criteria at line 98 references multisig rehearsal as a required gate but provides no linked evidencedocs/security-model.mdline 17 -- states governance should be a multisig or DAO, not a single EOAdocs/templates/incident-dex-indexer.md-- internal triage template, no command execution evidencedocs/files -- no testnet or LocalTerra rehearsal log referencing a multisig addresssmartcontracts/tests/src/-- all contract tests useApp::default()and local test keys, not a multisig signing flowExpected (per checklist)
A dry run or manual rehearsal using the same signing flow as production (multisig threshold signing, hardware wallet, or DAO proposal) must be documented and linked from the launch issue or a pinned comment. The rehearsal must cover at minimum one pause, one blacklist, one unpause, and one unblacklist operation.
Actual
All automated tests use local test keys via
cw-multi-test. No evidence exists that the actual planned governance wallet or multisig has been used to sign any emergency control transaction on any network. The launch runbook flags this as a PAUSE gate but no evidence has been attached.Evidence
docs/runbooks/launch-checklist.mdPhase 5 line 98: "Production governance multisig has not rehearsed the deploy/admin txs (pause, fee update, hook registration) on staging" -- listed as a PAUSE trigger, no linked evidencedocs/security-model.mdline 17: "the governance address should be a multisig or DAO-controlled address in production"smartcontracts/tests/src/blacklist_tests.rs: all blacklist tests useApp::default()and local test walletsSuggested Fix
Before production deploy, run the following from the actual planned governance multisig on a staging network or LocalTerra configured with the multisig address:
Attach the signed transaction hashes and a brief note to this issue or the launch tracking issue as evidence, then mark the Phase 5 PAUSE gate as satisfied.
Verification Checklist
docs/runbooks/launch-checklist.mdupdated to reference the evidenceCc: @PlasticDigits
mentioned in issue #381
mentioned in commit
3493333f25mentioned in merge request !927
mentioned in commit
0c87b934f4mentioned in commit
392c0986f5mentioned in merge request !928
Verification — SEC-B09 (#397)
Verified on 2026-06-25 (Cloud Agent VM,
main@ current HEAD).Acceptance checklist
make verify-issue-397→./scripts/rehearse-governance-emergency-controls.sh— 2-of-3terrad tx sign+multisign+broadcast/tmp/sec-b09-verify-397.md; on-chain LCD checks toggledis_pausedandwallet_blacklistednetwork=localterradocs/runbooks/launch-checklist.mdline 130 linksgovernance-emergency-rehearsal.md, SEC-B09,make verify-issue-397docs/runbooks/governance-emergency-rehearsal.md)Automated verification
Doc invariants: runbook, evidence template, agent skill (
skills/AGENTS_GOVERNANCE_EMERGENCY_REHEARSAL.md),security-model.md/launch-checklist.mdcross-links, Makefile targets.LocalTerra multisig rehearsal evidence (2026-06-25T11:49:25Z)
terra1hrpna9v7vs3stzyd4z3xf00676kf78zpe2u5ksvljswn2vnjp3ysc6mpf5terra18fmftmt6r36tca30ayc3hywp70gl0yyejk37ej(2-of-3 rehearsal keys)terra16jd56eylzgwr2jyx97wymajp7u5h9rdn9jqh0nkfm6jswec66qkq3tdy0g29D77A5A3F300BAC48DCFD6B3C9744F1B290AE72189DE652A0F337E607CAB1D5trueA0CD4F4110FCA0FF1B09FCEF79F33B6633EC456CF2BC824012CF8E6D199790DFADF973512965FA38704D8F2FDA12CCE84C73AEA0362F9F1A536F5AC0974D31B1false0B1B320F3F047A5EEF46E7D81D7F1A502C090241EF0F6334A0497DC013FC05D050AE562E9DF1EF05D549CAFCB1407B25659B18CC306CC7031FC9790983CEF941Repo deliverables (original gap — resolved)
docs/runbooks/governance-emergency-rehearsal.md— operator runbook + signing flowdocs/templates/governance-emergency-rehearsal-evidence.md— evidence templatescripts/rehearse-governance-emergency-controls.sh— automated LocalTerra dry-runscripts/qa/verify-issue-397.sh— verification harnessFollow-up (pre-mainnet, operator-owned)
Before Phase 5 GO, operators must repeat the four emergency operations from the planned production governance multisig on testnet/staging, post the filled evidence template on launch issue #391, and link it in go/no-go sign-off. Until then, SEC-B09 remains a PAUSE criterion per the launch checklist.
mentioned in issue #337
mentioned in issue #424
mentioned in commit
f1091f011fmentioned in merge request !978
mentioned in issue #398