历史 · oceanway-admin 实施计划
重构前档案,仅供追溯,不作为新版本执行指令
历史档案 · 2026-09-11 重构前快照。 本文中的“当前”“已冻结”和实施顺序属于旧基线。新版本以现行总览和实施计划为准。
B1 跨仓工作包、固定版本门、阻塞规则与证据汇总见 B1 交付控制页。
仓库:Oceanway-AI/oceanway-admin。目标 Surface:admin.oceanway.tech。迁移参考:oceanway-vozeb 现有 /admin。
现有实现与本轮起点
Workforce 身份壳、固定 Contracts 0.3.0 的包资格和 Operations Query BFF 准备已合入主线。Run Explorer 展示形成独立验收候选。生产启动仍未注入 QueryPorts,真实查询返回明确不可用;本地正向展示测试不能证明已接通 Core Query、身份签发、撤销或 Audit。正式接线的状态与展示完成度分别记录。
本轮需求、设计与原型按本地协调组织,固定输入、候选和验收缺口在本地工作包登记。B1 既有跨仓证据仍见 B1 控制页,不要求先完成整个 B1 运行链才能评审 Admin 页面。
目标结果与当前基线
Admin 是 OceanWay 内部 Workforce 控制面,不是企业客户后台。目标信息架构、Run Explorer、Error Center、Incident/Reconciliation 与命令边界已经文档化;BFF 和展示接缝已有实现,正式 Operations 服务尚未接通。
首期只交付只读诊断。Admin 不拥有 Operations Read Model,不直连 Core/Gateway 数据库,也不通过页面改表。
历史 GitHub Milestone B1 · Read-only Run Explorer保留参考。本页维护稳定边界和阶段输出,当前任务优先本地协调;不存在多团队审批的隐含前提。高风险身份、授权或生产命令仍须按实际风险完成相应验证,不能因负责人相同省略安全语义。
身份与边界
- 使用独立 Workforce Principal、Host-only Session、MFA/条件访问与职责权限;
- 企业客户管理员继续使用 Console Customer Session,不能进入本 Surface;
- Admin BFF 以自身 Workload JWT 和 Core 签发的定向 Workforce Grant 查询;
- 所有特权、跨租户与敏感查询在返回数据前写入不可变 Audit;
- 浏览器不能取得 Actor Assertion、Workload Credential 或 Workforce Grant。
仓库里程碑
- ADMIN-1 独立外壳:迁出可复用
/adminUI,建立 Workforce 登录、权限导航和 Host 隔离。 - ADMIN-2 Run Explorer:精确 ID 搜索、Operation Timeline、Evidence Kind、Freshness、完整性和限制状态。
- ADMIN-3 Error Center:Error Occurrence、Fingerprint、Deployment/Route 关联与 Telemetry Reference。
- ADMIN-4 Incident/Reconciliation:Incident 协作、两类正式 Billing Case 和 Owner-local Blocked Work 只读队列。
- ADMIN-5 受控命令:只在来源 Owner Contract、JIT Grant、双人审批、稳定 Operation 与结果恢复完成后逐项开放。
- ADMIN-6 运维收口:旧
/adminRedirect/下线、Runbook、告警和审计导出。
真实运行门禁
- ADMIN-2 的真实查询等待 B1 Operations Projection 与 Private Query;信息架构、界面与状态原型可先推进。
- ADMIN-3 只展示已接受 Observation/Telemetry Reference,不从日志猜业务事实。
- ADMIN-4 的正式 Reconciliation Case 只允许两个 Billing Source Scope;其他队列必须有独立事件与终态 Authority 后再升级。
- ADMIN-5 不能以 Super Admin 或数据库权限绕过领域 Service。
验收与切换
- 按 Request/Operation/Correlation/Run/Reservation/Event/Observation/Error ID 精确查询,无宽泛跨租户枚举。
verified/unverified、Projection Gap、Legacy、Unknown 和 Not Supported 保持正交,缺失证据不显示为成功。- 页面、BFF、Core Query 与 Audit 的 Actor/Workload/Grant 一致;Audit 失败时查询或命令 fail closed。
- 旧后台功能逐页盘点为“迁移、保留于 Console、重写为受控命令或删除”,不整包搬迁。
详细产品契约见管理员平台、Run Explorer和运维事件与读模型。
本轮需求、设计与原型
遵循统一实施流程。首轮围绕“收到一个请求/运行编号后,明确发生了什么、证据是否完整、下一步由哪项职责处理”补齐只读主链,不先制作全部后台模块。当前项目负责人承担运维、诊断与产品确认职责;未来产品职责权限仍需明确区分。
| 使用者与任务 | 首期目标 | 需确认的需求 |
|---|---|---|
| 运维/支持 | 用精确编号定位用户反馈,看到允许公开给内部人员的证据 | 首期可查 ID、允许的来源范围、字段脱敏、需显示的缺口 |
| 工程排障 | 分清准入、执行、计费预留、结果登记与观察记录 | 默认时间线分组、查不到与未知的文案、可安全交接的信息 |
| 运营/财务诊断 | 查看相关消费和对账状态但不直接改账 | 哪些 Billing Case 纳入首期,只读摘要与正式处置入口的边界 |
待确认的商业/运营看板、Error Center、Incident、对账队列和受控命令只进入后续信息架构。旧后台逐页盘点去向;不能因为内部人员要方便操作,就把所有旧表单搬进 Workforce Shell。
首期原型旅程:Workforce 登录/职责检查 → 输入精确 ID 与必要命名空间 → 搜索结果 → 已授权摘要/详情 → 按接受时间查看证据 → 识别缺口/未知 → 保留安全查询编号进行交接。第二条旅程专门走拒绝、Session 过期、服务不可用和“不足以得出结论”,不能都收束为“未找到”。
信息架构与关键状态
| 页面/区域 | 设计交付 | 必须覆盖的状态 |
|---|---|---|
| 登录与独立 Shell | 复用现有 Host-only 登录、职责导航、退出和主题 | 未配置 IdP、登录挑战、拒绝、过期、退出后返回 |
| Run Explorer 搜索 | 精确 ID/命名空间、清晰输入说明与结果跳转 | 输入非法、匹配、不匹配、不足以判断、歧义、服务不可用 |
| Summary/Timeline/Detail | Operation、Admission/Reservation、Evidence Kind、来源和 Freshness | Legacy、Observation-only、Gap、Unknown、Not Supported、脱敏、截断 |
| 时间线条目 | 注册状态的真实语义、允许字段、详情层级 | 已接收/已拒绝/准入接受不等于执行成功;顺序/冲突不能隐藏 |
| 后续错误与处置 | 页面去向和依赖清单 | 无正式接口时明确未开放,不出现假 Retry/Replay/Force Success |
沿用现有 Workforce 界面和统一基础,优先清晰表格、稳定文字、紧凑详情和安全错误。原型至少覆盖桌面与 390/430px、浅深主题、键盘,以及退出、返回、迟到响应和敏感内容清空;不把跨租户 ID 或查询详情放入可传播 URL/浏览器持久化。
API 能力与真实 Owner
| 能力 | Owner 与现状 | 文档/开发重点 |
|---|---|---|
| Workforce 登录、Session 与职责 | 独立 Identity/IdP;Admin 已有 Session 壳 | 身份来源、Host、Audience、MFA/条件访问、过期/撤销;客户身份不能替代 |
| 精确搜索、Explorer、Projection Status | Core Operations 为事实 Owner;Admin 有严格 BFF 接缝 | 固定 Contracts 0.3.0,生产 QueryPorts 尚未实现,不直连数据库 |
| Actor Assertion/Query Grant/Workload 绑定 | Identity/Workload 与 Core | 签发、验证、撤销、取消、定向 scope 与原 Grant 下游标续传,不能在 BFF 自制协议 |
| 证据与不可变 Audit | 各领域 Owner 提供证据,Core 校验/聚合,Audit 负责审计事实 | 模式校验不等于私有证据完整性,Audit 失败必须拒绝返回 |
| 受控运维命令 | 对应领域 Owner,经批准的命令入口 | 当前仅列能力需求;不靠 Super Admin 或直接改表实现 |
从设计阶段同步起草 BFF 与内部 Owner API 文档,分清浏览器安全接口和服务身份材料。明确准确查询输入、响应 union、匹配/未知/缺失/截断、错误与 no-store、权限字段、超时取消及请求追踪;保留正式响应语义,不把不同错误改成同一空结果。记录哪些端点已有接缝、哪些未接真实服务,未来 Grant/Cursor 等绑定只有固定后才发布为正式文档。
阶段输出与依赖
- 需求:确认首期诊断对象、字段、职责和旧后台去向,整理状态字典与误判清单,不等待生产 Query 服务。
- 设计与原型:复用现有 Run Explorer 候选,补真实不足状态和窄屏/键盘,演示数据单独标识;输出读 API/字段/Owner 草案和用户可理解的证据文案。
- 只读接通:在 Core Private Query、Identity/Workload、撤销、Audit 与游标生命周期明确后,注入真实适配并同步 API 文档,保持不可用时拒绝返回。
- 联调验收:逐项验证跨范围拒绝、错误绑定、撤销/重放、审计失败、超时与敏感信息清理;真实服务证据通过后才完成 ADMIN-2。受控命令另起需求和风险验证,不附带放行。