商家身份与店铺选择
预约平台 · 商家 · /merchant/sign-in
REGISTRY POLICY
设计契约检查全部通过,不等于产品证据通过
stable-idf4-targetnine-stateinteractioncontractsguardsevidence-planNINE-STATE FIXTURE MAP
九个状态都有产品语义,但 fixture 文件尚待实现
状态名称来自该 Screen Contract;K16 canonical key 用于跨仓聚合。产品仓必须提交确定性数据,而不是让 CI 依赖线上随机状态。
READY登录入口就绪
FIXTURE MISSINGLOADING身份与项目加载
FIXTURE MISSINGEMPTY没有可管理项目
FIXTURE MISSINGPARTIAL_ERROR项目列表部分失败
FIXTURE MISSINGERRORAuth 服务失败
FIXTURE MISSINGOFFLINE_STALE离线禁止登录
FIXTURE MISSINGFORBIDDEN项目权限不足
FIXTURE MISSINGDESTRUCTIVE_CONFIRM切换店铺确认
FIXTURE MISSINGSUCCESS_RECEIPT商家会话已建立
FIXTURE MISSINGG1–G8 EVIDENCE
缺一项就保持阻断
路径是跨仓约定,不表示文件已经存在。上传凭证、token、PII、signed URL 与原始敏感 payload 永远不能成为证据内容。
Task packet
scope、owner paths、依赖、non-goals 与 rollback
ui-ci/target-booking-merchant-login/task-packet.yamlScreen contract
稳定 Screen ID、route、regions、actions、states、contracts 与 risks
/api/ui-ci/target-booking-merchant-loginStatic report
format、lint、typecheck、schema 与 secret scan
ui-ci/target-booking-merchant-login/static/report.jsonState fixture pack
九态确定性 fixture、long/large/locale 与错误注入
ui-ci/target-booking-merchant-login/fixtures/manifest.jsonConsumer contract
producer schema、consumer fixtures、compatibility 与 migration window
ui-ci/target-booking-merchant-login/contracts/results.jsonExperience bundle
visual、a11y、interaction、responsive 与 native device matrix
ui-ci/target-booking-merchant-login/experience/manifest.jsonSecurity negative
authz、resource binding、abuse、privacy、redaction 与 artifact integrity
ui-ci/target-booking-merchant-login/security/results.jsonRelease manifest
exact commit、artifact digest、SBOM、config、migration 与 rollback drill
ui-ci/target-booking-merchant-login/release/manifest.jsonProduction proof
external synthetic、telemetry、error budget、owner ack 与 incident link
ui-ci/target-booking-merchant-login/production/evidence.jsonCONTRACTS & ACTIONS
实现输入
- AuthRequest
- OtpChallenge
- MerchantSession
- ManagedProjectList
- ProjectAuthorization
- ReturnContext
- AuditEvent
- 继续统一登录
- 验证 OTP
- 选择店铺
- 切换账号
- 返回店铺
- 进入工作台