ops: post-merge !474/!475 leftover verify (#694 #695) #699

Closed
opened 2026-08-28 11:13:03 +00:00 by PlasticDigits · 4 comments
PlasticDigits commented 2026-08-28 11:13:03 +00:00 (Migrated from gitlab.com)

Summary

!1193 (#694 API4 per-request caps) and !1192 (#695 production VITE_DEV_MODE reject) are on main. Local AC passed before merge (make verify-issue-694 5/5; make verify-issue-695 7/7 after Makefile help conflict resolution). Close this leftover when Coolify + audit-note + live Swap checks are done.

Do not reopen #694 / #695 unless a merged invariant is wrong (GitLab auto-closed them on merge).

No automerge. Do not wait on GitLab CI (quota is not a product signal).

Merged MRs

MR Issue What landed
!1193 #694 MAX_GT_EVENT_ROWS=5000 → 400 (no truncation); progress + blacklist-check on lcd_heavy_router; 12s GetDiscount cache; blacklist tokens≤16 / pairs≤8 fail-closed; frontend omit-trader + backoff; make verify-issue-694
!1192 #695 Production vite build --mode production rejects VITE_DEV_MODE=true (FE-01); local-only mnemonic escape does not bypass; LocalTerra/Vitest/Playwright keep the flag; make verify-issue-695

Conflict resolution on !1192: Makefile help kept main Cloud Agent / Frontend lists and added verify-issue-695.

Operator leftovers

Coolify indexer (#694)

Redeploy indexer from current main (includes !1193). No new migration for this stack.

# over-cap window should 400 (not a multi-MB JSON)
curl -sS -o /tmp/gt-events.json -w "%{http_code}\n" \
  "https://indexer.dex.cl8y.com/gt/events?fromBlock=H1&toBlock=H2"
# body: event count exceeds 5000 when combined swap+liq > 5000

# progress + trader must not 1:1 LCD GetDiscount (12s cache)
# blacklist oversize
curl -sS -o /dev/null -w "%{http_code}\n" \
  "https://indexer.dex.cl8y.com/api/v1/compliance/blacklist-check?tokens=$(python3 -c 'print(",".join(["terra1x"]*17))')"
# expect 400

Coolify frontend (#695)

Rebuild frontend from current main. Confirm Coolify production env has VITE_DEV_MODE unset. A mistaken true now fails vite build --mode production (desired fail-closed). Staging / LocalTerra may keep the flag.

Live Swap QA (#694 frontend)

  • Progress stays advisory while a slow quote runs.
  • Place / Swap still works.
  • After consecutive progress failures, poll backs off (no quote-math change).

Audit note

Close RE-01 / RE-02 / RE-03 / FE-01 in audits/INTERNAL_GROK46_1787908099.md after prod evidence. Do not treat in-repo verify as prod close.

Local verify (after git pull)

make setup-indexer-postgres   # if indexer/.env missing
make verify-issue-694
make verify-issue-695

Optional runtime proof: make test-frontend (not required to close if Coolify rebuild is green).

Guardrails

  • Do not reopen #694 / #695 for ops/QA.
  • Do not trust X-Forwarded-For / change prod RPS clamp.
  • Do not fail-open blacklist (oversize stays 400, not truncate).
  • Do not change CSP, WalletConnect, clickwrap, or the runtime devWallet.ts gate.
  • Do not commit scripts/tmp-558-* (#558 stays open).
  • Do not wait on GitLab CI quota.

Sanity notes from merge review (non-blocking)

  • GT over-cap tests live in api_gt.rs (not security.rs); verify harness covers them.
  • /gt/events COUNT-then-SELECT is not one transaction (theoretical over-cap race).
  • Trade page does not wire useRouteSolveProgress (Swap only).
  • scripts/qa/README.md has no #695 index row (optional hygiene).
## Summary [!1193](https://gitlab.com/PlasticDigits/cl8y-dex-terraclassic/-/merge_requests/475) (#694 API4 per-request caps) and [!1192](https://gitlab.com/PlasticDigits/cl8y-dex-terraclassic/-/merge_requests/474) (#695 production `VITE_DEV_MODE` reject) are on `main`. Local AC passed before merge (`make verify-issue-694` 5/5; `make verify-issue-695` 7/7 after Makefile help conflict resolution). **Close this leftover when Coolify + audit-note + live Swap checks are done.** Do **not** reopen [#694](https://gitlab.com/PlasticDigits/cl8y-dex-terraclassic/-/issues/694) / [#695](https://gitlab.com/PlasticDigits/cl8y-dex-terraclassic/-/issues/695) unless a merged invariant is wrong (GitLab auto-closed them on merge). No automerge. Do not wait on GitLab CI (quota is not a product signal). ## Merged MRs | MR | Issue | What landed | |----|-------|-------------| | !1193 | #694 | `MAX_GT_EVENT_ROWS=5000` → **400** (no truncation); progress + blacklist-check on `lcd_heavy_router`; 12s `GetDiscount` cache; blacklist tokens≤16 / pairs≤8 fail-closed; frontend omit-trader + backoff; `make verify-issue-694` | | !1192 | #695 | Production `vite build --mode production` rejects `VITE_DEV_MODE=true` (FE-01); local-only mnemonic escape does not bypass; LocalTerra/Vitest/Playwright keep the flag; `make verify-issue-695` | Conflict resolution on !1192: Makefile help kept main Cloud Agent / Frontend lists and added `verify-issue-695`. ## Operator leftovers ### Coolify indexer (#694) Redeploy indexer from current `main` (includes !1193). No new migration for this stack. ```bash # over-cap window should 400 (not a multi-MB JSON) curl -sS -o /tmp/gt-events.json -w "%{http_code}\n" \ "https://indexer.dex.cl8y.com/gt/events?fromBlock=H1&toBlock=H2" # body: event count exceeds 5000 when combined swap+liq > 5000 # progress + trader must not 1:1 LCD GetDiscount (12s cache) # blacklist oversize curl -sS -o /dev/null -w "%{http_code}\n" \ "https://indexer.dex.cl8y.com/api/v1/compliance/blacklist-check?tokens=$(python3 -c 'print(",".join(["terra1x"]*17))')" # expect 400 ``` ### Coolify frontend (#695) Rebuild frontend from current `main`. Confirm Coolify production env has **`VITE_DEV_MODE` unset**. A mistaken `true` now fails `vite build --mode production` (desired fail-closed). Staging / LocalTerra may keep the flag. ### Live Swap QA (#694 frontend) - Progress stays advisory while a slow quote runs. - Place / Swap still works. - After consecutive progress failures, poll backs off (no quote-math change). ### Audit note Close RE-01 / RE-02 / RE-03 / FE-01 in `audits/INTERNAL_GROK46_1787908099.md` after prod evidence. Do not treat in-repo verify as prod close. ## Local verify (after `git pull`) ```bash make setup-indexer-postgres # if indexer/.env missing make verify-issue-694 make verify-issue-695 ``` Optional runtime proof: `make test-frontend` (not required to close if Coolify rebuild is green). ## Guardrails - Do not reopen #694 / #695 for ops/QA. - Do not trust `X-Forwarded-For` / change prod RPS clamp. - Do not fail-open blacklist (oversize stays **400**, not truncate). - Do not change CSP, WalletConnect, clickwrap, or the runtime `devWallet.ts` gate. - Do not commit `scripts/tmp-558-*` (#558 stays open). - Do not wait on GitLab CI quota. ## Sanity notes from merge review (non-blocking) - GT over-cap tests live in `api_gt.rs` (not `security.rs`); verify harness covers them. - `/gt/events` COUNT-then-SELECT is not one transaction (theoretical over-cap race). - Trade page does not wire `useRouteSolveProgress` (Swap only). - `scripts/qa/README.md` has no #695 index row (optional hygiene).
PlasticDigits commented 2026-08-28 11:13:04 +00:00 (Migrated from gitlab.com)

marked as related to #694

marked as related to #694
PlasticDigits commented 2026-08-28 11:13:05 +00:00 (Migrated from gitlab.com)

marked as related to #695

marked as related to #695
PlasticDigits commented 2026-08-29 10:06:43 +00:00 (Migrated from gitlab.com)

Duplicate of #698 (same leftover for !1192/#695 + !1193/#694). Canonical leftover + make verify-issue-698 (this issue aliases as make verify-issue-699) is documented on #698.

Evidence and remaining Coolify interactive Swap walk: https://gitlab.com/PlasticDigits/cl8y-dex-terraclassic/-/work_items/698#note_3756124593

Closing as duplicate. Do not reopen #694 / #695.

Duplicate of #698 (same leftover for !1192/#695 + !1193/#694). Canonical leftover + `make verify-issue-698` (this issue aliases as `make verify-issue-699`) is documented on #698. Evidence and remaining Coolify interactive Swap walk: https://gitlab.com/PlasticDigits/cl8y-dex-terraclassic/-/work_items/698#note_3756124593 Closing as duplicate. Do **not** reopen #694 / #695.
PlasticDigits commented 2026-08-29 10:09:13 +00:00 (Migrated from gitlab.com)

Duplicate of #698 (same leftover for !1192 / !1193). Canonical leftover is #698. Harness on main (5ca6fc5a): make verify-issue-699 aliases make verify-issue-698.

Closing as duplicate. Follow #698 for the remaining Coolify interactive Swap walk. Did not reopen #694 / #695.

Duplicate of #698 (same leftover for !1192 / !1193). Canonical leftover is #698. Harness on `main` (`5ca6fc5a`): `make verify-issue-699` aliases `make verify-issue-698`. Closing as duplicate. Follow #698 for the remaining Coolify interactive Swap walk. Did **not** reopen #694 / #695.
PlasticDigits (Migrated from gitlab.com) closed this issue 2026-08-29 10:09:14 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
code/cl8y-dex-terraclassic#699
No description provided.