docs(skills): document /trade trade-market-route-summary in AGENTS_FRONTEND_SWAP_ROUTE_DISPLAY (#302) #321
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#321
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?
Current codebase
Product behavior (shipped): GitLab #302 / MR !758 added an execution-aligned Route row to the
/trademarket order quote card, mirroring/swap(computeSwapRouteDisplay).data-testid/swaptrade summaryswap-route-summaryfrontend-dapp/src/pages/SwapPage.tsx/trademarket quotetrade-market-route-summaryfrontend-dapp/src/components/trade/TradeMarketOrderPanel.tsxTradeMarketOrderPanelpassessimQuery.data?.indexerOperationsintocomputeSwapRouteDisplaywithclientRoute: nullandisDirect: true(direct pair context; indexer ops win when present).Agent / docs gap:
skills/AGENTS_FRONTEND_SWAP_ROUTE_DISPLAY.mdwas written for GitLab #158 (swap-only). It lists onlySwapPage.tsx/swap-route-summaryin the code map and regression checklist. It does not mention:/trademarket panel ortrade-market-route-summarypostRouteSolve/indexerOperationsvs pool-only quote)docs/frontend.mdtrade market sectiondocs/frontend.mddocuments route preview under Swap integration (#158) but not the trade market quote card (#302).Why this is needed
/tradewhen following the swap-only skill.computeSwapRouteDisplay) serves two surfaces — documentation should match.Constraints and guardrails
SwapPageswap mutation vsTradeMarketOrderPanelmarket mutation /swapOpsRequireRouter).Route (indexer)labels on either surface.marketRouteLineis non-null (insidetrade-market-quote); pool-only quotes may show directfrom → toviaisDirectbranch without multihop ops.docs/swap-max-spread-ux.mdanddocs/indexer-invariants.mdrather than duplicating L8/hybrid prose.Relevant files
skills/AGENTS_FRONTEND_SWAP_ROUTE_DISPLAY.mdfrontend-dapp/src/components/trade/TradeMarketOrderPanel.tsxindexerOperationswiring (#302)frontend-dapp/src/pages/SwapPage.tsxfrontend-dapp/src/utils/swapRouteDisplay.tsfrontend-dapp/src/utils/swapRouteDisplay.test.tsdocs/frontend.mdtrade-market-route-summarydocs/swap-max-spread-ux.mdAGENTS.mdRecommended solution direction
TradeMarketOrderPanel.tsx—data-testid="trade-market-route-summary"swapMutation/indexerOperations/executeMultiHopSwap/trademarket quote shows the same single Route row when indexer-shaped ops are present./trade/:pairAddr→ Market tab → hybrid on → amount → confirmtrade-market-route-summaryvisible.GET /route/solve) with hybrid enabled; route shows ≥3 symbols.docs/frontend.mdtrade section (add anchor if missing).Acceptance criteria
skills/AGENTS_FRONTEND_SWAP_ROUTE_DISPLAY.mddocuments bothswap-route-summaryandtrade-market-route-summarywith file paths and #302 reference.computeSwapRouteDisplayand indexer op precedence (#158)./trademarket step.docs/frontend.md(ordocs/swap-max-spread-ux.md) links to the skill for trade market route (minimal paragraph).Test plan (functional paths)
TradeMarketOrderPanel+SwapPagebehavior/trade/<EMBER/COBALT pair>, Market, hybrid on, amount1trade-market-route-summaryvisible withRoutelabelA → Bor hidden permarketRouteLinenull rules — document actual behaviornpm run test:run -- swapRouteDisplay.test.tsTest plan (attack / abuse / misleading UX)
/trademarketRouteLinetruthyAGENTS_FRONTEND_MARKET_DATA_OUTAGE.md/ quote disclosure behavior (no new scope)Verification criteria
/traderoute testid and panel file from skill alone (no grep required).make lint/ no frontend code change, or trivial link fixes only.docs/frontend.mdand skill do not contradictTradeMarketOrderPanel.tsx.Related
marked as related to #302
marked as related to #158
mentioned in commit
5d3917c4dcmentioned in merge request !788
Implementation complete — MR !788
Docs-only update for https://gitlab.com/PlasticDigits/cl8y-dex-terraclassic/-/work_items/321
MR: https://gitlab.com/PlasticDigits/cl8y-dex-terraclassic/-/merge_requests/70
Changes
skills/AGENTS_FRONTEND_SWAP_ROUTE_DISPLAY.md— renamed scope to “Swap & trade market”; addedtrade-market-route-summarycode map, when-route-appears table,/traderegression steps (5–8), cross-links to #302 /docs/frontend.md#trade-page-market-context.docs/frontend.md— market route preview row in#trade-page-market-context.docs/swap-max-spread-ux.md— invariant #6 mentions Trade market (#302).AGENTS.md— one-line skill pointer.Acceptance criteria
computeSwapRouteDisplay+ indexer precedence/trademarket stepdocs/frontend.mdlinks skill for trade market route#trade-page-market-contexttable rowTests
npm run test:run -- swapRouteDisplay.test.tspython3 scripts/check_fee_discount_tier_docs.pyIssue left open pending MR merge.
mentioned in commit
637f4e7712Verification complete — GitLab #321
Issue: https://gitlab.com/PlasticDigits/cl8y-dex-terraclassic/-/work_items/321
Implementation landed in MR !788 (merged). This verification run confirms acceptance criteria on
mainwithout additional repo changes.Acceptance criteria
swap-route-summaryandtrade-market-route-summarywith paths + #302skills/AGENTS_FRONTEND_SWAP_ROUTE_DISPLAY.md— code map rows 24–28, product invariant § Trade market, cross-links to #302computeSwapRouteDisplay+ indexer op precedence (#158)TradeMarketOrderPanel.tsx(indexerOperations,clientRoute: null,isDirect: true)/trademarket stepdocs/frontend.mdlinks skill for trade market route#trade-page-market-contexttable row “Market quote — route preview (#302)”Verification criteria
/tradetestid + panel from skill aloneTradeMarketOrderPanel.tsx+trade-market-route-summarygit statusclean on verify branchdocs/frontend.md+ skill matchTradeMarketOrderPanel.tsxmarketRouteLinegated render attrade-market-route-summaryAutomated tests
cd frontend-dapp && npm run test:run -- swapRouteDisplay.test.tspython3 scripts/check_fee_discount_tier_docs.pyManual / functional QA (local stack)
LocalTerra + indexer + frontend started via
scripts/setup-cloud-agent-localterra.sh --start-frontend./trade/terra1a5wvh2f0…(EMBER/COBALT) → Market → hybrid on → amount1trade-market-route-summaryvisible with Route label (Playwright smoke, 2 workers)1→route when row presentPlaywright command (ephemeral spec, not committed):
Outcome
All acceptance and verification criteria PASS. Closing issue.