feat(qa): redeploy decision guide and faster QA bring-up (#325) #802
No reviewers
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!802
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "cursor/gitlab-issue-workflow-2dff"
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?
Implements #325
changed the description
mentioned in issue #325
changed the description
changed the description
Stale Security Review comment
Stale Security Review comment
Cursor Bugbot has reviewed your changes and found 3 potential issues.
Bugbot Autofix is ON. A cloud agent has been kicked off to fix the reported issues.
Reviewed by Cursor Bugbot for commit
6763580ad2. Configure here.Query waiter ignores failed transactions
Medium Severity
terrad_wait_tx_queryonly returns when the tx reports success code 0. Ifterrad query txreturns a failed execution (non-zero code), it keeps polling until timeout instead of failing fast liketerrad_wait_tx_inclusionand the Pythonswarm.pyhelper this file references.Reviewed by Cursor Bugbot for commit
6763580ad2. Configure here.Deploy skip bypasses wasm staleness
Medium Severity
When
deploy_up_to_datesucceeds,start-qaskipsdeploy-localentirely, sodeploy-dex-local.sh’s source-vs-wasm staleness check never runs. With an unchangedHEADand stamp, rebuilt wasm after local contract edits can leave the chain on an older deployment while verification still passes schema probes.Additional Locations (1)
scripts/lib/deploy-up-to-date.sh#L6-L28Reviewed by Cursor Bugbot for commit
6763580ad2. Configure here.Wallet seed keeps extra tokens
Medium Severity
The
walletQA_DEPLOY_SEEDbranch trims main tokens andPAIR_CONFIGSbut leaves the defaultNOWHITELIST_*andUNPAIRED_*arrays intact, unlikeminimalandcharts. Phases 2b/2c still run, so a “wallet” deploy creates five extra tokens and extra work while the banner still advertises a lighter profile.Reviewed by Cursor Bugbot for commit
6763580ad2. Configure here.Security review
Commit reviewed:
6763580ad2c83c6ee0d9f3d34346708d775f2781Scope: QA bring-up only —
scripts/lib/deploy-up-to-date.sh,terrad-wait-tx.sh,qa-phase-timing.sh,scripts/qa/fetch-qa-ci-artifacts.sh,publish-qa-ci-artifacts.sh,start-qa.sh,deploy-dex-local.shseed profiles / tx polling,.gitlab-ci.ymlgeneric-package publish jobs, Makefile/docs/skills (17 files).Method: Diff reviewed on GitLab MR !802; traced env-controlled inputs (
GIT_SHA,GITLAB_REPO,CI_API_V4_URL,QA_FETCH_CI_ARTIFACTS,INDEXER_QA_BIN,QA_DEPLOY_SEED) to sinks (curl, tar extract,docker exec, indexer exec). Checked deploy-skip path still runsqa-verify-deployschema probes. No prior security-review threads on this MR.Outcome:
FINDINGS: 0medium+Security review: no medium+ findings on this diff.
Notes (below threshold / accepted trust boundaries):
make build-optimized/ CI — authenticated GitLab API, project-scoped tokens; not an internet-facing attack surface.tar xzfon fetched wasm tarball is supply-chain-sensitive in theory (tar slip); mitigated in practice by private packages + maintainer/CI-only publish rules onmain; no untrusted user input path.deploy_up_to_dateskip is followed byqa-verify-deploy(schema + stamp checks); LCD factory probe limits stale-volume false negatives documented in Q1.QA_DEPLOY_SEEDonly trims local QA seed data; production deploy paths unchanged.Inline threads: none
added 1 commit
347ca7b9- Fix wallet seed extras, tx query fail-fast, and deploy skip wasm freshnessCompare with previous version
changed the description
resolved all threads
resolved all threads
Stale Security Review comment
Cursor Bugbot has reviewed your changes and found 1 potential issue.
Bugbot Autofix is ON. A cloud agent has been kicked off to fix the reported issue.
Reviewed by Cursor Bugbot for commit
347ca7b9ae. Configure here.Stale wasm picks no-build path
Medium Severity
After
deploy_up_to_daterejects a stale deploy,start-qastill choosesmake deploy-local-no-buildwhenever anycl8y_dex_*.wasmfiles exist. That path always hitsdex_wasm_stale_vs_sourcesindeploy-dex-local.shand exits without building, so a common contract-source change leaves QA bring-up stuck until someone runsmake build-optimizedmanually instead ofmake deploy-local.Reviewed by Cursor Bugbot for commit
347ca7b9ae. Configure here.Security review
Commit reviewed:
347ca7b9ae2c42b7cc9e224cb63fca1ed2167a90Scope: QA bring-up only — delta since prior review (
6763580):wasm-artifacts-stale.sh,deploy-up-to-date.shwasm freshness gates,terrad-wait-tx.shfail-fast on failed txs,deploy-dex-local.shwallet seed profile fix. Full MR also coversfetch-qa-ci-artifacts.sh,publish-qa-ci-artifacts.sh,start-qa.sh,.gitlab-ci.ymlgeneric-package jobs, Makefile/docs/skills (18 files).Method: Diff reviewed on GitLab MR !802; traced env-controlled inputs (
GIT_SHA,GITLAB_REPO,CI_API_V4_URL,QA_FETCH_CI_ARTIFACTS,INDEXER_QA_BIN,QA_DEPLOY_SEED) to sinks (curl, tar extract,docker exec, indexer exec). Verified deploy-skip path still runsqa-verify-deployschema probes and now rejects stale/newer wasm vs sources and deploy stamp.Outcome:
FINDINGS: 0medium+Security review: no medium+ findings on this diff.
Notes (below threshold / accepted trust boundaries):
make build-optimized/ CI — authenticated GitLab API, project-scoped tokens; not an internet-facing attack surface.tar xzfon fetched wasm tarball is supply-chain-sensitive in theory (tar slip); mitigated in practice by private packages + maintainer/CI-only publish rules onmain; no untrusted user input path.deploy_up_to_dateskip is followed byqa-verify-deploy(schema + stamp checks); wasm freshness checks added in347ca7b9close the prior stale-artifact skip gap.QA_DEPLOY_SEEDis allowlisted (full|minimal|charts|wallet); only trims local QA seed data; production deploy paths unchanged.terrad_wait_tx_queryfail-fast on non-zero tx codes is a reliability improvement, not a new attack surface.Inline threads: none
changed this line in version 3 of the diff
added 1 commit
cac5a457- fix(qa): use deploy-local when wasm artifacts are staleCompare with previous version
changed the description
resolved all threads
Security review
Commit reviewed:
cac5a457c116ceaf7d2de95e52927b68b9a5d1e0Scope: QA bring-up delta since prior review (
347ca7b):start-qa.shstale-wasm deploy path fix (deploy-localwhen artifacts are stale/missing). Full MR also coversdeploy-up-to-date.sh,wasm-artifacts-stale.sh,terrad-wait-tx.sh,fetch-qa-ci-artifacts.sh,publish-qa-ci-artifacts.sh,deploy-dex-local.shseed profiles,.gitlab-ci.ymlgeneric-package publish jobs, Makefile/docs/skills (18 files).Method: Diff reviewed on GitLab MR !802; traced env-controlled inputs (
GIT_SHA,GITLAB_REPO,CI_API_V4_URL,QA_FETCH_CI_ARTIFACTS,INDEXER_QA_BIN,QA_DEPLOY_SEED) to sinks (curl, tar extract,docker exec, indexer exec). Verified deploy-skip path runsqa-verify-deployschema probes anddeploy_up_to_daterejects stale/newer wasm vs sources and deploy stamp. Re-checked prior security-review threads (6763580,347ca7b) — no medium+ findings remain applicable.Outcome:
FINDINGS: 0medium+Security review: no medium+ findings on this diff.
Notes (below threshold / accepted trust boundaries):
make build-optimized/ CI — authenticated GitLab API, project-scoped tokens; not an internet-facing attack surface.tar xzfon fetched wasm tarball is supply-chain-sensitive in theory (tar slip); mitigated in practice by private packages + maintainer/CI-only publish rules onmain; no untrusted user input path.deploy_up_to_dateskip is followed byqa-verify-deploy(schema + stamp checks);cac5a45ensures stale wasm triggers fulldeploy-localinstead of a no-build path that could leave mismatched artifacts.QA_DEPLOY_SEEDis allowlisted (full|minimal|charts|wallet); only trims local QA seed data; production deploy paths unchanged.terrad_wait_tx_*uses quoteddocker execargs; tx hashes originate from localterradbroadcasts, not external input.Inline threads: none
mentioned in commit
775ad0e620Cursor Bugbot has reviewed your changes and found 1 potential issue.
Bugbot Autofix is ON, but it could not run because the branch was deleted or merged before autofix could start.
Reviewed by Cursor Bugbot for commit
cac5a457c1. Configure here.Infrastructure timing phase never closed
Low Severity
qa_timing_phase_start "infrastructure"runs at the start of Phase 1, but no matchingqa_timing_phase_endruns before the nextqa_timing_phase_start(treasury-wraportokens-pairs). The infrastructure phase never logs a finish duration, and later phase timings can include work that belongs under infrastructure.Reviewed by Cursor Bugbot for commit
cac5a457c1. Configure here.