在现有实现基础上,完成 OKR 绩效系统的前后端重构收尾,使所有页面遵循 “Surgical Observatory / 手术观测台”设计规范,且页面所需的数据、权限、状态和 跳转均由可验证的接口支持。
这不是从零开始的视觉重写。当前工作区已有未提交改动,包含新的双层壳层、18 个
路由页面、公共组件、部分视觉改造,以及部分工作流 API。必须先审计并保留这些
改动,禁止使用 git reset、git checkout --、清空目录或以旧版原型覆盖现有文件。
按以下优先级处理冲突:
docs/CLAUDE_REFACTOR_EXECUTION_PLAN.md。docs/superpowers/specs/2026-07-06-surgical-observatory-fullstack-redesign.md。附件中的旧提示词仅作需求线索,不能直接执行,原因如下:
frontend/src/styles/ 已有 token 和覆盖文件,
不应盲目替换。aiInsights 不得用虚构文案实现。若需要洞察,只能由可解释的规则数据生成;
本次优先交付风险、待办和截止节点。frontend/dist/ 复制到
backend/src/main/resources/static/,单 JAR 部署。AppShell.vue、ModuleRail.vue、ContextNav.vue、
SystemStatusBar.vue。/legacy 兼容路由也仍存在。GET /api/workspace/overview、
GET /api/okr/workbench?periodId=、
GET /api/scores/review-queue?periodId=、GET /api/scores/history 已在工作区中出现,
但尚未完成接口契约测试和前端接线审计。npm test、verify:theme、verify:scoring,以及 Maven 测试。WorkflowActionDto.fromPeriod() 的“评审下属”目前指向 /scores/list,而真实路由为
/scores/review;所有待办 URL 都应由路由测试或集成冒烟测试覆盖。backdrop-filter、普通面板阴影和渐变,且 shell token 尺寸与设计规格
不一致;不要因为页面能编译就把它视为验收通过。/okr/workbench、/scores/history 当作它们的替代品而跳过契约测试。.vue 中
加裸色值。@element-plus/icons-vue 或本地 SVG;不得使用 emoji 或 Unicode 图形当图标。PageContextBar、AsyncState 和 workspace store;URL 的 periodId 是
周期选择的最终来源。待办链接必须携带业务对象和周期上下文。ApiResult<T>;权限必须按当前用户和上下级树校验;不得因聚合查询
泄露其他主管或下属的数据。schema.sql 同步;
不修改或丢弃已有业务数据。先写 controller/service/integration 测试,再实现。DTO 命名、Java 字段和 JSON 字段均须 在测试中固定。
| 能力 | 端点 / 变更 | 最小响应与规则 |
|---|---|---|
| 对齐矩阵 | GET /api/okr/period/{periodId}/alignment-graph |
节点(目标、负责人、进度、状态)、父子/承接边、孤立与风险标记;只返回调用者可见范围。现有 tree 可复用内部查询但不改旧契约。 |
| 执行矩阵 | GET /api/okr/period/{periodId}/execution-timeline |
KR、负责人、目标/当前值、状态、起止日期、最近更新、进度历史;不可伪造没有存储的里程碑。 |
| 风险列表 | GET /api/okr/period/{periodId}/risk-items |
由阻塞 KR、逾期、未对齐和进度落后等明确规则生成,并提供规则类型、严重度、对象、负责人、详情。工作台可复用同一服务。 |
| 评分统计 | GET /api/scores/statistics?periodId= |
仅 HR 管理员以上;等级分布、有效终评总人数、平均值、中位数。无数据时返回零值/空分布,而非异常。 |
| 个人趋势 | GET /api/scores/trend?limit= |
当前用户的已归档终评按周期排序;保留现有 /history 兼容。 |
| 通知分组 | GET /api/notifications/unread-by-type |
只统计当前用户未读通知,按真实通知 type 返回;总数与 /unread-count 一致。 |
| 工作台 | 扩展 WorkspaceOverviewDto |
增加 riskCount、overdueCount;若新增 insights,必须是规则驱动的 type/severity/title/description/relatedEntityId,且不把它称为 AI。 |
| 日志筛选 | 扩展 GET /api/system/logs |
保留现有 action、entityType,新增 ISO 日期 startDate、endDate;HR 权限不变;非法日期与开始晚于结束须返回可读 400。 |
若现有表没有可靠数据支撑某字段,返回 null 或不返回该项,并在实现说明中记录;不能编造。
docs/CLAUDE_REFACTOR_EXECUTION_PLAN.md 复选框和最终实施摘要。完成每一阶段后停在 commit 边界,向我提供:commit SHA、git diff <base>...HEAD、
通过/失败的测试输出以及待确认项。我将从接口契约、权限/数据隔离、迁移安全、
业务口径、视觉规范和回归风险六个维度独立评审。未获得评审结论前,不开始下一阶段。