> 公开阅读副本。JARVIS_ROOT 表示你本机的 Jarvis2 项目目录；本地证据链接仅作定位，不公开上传验收日志。权威内容仍以项目内交接为准。

# U3 首包：单卡原生接线准备与准入

日期：2026-10-25。用途：交给 Claude Code 的下一包任务，不是完成记录。用户报告 U2 已完成；现有 U2 交付（项目内：`../维护记录/U2第一包-录入确认交付.md`）明确只完成手动草稿、补齐/确认交互和独立模拟回执，正常界面未接真实保存。不能将“U2 第一包交付”扩大为所有 U2 权限/外发组件或 U3 已验收。

## 1. 先看什么、保留什么

使用 `jarvis-development-engineering`，读取 前端规格（项目内：`JARVIS-FRONTEND-REFACTOR-SPEC.md`） §5、§10–12、U0 契约（项目内：`JARVIS-U0-NATIVE-HOST-AND-CARD-CONTRACT.md`） §3–4、§6 的依赖，以及 U2 交付 §2、§7、§9。只核对相关 Swift 源码和后端接口声明，不运行整个后端回归/压力测试。

正式宿主继续使用 `代码/原生界面/jarvis-island` 的 JarvisApp/JarvisPresentation/JarvisUI。保留用户已认可的岛与详情动画，不换壳、不重做视觉语言，不改 MotionLab；正常功能不加载本地模型。真实中文输入法、真实 ⌘Q 和 VoiceOver 等 U2 未验证项保留独立账本，不写成全通过。

## 2. 第一件事：核对真实依赖，不能猜 API

先给出一张现状表：J1 协议冻结、B1–B6/B10、前端 F1–F4 的当前文件/接口/测试证据及缺口。U2 的 `ConfirmActionPort/ConfirmRequest/ConfirmReceipt` 是界面边界；U0 的 `ui-action v0.1` 仍是草案，四个操作是 hello/projection_status/answer/query。U2 §7 的 confirm/edit/not_exist/cancel 等是需求建议，**不是已经实现的服务端协议**。

本包范围：客户端隔离接线准备、真实只读投影适配、请求恢复元数据和兼容测试；若真实后端服务/冻结协议未就绪，写入口保持禁用，列出精确的后端桥依赖。不能自己创建后端服务、临时 HTTP 写接口、CLI 每点击拉进程、Swift 直写 SQLite，或把模拟端口换个名字称为真实保存。

## 3. 可以继续建设的客户端部分

1. 将现有 DemoSource 与实际投影读取实现隔离，通过显式启动模式/数据目录选择来源。默认不切到用户真实目录；隔离模式始终有可见标记。复用原有投影完整性与 stream/revision 校验，不把旧生产 StateStore 的真实目录初始化副作用带入 Demo。
2. 建立唯一的投影→界面适配层，沿用 kind+ID+version 的稳定引用。只使用实际存在字段；未知/不支持字段明确缺失。陈旧、损坏、失效或读取失败时保留最后有效内容并暂停写动作，不能用 Demo 数据静默兜底。
3. 整理 ConfirmActionPort 与最终批准协议的映射及 capabilities。先以已核验的 v1 兼容路径为边界，不自行冻结/扩展共享协议。后端没有能力就显示不可用原因；UI 的“accepted”不映射成“已保存”。
4. 为未来真实发送准备本地请求日志与恢复机制：先持久记 client_request_id/绑定/版本/hash/stream/revision/状态，再发送；日志不含作业原文、密钥或模型上下文。超时、断线和重启只查询同一个请求，不新建请求重发。日志放显式隔离目录，有界、原子更新并测试损坏处理。它不是第二套学习事实库，U2 草稿仍不承诺跨重启。
5. 只在最终协议与真实服务明确就绪后，映射实际域回执、日历独立状态、最低投影 revision 和错误码；未就绪时可以做**明确模拟的协议兼容测试**，不能显示“真实链路已接通”。取消/日历重试不在 v1 的就继续禁用，不推断能力。

## 4. 单卡与后端分工

第一张卡沿用 U0 已选定的 **本机会话、字段完整、单条 homework 兼容候选**。只读 IM 卡，不能替换身份回答。Major/Minor、提交要求、手动草稿生成核心候选、修改/不存在等依赖 B7/B8 的目标功能，未就绪时保留草稿/设计态；不能把 UI 字段塞进旧 payload 后假称核心支持。

Codex 同时推进的 S2.3 只负责会话/上下文，不负责动作桥。Claude 不修改 Python、领域表/迁移、共享协议或提醒规则。将缺口交付为 `U3-后端动作桥需求.md`：逐项写现有接口、缺什么、建议所属包和验收样例，不要求正在做 S2.3 的 Codex 顺手实现。

如果依赖全就绪，也先完成并提交本包准入表；真正打开原生写入口、启动隔离动作服务和端到端保存另经用户批准，不能仅凭旧文档中的建议自动解除禁用。

## 5. 验证、体验与停止点

客户端专项覆盖投影切换/坏文件/旧 revision、未知能力、稳定对象、请求日志崩溃与重启、相同 ID 不同内容、未知结果只查原请求、迟到/重复回执及页面导航不换对象。复跑受影响 U1/U2 测试；区分纯状态机、后台合成事件、前台检查与真人体验。运行前台抢焦点/合成键盘测试先约定时段，不停止他人的后端进程。

最多五步验收：

1. 指定隔离投影目录启动，查看真正读到的合成候选，岛与主窗口定位同一对象。
2. 更新投影版本；正在编辑的旧卡不能被静默替换或确认。
3. 损坏/暂停投影，界面显示陈旧及原因，写入口禁用，草稿仍可编辑。
4. 明确模拟请求回执丢失后重启；只查询原请求，已提交与结果未知、日历结果分别展示。
5. 服务/协议未就绪时正常界面仍不能保存；若需展示模拟路径，常驻“模拟回执·未保存真实数据”，不污染正常列表。

新增 `文档/维护记录/U3首包-客户端接线准备交付.md`、独立证据与依赖表，附改动、真实就绪程度、回退和待用户亲测项。没有真实原生→核心→投影→重启证据就只记“客户端准备/兼容测试”，不记 U3 真实闭环完成。交付后停止，不进入 U4，不接真实模型/学校/日历或默认 `~/.jarvis`。
