Skip to content

M3-02: Implement Intent, Quote, selection and provenance controls #37

Closed

Description

@pillowtalk-Qy
Type: Frontend Feature
Priority: P0
Initial status: Blocked
Owner: Frontend
Depends on: M3-01, stable M2 API contract
Blocks: M3-06
Writable: intent-form, quote-comparison, run-controls, provenance-badge, tests

唯一目标

让用户以明确控件建立 Exact-input Swap,并看见每个 Quote 的成败、选择规则和来源。

控件

account; input asset; output asset/address; amountIn; maxSlippageBps;
allowed protocols; optional recipient; LIVE/FIXTURE mode;
run happy; run amount mismatch; explicit load fixture

验收

[ ] 非 chat-only 输入
[ ] field-specific validation
[ ] token address/source 可见;symbol 仅展示
[ ] contract amount 不经 float
[ ] 每个协议成功/失败独立显示
[ ] selection rule 可见,不称 best trade
[ ] provenance 在运行前后可见
[ ] Fixture 只能显式选择
[ ] client 不能提交任意 scenario mutation

测试

valid; invalid address; zero/excess decimal; slippage bounds;
one/all quote failed; allowlist; explicit fixture selection

验证

pnpm vitest run apps/web/test/intent-form.test.tsx
pnpm vitest run apps/web/test/quote-comparison.test.tsx
pnpm --filter @moss-mini-demo/web build
pnpm check

Codex 指令

实现结构化 Intent/Quote/provenance 控件,只消费 API display model。
金额展示不得改变 contract integer,Fixture 必须用户主动选择,文案避免 best/safe。

Activity

  1. self-assigned this
    on Aug 8, 2026
  2. pillowtalk-Qy commented on Aug 8, 2026

    @pillowtalk-Qy
    ContributorAuthor

    IMPLEMENTATION_SCOPE

    Starting from main@0cc50e5df15c3a62232338858e7de376ebca0f5d. Scope is limited to workbench/CSS integration, intent-form, quote-comparison, run-controls, provenance-badge, and their two requested test files. No API contract, dependency, lockfile, or later-M3 UI changes.

  3. pillowtalk-Qy commented on Aug 8, 2026

    @pillowtalk-Qy
    ContributorAuthor

    POST_MERGE_AUDIT_PASS

    Merged as dd0fdb61ca8790b80e630f82c4bd72c75737720b; exact merged-main quality-gate run 31251856259 passed. Main and worktree/branch cleanup are clean.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions