Security: release checklist does not explicitly gate deploy on pasted test outputs for contracts, indexer, and frontend [SEC-H08] #444
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#444
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?
Summary
docs/runbooks/launch-checklist.mdPhase 3 includesscripts/smoke-pool-swap.shandscripts/smoke-wrap-mapper-pause.shas post-deploy smoke steps (satisfying the LocalTerra smoke requirement), but no phase explicitly requires runningmake test-contracts,make test-indexer-integration, ormake test-frontendand pasting their output on the release issue before proceeding to mainnet. CI gates (test-contracts, test-indexer-lib, test-indexer-integration, test-frontend) run on every default-branch commit and MR, so tests do pass before any code can be deployed from CI. However, the release issue has no explicit step for operators to paste test command output, and an operator deploying outside CI (e.g., from a local build) has no explicit checklist gate requiring test passage evidence.What Was Checked
docs/runbooks/launch-checklist.mdread in full (181 lines): Phase 0 referencesmake build-optimizedwasm policy; Phase 3 lists smoke-pool-swap.sh and smoke-wrap-mapper-pause.sh as post-deploy steps; Phase 5 references QA_TEMPLATE.md sign-off. No phase explicitly says "run make test-contracts && paste output" or "run make test-indexer-integration && paste output" or "run make test-frontend && paste output" as a pre-deploy gate..gitlab-ci.ymllines 133-256: test-contracts, test-indexer-lib, test-indexer-integration, and test-frontend all run on default branch and MRs. Tests pass before any merge. CI is the implicit gate, not the release checklist.docs/templates/deploy-trace.mdlines 37-59: post-deploy verification template shows factory get_config and pool smoke. No test output section.Expected (per checklist)
The release checklist has an explicit pre-deploy step requiring: (1)
make test-contractsoutput pasted or linked on the release issue; (2)make test-indexer-integrationoutput pasted or linked; (3)make test-frontendoutput pasted or linked; (4) at least one LocalTerra swap smoke (smoke-pool-swap.sh) output. The release issue template or deploy-trace template includes a "Test results" section for this evidence.Actual
LocalTerra swap smoke is in Phase 3 of the checklist. Contract, indexer, and frontend test passage are handled by CI only. No checklist step requires pasting test outputs on the release issue before mainnet deploy. An operator deploying outside CI could skip these with no checklist gate.
Evidence
docs/runbooks/launch-checklist.mdPhase 3 (lines 80-89): smoke-pool-swap.sh and smoke-wrap-mapper-pause.sh present; no contract/indexer/frontend test steps.gitlab-ci.ymllines 133-256: CI test jobs exist but are not referenced as explicit release issue gates in launch-checklist.mdSuggested Fix
Add a Test evidence gate section to
docs/runbooks/launch-checklist.mdPhase 0 or Phase 5 requiring operators to paste or link: (1)make test-contractsoutput; (2)make test-indexer-integrationoutput; (3)make test-frontendoutput; (4)smoke-pool-swap.shoutput (already in Phase 3). Update thedocs/templates/deploy-trace.mdtemplate with a "Test results" section for these pastes. Note that CI provides this evidence automatically when deploying from a CI-built artifact.Verification Checklist
docs/runbooks/launch-checklist.mdhas an explicit step requiring contract, indexer, and frontend test output pasted or linked on the release issue before mainnet deploydocs/templates/deploy-trace.mdincludes a "Test results" section for this evidenceLabels
security,pre-launchCc: @PlasticDigits
mentioned in issue #381
mentioned in merge request !974
mentioned in commit
71ae2d02b1mentioned in commit
5058c61b95mentioned in merge request !975
Verification — SEC-H08 pre-deploy test evidence gate (#444)
Result: PASS (all acceptance criteria satisfied on
main; no repo changes required)Acceptance criteria
docs/runbooks/launch-checklist.mdhas an explicit step requiring contract, indexer, and frontend test output pasted or linked on the release issue before mainnet deploymake test-contracts,make test-indexer-integration,make test-frontend, and pool smoke output on the launch/release issue at the deployed SHA. Phase 5 P0 table also references SEC-H08.docs/templates/deploy-trace.mdincludes a "Test results" section for this evidencetest-contracts,test-indexer-integration, andtest-frontend— link pipeline URL instead of re-pasting. Same note in deploy-trace template andskills/AGENTS_TEST_EVIDENCE_GATE.md.Automated verification
Cross-links confirmed
docs/deployment-guide.md— pre-deploy test evidence checklist itemdocs/qa-invariants.md— invariant Q3skills/AGENTS_TEST_EVIDENCE_GATE.md— agent playbookskills/AGENTS_LAUNCH_GO_NO_GO.md— links SEC-H08docs/testing.md— issue #444 row in test matrixClosing as verified on current
main.Verified the SEC-H08 test-evidence gate on main (it's already merged in,
4aabd71d).make verify-issue-444→ 8/8 PASS. The gate landed where it needs to:make test-contracts+make test-indexer-integration+make test-frontendoutput (plus the pool smoke) on the release issue at the same git SHA as the deployed wasm, before mainnetmake verify-issue-444)All three checklist items covered. Good to close from my side.
@PlasticDigits