ops: post-merge !414 LocalTerra community-tax seed leftovers (#620) #624

Closed
opened 2026-08-24 06:19:36 +00:00 by PlasticDigits · 9 comments
PlasticDigits commented 2026-08-24 06:19:36 +00:00 (Migrated from gitlab.com)

Parent

Merged on main (no CI wait):

  • !1132 — #620 LocalTerra community-tax seed + Transfer funding (f85a8e40)

Do not reopen #620 unless a merged invariant is wrong (L620-1–L620-8). Siblings stay their own tickets: tax-aware swarm #621, Playwright e2e-tx #622, named tax-on Layer B #623.

Playbook: skills/AGENTS_LOCALTERRA_COMMUNITY_TAX_SEED.md. Merge note: #620 comment.

Why this is needed

!1132 landed the seed + Transfer funding fork. make verify-issue-620 was 8/8 including a live LCD probe of an existing LocalTerra volume (local store id 77 whitelisted; columbus-5 11611 / 11619 / 11612 / 11621 / 8654 not). GitLab CI on !1132 failed with ci_quota_exceeded (not a code defect).

These leftovers were not proven on the merge tip:

  1. Fresh make reset && make deploy-local (full optimizer) so .qa-deploy-stamp matches HEAD (f85a8e40 or later).
  2. Indexer start with deploy-written COMMUNITY_TAX_* / CMM_GOVERNANCE_ADDR=test1 / COMMUNITY_TAX_OPTION2_CODE_IDS=<local id> → GET /api/v1/community-tokens configured: true + QA token attested_cmm.
  3. GET /api/v1/tokens/{tax} may embed community_tax; route/solve sees buy_bps / sell_bps (R615).
  4. bash scripts/e2e-provision-dev-wallet.sh Transfer (not Mint) on the QA tax token; wrap skip; TCL8Y still Mints.
  5. Swarm funding path (not --dry-run alone — dry-run skips fundBotWallets) never Mints the tax token.
  6. Re-run deploy without --fresh: stamp skip / safe no-op (no second tax pair). Phase 4d itself always stores + paid-creates if the whole deploy runs.
  7. make verify-issue-601 · 592 · 610 · 594 stay green (no contract changes in !1132).

Acceptance

  • Fresh volume: make reset && make deploy-local writes local VITE_COMMUNITY_TAX_* / SmokeUST1 / indexer COMMUNITY_TAX_*; LCD factory pair + RegisterListedPair + AutoLP pair match env; reserves ≥ swarm floor (10M raw / side).
  • Indexer: GET /api/v1/community-tokens is configured: true and lists the QA token as attested_cmm after ingest/probe. Do not pin columbus-5 11619 against local instances.
  • Provision + swarm funding Transfer from test1 (fail-closed). DEPLOY_SKIP_COMMUNITY_TAX=1 still gems-only.
  • #601 smoke + make verify-issue-592 / 610 / 594 green on this tip.
  • Optional: document that swarm --dry-run does not exercise funding (or add a dry-run classify log).

Do not

  • AddWhitelistedCodeId 11611 / 11619 / launcher / AutoLP / ALPHA 8654 from LocalTerra evidence.
  • Enable MintControl on the QA token or fall back to Mint when Transfer fails.
  • Reopen #620 / #592 / #601 / #610 / #594 unless a merged invariant is wrong.
  • Implement pair/router FoT math (H-01).

Verify

make verify-issue-620
# leftover live:
# make reset && make deploy-local
# grep VITE_COMMUNITY VITE_UST1 frontend-dapp/.env.local
# grep COMMUNITY_TAX indexer/.env
# bash scripts/e2e-provision-dev-wallet.sh
# indexer: GET /api/v1/community-tokens
# make verify-issue-601 && make verify-issue-592 && make verify-issue-610 && make verify-issue-594
## Parent Merged on `main` (no CI wait): - [!1132](https://gitlab.com/PlasticDigits/cl8y-dex-terraclassic/-/merge_requests/414) — #620 LocalTerra community-tax seed + Transfer funding (`f85a8e40`) Do **not** reopen [#620](https://gitlab.com/PlasticDigits/cl8y-dex-terraclassic/-/issues/620) unless a merged invariant is wrong (**L620-1–L620-8**). Siblings stay their own tickets: tax-aware swarm [#621](https://gitlab.com/PlasticDigits/cl8y-dex-terraclassic/-/issues/621), Playwright `e2e-tx` [#622](https://gitlab.com/PlasticDigits/cl8y-dex-terraclassic/-/issues/622), named tax-on Layer B [#623](https://gitlab.com/PlasticDigits/cl8y-dex-terraclassic/-/issues/623). Playbook: [`skills/AGENTS_LOCALTERRA_COMMUNITY_TAX_SEED.md`](https://gitlab.com/PlasticDigits/cl8y-dex-terraclassic/-/blob/main/skills/AGENTS_LOCALTERRA_COMMUNITY_TAX_SEED.md). Merge note: [#620 comment](https://gitlab.com/PlasticDigits/cl8y-dex-terraclassic/-/work_items/620#note_3723234727). ## Why this is needed !1132 landed the seed + Transfer funding fork. `make verify-issue-620` was **8/8** including a live LCD probe of an **existing** LocalTerra volume (local store id **77** whitelisted; columbus-5 **11611 / 11619 / 11612 / 11621 / 8654** not). GitLab CI on !1132 failed with `ci_quota_exceeded` (not a code defect). These leftovers were **not** proven on the merge tip: 1. Fresh `make reset && make deploy-local` (full optimizer) so `.qa-deploy-stamp` matches `HEAD` (`f85a8e40` or later). 2. Indexer start with deploy-written `COMMUNITY_TAX_*` / `CMM_GOVERNANCE_ADDR=test1` / `COMMUNITY_TAX_OPTION2_CODE_IDS=<local id>` → `GET /api/v1/community-tokens` `configured: true` + QA token `attested_cmm`. 3. `GET /api/v1/tokens/{tax}` may embed `community_tax`; `route/solve` sees `buy_bps` / `sell_bps` (**R615**). 4. `bash scripts/e2e-provision-dev-wallet.sh` Transfer (not Mint) on the QA tax token; wrap skip; TCL8Y still Mints. 5. Swarm funding path (not `--dry-run` alone — dry-run **skips** `fundBotWallets`) never Mints the tax token. 6. Re-run deploy without `--fresh`: stamp skip / safe no-op (no second tax pair). Phase 4d itself always stores + paid-creates if the whole deploy runs. 7. `make verify-issue-601` · `592` · `610` · `594` stay green (no contract changes in !1132). ## Acceptance - [ ] Fresh volume: `make reset && make deploy-local` writes local `VITE_COMMUNITY_TAX_*` / SmokeUST1 / indexer `COMMUNITY_TAX_*`; LCD factory pair + `RegisterListedPair` + AutoLP `pair` match env; reserves ≥ swarm floor (10M raw / side). - [ ] Indexer: `GET /api/v1/community-tokens` is `configured: true` and lists the QA token as `attested_cmm` after ingest/probe. Do not pin columbus-5 **11619** against local instances. - [ ] Provision + swarm funding Transfer from `test1` (fail-closed). `DEPLOY_SKIP_COMMUNITY_TAX=1` still gems-only. - [ ] `#601` smoke + `make verify-issue-592` / `610` / `594` green on this tip. - [ ] Optional: document that swarm `--dry-run` does not exercise funding (or add a dry-run classify log). ## Do not - `AddWhitelistedCodeId` 11611 / 11619 / launcher / AutoLP / ALPHA **8654** from LocalTerra evidence. - Enable `MintControl` on the QA token or fall back to Mint when Transfer fails. - Reopen #620 / #592 / #601 / #610 / #594 unless a merged invariant is wrong. - Implement pair/router FoT math (**H-01**). ## Verify ```bash make verify-issue-620 # leftover live: # make reset && make deploy-local # grep VITE_COMMUNITY VITE_UST1 frontend-dapp/.env.local # grep COMMUNITY_TAX indexer/.env # bash scripts/e2e-provision-dev-wallet.sh # indexer: GET /api/v1/community-tokens # make verify-issue-601 && make verify-issue-592 && make verify-issue-610 && make verify-issue-594 ```
PlasticDigits commented 2026-08-24 06:19:37 +00:00 (Migrated from gitlab.com)

marked as related to #620

marked as related to #620
PlasticDigits commented 2026-08-24 06:19:45 +00:00 (Migrated from gitlab.com)

mentioned in issue #620

mentioned in issue #620
PlasticDigits commented 2026-08-24 07:02:37 +00:00 (Migrated from gitlab.com)

mentioned in issue #625

mentioned in issue #625
PlasticDigits commented 2026-08-24 07:02:38 +00:00 (Migrated from gitlab.com)

marked as related to #625

marked as related to #625
PlasticDigits commented 2026-08-24 07:02:46 +00:00 (Migrated from gitlab.com)

!1133 / !1134 / !1135 are now on main (swarm / Layer B tax-on / e2e-tx). Their live leftovers (seed-path tax-on buy using manager-exempt test1, P0 e2e-tx extra-debit on a clean seed, swarm soak) are tracked on #625. This ticket stays the #620 fresh-volume / indexer / Transfer-funding remainder.

!1133 / !1134 / !1135 are now on `main` (swarm / Layer B tax-on / e2e-tx). Their live leftovers (seed-path tax-on buy using manager-exempt `test1`, P0 e2e-tx extra-debit on a clean seed, swarm soak) are tracked on [#625](https://gitlab.com/PlasticDigits/cl8y-dex-terraclassic/-/issues/625). This ticket stays the #620 fresh-volume / indexer / Transfer-funding remainder.
PlasticDigits commented 2026-08-24 07:37:30 +00:00 (Migrated from gitlab.com)

mentioned in commit 8592b5a4bc

mentioned in commit 8592b5a4bc8d62c43e75f2f0f698dc49b5f71e2d
PlasticDigits commented 2026-08-24 07:38:05 +00:00 (Migrated from gitlab.com)

Verified on main at 8592b5a4 (make verify-issue-624 18/18). Worktree issue-624-post-merge-leftovers → ff into main → origin/main.

This is leftover live for !1132 / #620. Did not reopen #620 / #592 / #601 / #610 / #594. Siblings #621 / #622 / #623 stay closed; !1133–!1135 leftovers stay on #625.

What landed

  • Playbook skills/AGENTS_POST_MERGE_OPS_624.md + Q12 / M624-1–M624-8 in docs/qa-invariants.md.
  • make verify-issue-624 leftover harness (child 620 + live + children 601 / 592 / 610 / 594).
  • Swarm --dry-run now logs kind: "swarm_funding_plan" and still skips fundBotWallets (M624-5). Live funding uses fundingExecuteMsg (tax = Transfer, never Mint).
  • VERIFY624_FRESH=1 is make reset && make start && make deploy-local (reset alone only downs volumes) + indexer restart.

Fresh-volume leftover (this run)

VERIFY624_FRESH=1 on an empty compose project after docker compose down -v:

Pin Value
.qa-deploy-stamp git_sha 01cd541b (= HEAD at deploy; then this commit)
Local tax code_id 9 (not columbus-5 11619 / 11611)
QA token terra1fll72…pp7fd5
tax/EMBER pair terra13tt96…hjzles
Indexer configured: true, QA token attested_cmm, route/solve sell_tax_bps=500
Provision Transfer fork, no tax Mint
Swarm dry-run swarm_funding_plan tax=transfer (29 factory CW20s); no swarm_funding_action

Loop notes: first leftover pass used stale sibling wasm (mtime) and run_step hid set -e failures inside if. Fixed fail-closed run_step, real make deploy-local, #594 docs string keep Community tax catalog (GitLab #594), and verify-issue-610 npm ci when worktree has no vitest.

Checklist (issue body + comments)

  • Fresh volume: make reset && make start && make deploy-local writes local VITE_COMMUNITY_TAX_* / SmokeUST1 / indexer COMMUNITY_TAX_*; LCD factory pair + AutoLP pair match env; reserves ≥ 10M raw / side; stamp git_sha == deploy HEAD.
  • Indexer: GET /api/v1/community-tokens configured: true + QA token attested_cmm. Local code id 9, not 11619.
  • GET /api/v1/tokens/{tax} embeds community_tax; route/solve sees buy_tax_bps / sell_tax_bps (R615).
  • e2e-provision-dev-wallet.sh Transfer from test1 (fail-closed). Wrap skip. TCL8Y still Mints.
  • Swarm funding path never Mints the tax token (fundingExecuteMsg + dry-run classify log). --dry-run documented as not a fundBotWallets proof.
  • Re-run without --fresh: deploy_up_to_date stamp skip (no second tax pair). Phase 4d still stores + paid-creates if the whole deploy script runs.
  • make verify-issue-601 · 592 · 610 · 594 green on this tip.
  • Did not AddWhitelistedCodeId 11611 / 11619 / launcher / AutoLP / ALPHA 8654.
  • Did not enable MintControl or Mint-fallback on the QA token.
  • Did not implement pair/router FoT math (H-01).
  • Did not treat !1133 / !1134 / !1135 leftovers as this ticket (those stay #625).
make verify-issue-624
# leftover #1 only:
VERIFY624_FRESH=1 make verify-issue-624
Verified on `main` at [`8592b5a4`](https://gitlab.com/PlasticDigits/cl8y-dex-terraclassic/-/commit/8592b5a4) (`make verify-issue-624` **18/18**). Worktree `issue-624-post-merge-leftovers` → ff into `main` → `origin/main`. This is leftover live for [!1132](https://gitlab.com/PlasticDigits/cl8y-dex-terraclassic/-/merge_requests/414) / [#620](https://gitlab.com/PlasticDigits/cl8y-dex-terraclassic/-/issues/620). Did **not** reopen #620 / #592 / #601 / #610 / #594. Siblings #621 / #622 / #623 stay closed; !1133–!1135 leftovers stay on [#625](https://gitlab.com/PlasticDigits/cl8y-dex-terraclassic/-/issues/625). ## What landed - Playbook [`skills/AGENTS_POST_MERGE_OPS_624.md`](https://gitlab.com/PlasticDigits/cl8y-dex-terraclassic/-/blob/main/skills/AGENTS_POST_MERGE_OPS_624.md) + **Q12 / M624-1–M624-8** in [`docs/qa-invariants.md`](https://gitlab.com/PlasticDigits/cl8y-dex-terraclassic/-/blob/main/docs/qa-invariants.md#post-merge-ops-624). - `make verify-issue-624` leftover harness (child **620** + live + children **601 / 592 / 610 / 594**). - Swarm `--dry-run` now logs `kind: "swarm_funding_plan"` and still **skips** `fundBotWallets` (**M624-5**). Live funding uses `fundingExecuteMsg` (tax = Transfer, never Mint). - `VERIFY624_FRESH=1` is `make reset && make start && make deploy-local` (reset alone only downs volumes) + indexer restart. ## Fresh-volume leftover (this run) `VERIFY624_FRESH=1` on an empty compose project after `docker compose down -v`: | Pin | Value | |-----|--------| | `.qa-deploy-stamp` `git_sha` | `01cd541b` (= `HEAD` at deploy; then this commit) | | Local tax `code_id` | **9** (not columbus-5 **11619** / **11611**) | | QA token | `terra1fll72…pp7fd5` | | tax/EMBER pair | `terra13tt96…hjzles` | | Indexer | `configured: true`, QA token `attested_cmm`, `route/solve` `sell_tax_bps=500` | | Provision | Transfer fork, no tax Mint | | Swarm dry-run | `swarm_funding_plan` tax=`transfer` (29 factory CW20s); no `swarm_funding_action` | Loop notes: first leftover pass used stale sibling wasm (mtime) and `run_step` hid `set -e` failures inside `if`. Fixed fail-closed `run_step`, real `make deploy-local`, `#594` docs string keep `Community tax catalog (GitLab #594)`, and `verify-issue-610` `npm ci` when worktree has no `vitest`. ## Checklist (issue body + comments) - [x] Fresh volume: `make reset && make start && make deploy-local` writes local `VITE_COMMUNITY_TAX_*` / SmokeUST1 / indexer `COMMUNITY_TAX_*`; LCD factory pair + AutoLP `pair` match env; reserves ≥ 10M raw / side; stamp `git_sha` == deploy `HEAD`. - [x] Indexer: `GET /api/v1/community-tokens` `configured: true` + QA token `attested_cmm`. Local code id **9**, not **11619**. - [x] `GET /api/v1/tokens/{tax}` embeds `community_tax`; `route/solve` sees `buy_tax_bps` / `sell_tax_bps` (**R615**). - [x] `e2e-provision-dev-wallet.sh` Transfer from `test1` (fail-closed). Wrap skip. TCL8Y still Mints. - [x] Swarm funding path never Mints the tax token (`fundingExecuteMsg` + dry-run classify log). `--dry-run` documented as **not** a `fundBotWallets` proof. - [x] Re-run without `--fresh`: `deploy_up_to_date` stamp skip (no second tax pair). Phase 4d still stores + paid-creates if the whole deploy script runs. - [x] `make verify-issue-601` · `592` · `610` · `594` green on this tip. - [x] Did **not** `AddWhitelistedCodeId` 11611 / 11619 / launcher / AutoLP / ALPHA **8654**. - [x] Did **not** enable `MintControl` or Mint-fallback on the QA token. - [x] Did **not** implement pair/router FoT math (**H-01**). - [x] Did **not** treat !1133 / !1134 / !1135 leftovers as this ticket (those stay [#625](https://gitlab.com/PlasticDigits/cl8y-dex-terraclassic/-/issues/625)). ```bash make verify-issue-624 # leftover #1 only: VERIFY624_FRESH=1 make verify-issue-624 ```
PlasticDigits (Migrated from gitlab.com) closed this issue 2026-08-24 07:38:08 +00:00
PlasticDigits commented 2026-08-24 11:40:46 +00:00 (Migrated from gitlab.com)

mentioned in commit eb852f4dc2

mentioned in commit eb852f4dc28f19befd74ceb95a9c78e3d11fb208
PlasticDigits commented 2026-08-24 13:33:17 +00:00 (Migrated from gitlab.com)

mentioned in issue #626

mentioned in issue #626
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#624
No description provided.