你是一名资深前端原型工程师。你的任务是：为“原型工程（/specs/prototypes/）”补齐移动端协议阅读页面与确认能力，并确保支付/签名等关键动作能复用该确认结果。

路由（必须）：
1. 移动端路由前缀必须为 `/m/*`。
2. 本页面路由为 `/m/agreement`（必须稳定可访问）。

页面结构（必须）：
1. 顶部栏：返回 + 标题“协议与授权”。
2. 协议信息：
   - 协议名称、版本号、生效日期（日期需本地化）
   - 关键条款摘要（3~6 条，便于快速理解）
3. 协议正文：
   - 必须优先使用业务方提供的协议原文（可脱敏）；若暂未提供，需在页面明显位置提示“缺少协议原文，需补充后替换”
   - 可滚动阅读的正文区域（允许用 mock 占位，但必须可替换为原文）
   - 支持“搜索关键字”（最小可用即可）
4. 阅读与确认（必须）：
   - “我已阅读并同意”Checkbox
   - 只有当用户滚动到接近底部后才允许勾选或允许点击确认（两种方式择一，但必须可演示）
   - “确认”按钮：确认后写入 mock（例如 `mock.userAgreements[agreementId] = { agreedAt, version }`），并反馈提示

交互与状态（必须可演示）：
1. 未确认时，支付/签名等关键页面必须阻断并引导到本页（至少覆盖 2 个入口：`/m/payment` 与 `/m/signature`）。
2. 已确认后，再次进入本页展示“已同意”状态与同意时间。

数据要求（必须）：
1. 协议列表可只做 1 份协议（但结构需支持多份扩展）。
2. 同意记录必须与当前 session 用户绑定（从 session mock 获取 userId）。

与 Landing 串联（必须）：
1. 移动端 Landing 的金刚区必须提供“协议”入口，跳转到 `/m/agreement`。
