Skip to content

[REQ-084] LegacyRouteAbiV1、typed surface seam 与冻结契约 #177

Description

@jinjunnn

Goal

实现 URL ABI、窄叶页面 surface override、legacy fallback 与冻结同步契约。

Parent requirement

jinjunnn/alpha-code#199

Scope

  • Deliver the jinjunnn/alpha-code boundary for Alpha REQ-084: LegacyRouteAbiV1、typed surface seam 与冻结契约.
  • Preserve the parent requirement contract; do not absorb adjacent repository work.

Out of scope

  • Work owned by sibling sub-issues or future REQs.

Acceptance criteria

  • URL golden fixture、default legacy parity 与同步 loud-fail 测试通过。
  • Relevant automated and packaged/runtime checks are attached before closure.

Dependencies

ADR-027/ADR-016/020 决策门。

Verification evidence

  • CI/test evidence.
  • Security/runtime/product acceptance evidence appropriate to this repository.

Activity

  1. added
    type:featureNew user or system capability
    prio:P1High-value near-term delivery
    area:contractsContracts, schemas, or compatibility
    area:productUser-facing product behavior
    area:integrationRepository, API, or external integration
    breaking-changeChanges a consumer-facing contract or migration path
    on Jul 11, 2026
  2. self-assigned this
    on Jul 12, 2026
  3. added a commit that references this issue on Jul 12, 2026
    9bdd6d4
  4. jinjunnn commented on Jul 12, 2026

    @jinjunnn
    OwnerAuthor

    验收证据(S40,PR #238 已合并)

    • ✅ URL golden fixtures:legacy-route-abi.test.ts 32 项(POSIX/Windows/Unicode/非法 base64/缺参/round-trip)全绿;sidebar/route.ts、composer-takeover、ext-trust-watcher、alpha-sidebar、tabs-preclean 不再自制 regex/codec
    • ✅ default legacy parity:不传 surfaces 严格走 upstream 默认;packages/app typecheck + 407 项上游单测零回归
    • ✅ 同步 loud-fail:sync-upstream restore 步改指 frontend-freeze-base-2 并校验 seam marker,缺失即 exit 1;scripts/verify-freeze-restore.sh 模拟还原 → OK(seam+全锚点存活,还原树与 HEAD 冻结集一致)
    • ✅ preload 只预载实际选中叶(seam 源码锚点契约测试进 ui-mac 权威门,6 项)
    • ✅ ADR-027 accepted + ADR-016/020/ARCHITECTURE/DECISIONS 同变更集修订;packaged/runtime 证据见 docs/audits/2026-07-12-req084-086-visual/
    • 📌 说明:wrapper remount 不变量(server keyed remount / draft retarget)由「只换叶、不动包装」的构造保证,未新增独立 characterization 测试;seam 契约以源码锚点测试钉死(app.tsx 无法在 bun test 直接 import,vite worker 依赖)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

area:contractsContracts, schemas, or compatibilityarea:integrationRepository, API, or external integrationarea:productUser-facing product behaviorbreaking-changeChanges a consumer-facing contract or migration pathprio:P1High-value near-term deliverytype:featureNew user or system capability

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions