docs(#292): verification LT11 E2E deploy/indexer guardrails #829

Merged
PlasticDigits merged 1 commit from cursor/gitlab-issue-verification-42ca into main 2026-06-06 08:25:23 +00:00
PlasticDigits commented 2026-06-06 08:15:53 +00:00 (Migrated from gitlab.com)

Summary

Cloud Agent verification of GitLab #292 (LocalTerra SDK 53 / terrad v4). Core infrastructure, deploy, contracts, frontend unit tests, QA verify-deploy, and indexer integration tests pass. Strict make test-e2e partially fails — documented guardrails added (LT11) for the deploy → indexer → E2E order that CI uses.

Doc changes

  • docs/localterra-sdk53.md: LT11 — one deploy-local per chain volume; run e2e-start-indexer.sh before make test-e2e; warn that make test-e2e-tx redeploys without indexer restart.
  • skills/AGENTS_E2E_STRICT_CHAIN.md: CI order (deploy → e2e-start-indexer → test-e2e); Cloud Agent sg docker requirement.
  • AGENTS.md: Cloud Agent strict E2E note cross-linking LT11.

Verification checklist (Cloud Agent VM)

Acceptance item Result How verified
1. Fresh stack: reset → start → wait-healthy → deploy-local on new digest PASS docker pull ghcr.io/plasticdigits/localterra-cl8y:latest → digest sha256:29e2d125…2faf matches docker-compose.yml; terrad version 4.0.1; make reset && make start && make wait-healthy; make build-optimized && make deploy-local (25 pairs, 60 seed swaps, stamp 248c999)
2. make test (contracts + frontend unit) PASS make test-contracts — 438 tests; make test-frontend — 886/886 Vitest
3. Strict make test-e2e without env-only skips PARTIAL FAIL sg docker -c 'make test-e2e': 102/106 smoke pass, 3 fail (#186 mobile wallet chip, #178 trade-book edit, #179 trade heading strict-mode — unrelated UI specs). sg docker -c 'make test-e2e-tx': 29/38 tx pass, 5 fail (indexer-dependent: limit order id, wrap-pool LUNC-C card, fee-discount swap timeout; root cause: test-e2e-tx redeploys without indexer restart — LT11)
4. make test-qa-verify-deploy PASS make test-qa-verify-deploy + make qa-verify-deploy — pair schema OK, stamp == HEAD
Digest pin matches :latest PASS docker inspect / compose comment
docker/init-chain.sh SDK 53 genesis PASS Chain starts; deploy succeeds on wasmvm v3
Indexer sync on v4 PASS make test-indexer-integration (all suites); indexer syncs 25 pairs from factory; tx-search uses page/limit (LT10)
Host LCD / LT9 PASS make test-localterra-host-curl

Follow-ups

  • Re-run make test-e2e using CI order on a clean make reset-qa volume (deploy once → e2e-start-indexer.sh → sg docker -c 'CI=1 make test-e2e') to confirm tx specs green end-to-end.
  • Investigate 3 smoke failures (#186, #178, #179) separately from #292.

Closes nothing — issue stays open until E2E is fully green.


Note

Low Risk
Documentation-only changes to agent/operator playbooks; no runtime, CI, or application code modified.

Overview
Documents LT11 for LocalTerra SDK 53 strict E2E: run make deploy-local once per chain volume, then bash scripts/e2e-start-indexer.sh, then make test-e2e (matching the CI e2e job). Explains that make deploy-local does not restart the indexer (#325), so a second deploy on the same volume can leave stale pair rows, and that make test-e2e-tx redeploys via deploy-dex-local.sh without restarting the indexer — avoid chaining it after an earlier deploy unless you make reset-qa or restart the indexer.

docs/localterra-sdk53.md adds the LT11 invariant row, expands the verification block (build-optimized, indexer start, test-indexer-integration, make test-e2e, Cloud Agent sg docker), and a explicit “do not” note. skills/AGENTS_E2E_STRICT_CHAIN.md replaces the one-command repro from make test-e2e-tx to the three-step CI order and clarifies Cloud Agent usage. AGENTS.md adds a Cloud Agent strict E2E cross-link to LT11.

Reviewed by Cursor Bugbot for commit 7d4c9df9ab. Bugbot is set up for automated code reviews on this repo. Configure here.

## Summary Cloud Agent verification of [GitLab #292](https://gitlab.com/PlasticDigits/cl8y-dex-terraclassic/-/issues/292) (LocalTerra SDK 53 / terrad v4). Core infrastructure, deploy, contracts, frontend unit tests, QA verify-deploy, and indexer integration tests **pass**. Strict `make test-e2e` **partially fails** — documented guardrails added (**LT11**) for the deploy → indexer → E2E order that CI uses. ## Doc changes - **`docs/localterra-sdk53.md`**: **LT11** — one `deploy-local` per chain volume; run `e2e-start-indexer.sh` before `make test-e2e`; warn that `make test-e2e-tx` redeploys without indexer restart. - **`skills/AGENTS_E2E_STRICT_CHAIN.md`**: CI order (`deploy` → `e2e-start-indexer` → `test-e2e`); Cloud Agent `sg docker` requirement. - **`AGENTS.md`**: Cloud Agent strict E2E note cross-linking LT11. ## Verification checklist (Cloud Agent VM) | Acceptance item | Result | How verified | |-----------------|--------|--------------| | **1.** Fresh stack: `reset → start → wait-healthy → deploy-local` on new digest | **PASS** | `docker pull ghcr.io/plasticdigits/localterra-cl8y:latest` → digest `sha256:29e2d125…2faf` matches `docker-compose.yml`; `terrad version` **4.0.1**; `make reset && make start && make wait-healthy`; `make build-optimized && make deploy-local` (25 pairs, 60 seed swaps, stamp `248c999`) | | **2.** `make test` (contracts + frontend unit) | **PASS** | `make test-contracts` — 438 tests; `make test-frontend` — 886/886 Vitest | | **3.** Strict `make test-e2e` without env-only skips | **PARTIAL FAIL** | `sg docker -c 'make test-e2e'`: **102/106** smoke pass, **3 fail** (#186 mobile wallet chip, #178 trade-book edit, #179 trade heading strict-mode — unrelated UI specs). `sg docker -c 'make test-e2e-tx'`: **29/38** tx pass, **5 fail** (indexer-dependent: limit order id, wrap-pool LUNC-C card, fee-discount swap timeout; root cause: `test-e2e-tx` redeploys without indexer restart — **LT11**) | | **4.** `make test-qa-verify-deploy` | **PASS** | `make test-qa-verify-deploy` + `make qa-verify-deploy` — pair schema OK, stamp == HEAD | | Digest pin matches `:latest` | **PASS** | `docker inspect` / compose comment | | `docker/init-chain.sh` SDK 53 genesis | **PASS** | Chain starts; deploy succeeds on wasmvm v3 | | Indexer sync on v4 | **PASS** | `make test-indexer-integration` (all suites); indexer syncs 25 pairs from factory; tx-search uses `page`/`limit` (**LT10**) | | Host LCD / LT9 | **PASS** | `make test-localterra-host-curl` | ## Follow-ups - Re-run `make test-e2e` using CI order on a clean `make reset-qa` volume (deploy once → `e2e-start-indexer.sh` → `sg docker -c 'CI=1 make test-e2e'`) to confirm tx specs green end-to-end. - Investigate 3 smoke failures (#186, #178, #179) separately from #292. Closes nothing — issue stays open until E2E is fully green. <!-- CURSOR_SUMMARY --> --- > [!NOTE] > **Low Risk** > Documentation-only changes to agent/operator playbooks; no runtime, CI, or application code modified. > > **Overview** > Documents **LT11** for LocalTerra SDK 53 strict E2E: run **`make deploy-local` once** per chain volume, then **`bash scripts/e2e-start-indexer.sh`**, then **`make test-e2e`** (matching the CI `e2e` job). Explains that **`make deploy-local` does not restart the indexer** ([#325](https://gitlab.com/PlasticDigits/cl8y-dex-terraclassic/-/work_items/325)), so a second deploy on the same volume can leave stale pair rows, and that **`make test-e2e-tx` redeploys** via `deploy-dex-local.sh` without restarting the indexer — avoid chaining it after an earlier deploy unless you **`make reset-qa`** or restart the indexer. > > **`docs/localterra-sdk53.md`** adds the LT11 invariant row, expands the verification block (`build-optimized`, indexer start, `test-indexer-integration`, `make test-e2e`, Cloud Agent `sg docker`), and a explicit “do not” note. **`skills/AGENTS_E2E_STRICT_CHAIN.md`** replaces the one-command repro from `make test-e2e-tx` to the three-step CI order and clarifies Cloud Agent usage. **`AGENTS.md`** adds a Cloud Agent strict E2E cross-link to LT11. > > <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit 7d4c9df9ab6781e3adb69f0ee5cdafb440906d5e. Bugbot is set up for automated code reviews on this repo. Configure [here](https://www.cursor.com/dashboard/bugbot).</sup> <!-- /CURSOR_SUMMARY -->
ghost1 commented 2026-06-06 08:16:00 +00:00 (Migrated from gitlab.com)

changed the description

changed the description
ghost1 commented 2026-06-06 08:16:07 +00:00 (Migrated from gitlab.com)

changed the description

changed the description
PlasticDigits commented 2026-06-06 08:16:24 +00:00 (Migrated from gitlab.com)

mentioned in issue #292

mentioned in issue #292
PlasticDigits commented 2026-06-06 08:17:13 +00:00 (Migrated from gitlab.com)

Security review

Commit reviewed: 7d4c9df9ab6781e3adb69f0ee5cdafb440906d5e
Scope: Documentation-only diff — docs/localterra-sdk53.md (LT11 invariant + verification commands), skills/AGENTS_E2E_STRICT_CHAIN.md (CI deploy → indexer → E2E order), AGENTS.md (Cloud Agent strict E2E cross-link).

Method: Inspected full MR diff; traced referenced scripts (e2e-start-indexer.sh, deploy-dex-local.sh) for attacker-controlled input paths. No application, contract, indexer, or CI runtime code is modified.

Outcome: FINDINGS: 0 medium+

No inline threads — nothing to annotate on the diff.

Notes:

  • Changes document local QA/E2E operator ordering (one deploy-local per chain volume, restart indexer before strict E2E). The stale-pair-row condition is a test-data consistency issue, not an exploitable production authz or injection surface.
  • No new secrets, credentials, or unsafe deserialization patterns introduced.
  • Pre-existing dev-only guidance (e.g. sg docker, Chrome --no-sandbox) is unchanged; not introduced by this MR.
## Security review **Commit reviewed:** `7d4c9df9ab6781e3adb69f0ee5cdafb440906d5e` **Scope:** Documentation-only diff — `docs/localterra-sdk53.md` (LT11 invariant + verification commands), `skills/AGENTS_E2E_STRICT_CHAIN.md` (CI deploy → indexer → E2E order), `AGENTS.md` (Cloud Agent strict E2E cross-link). **Method:** Inspected full MR diff; traced referenced scripts (`e2e-start-indexer.sh`, `deploy-dex-local.sh`) for attacker-controlled input paths. No application, contract, indexer, or CI runtime code is modified. **Outcome:** **FINDINGS: 0** medium+ No inline threads — nothing to annotate on the diff. **Notes:** - Changes document local QA/E2E operator ordering (one `deploy-local` per chain volume, restart indexer before strict E2E). The stale-pair-row condition is a test-data consistency issue, not an exploitable production authz or injection surface. - No new secrets, credentials, or unsafe deserialization patterns introduced. - Pre-existing dev-only guidance (e.g. `sg docker`, Chrome `--no-sandbox`) is unchanged; not introduced by this MR.
PlasticDigits commented 2026-06-06 08:25:24 +00:00 (Migrated from gitlab.com)

mentioned in commit 9e04cb8166

mentioned in commit 9e04cb81661e93d2d862d0c1e60592afa0cb5ead
PlasticDigits (Migrated from gitlab.com) merged commit 9e04cb8166 into main 2026-06-06 08:25:24 +00:00
PlasticDigits commented 2026-06-08 08:43:13 +00:00 (Migrated from gitlab.com)

mentioned in commit 0fb48c2da9

mentioned in commit 0fb48c2da9a99d928853fa27bc79d56af5b9dcaf
PlasticDigits commented 2026-06-08 13:42:29 +00:00 (Migrated from gitlab.com)

mentioned in commit a7d81f0aa1

mentioned in commit a7d81f0aa1b0e5d573aaf099d70e0c44514499ba
Sign in to join this conversation.
No reviewers
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!829
No description provided.