diff --git a/project-management/PJ2026-01/specs/PJ2026-010404-project-management.md b/project-management/PJ2026-01/specs/PJ2026-010404-project-management.md index acab495f..fd20132e 100644 --- a/project-management/PJ2026-01/specs/PJ2026-010404-project-management.md +++ b/project-management/PJ2026-01/specs/PJ2026-010404-project-management.md @@ -50,7 +50,7 @@ - `projectId`、`sourceId`、`taskRef`、`linkId`、`sessionId` 和 `traceId` 的稳定关联模型。 - Workbench launch intent,即项目管理页面通过公共 Workbench Launch API 创建或选择 session,并记录项目任务与 Workbench session 的关联。 - 项目管理页面的 web-probe observe/analyze 采样、分析、DOM 脱敏、自然同源 API 分组、Workbench launch 控制动作和 YAML-first 阈值。 -- D601/v03 YAML-first 独立微服务部署所需的 serviceId、namespace、Secret sourceRef、DB migration、OTel `service.name`、public route/proxy 和 health/readiness 声明。 +- D601/v03 YAML-first 独立微服务部署所需的 serviceId、namespace、Secret sourceRef、DB migration、HWPOD node-ops adapter endpoint、OTel `service.name`、public route/proxy 和 health/readiness 声明。 ### 2.3 范围外 @@ -311,6 +311,8 @@ MDTODO 页面可以提供任务状态和内容写入入口,但写入必须进 Cloud API 只保留同源 route/proxy/auth bridge:负责 AuthPrincipal、route policy、错误 envelope、trace context 和转发,不拥有项目/任务持久化、Markdown 解析、外部 PM sync、Workbench link 表或 adapter 状态。即使 P0 只有只读 MDTODO 和 launch Workbench,也不得把实现先落到 `hwlab-cloud-api` 内部模块后再迁移。 +`hwlab-project-management` 作为独立微服务时必须显式声明 HWPOD node-ops adapter endpoint,使 `sourceKind=hwpod-workspace` 的 probe、reindex、read 和 write 能通过受控 HWPOD 服务路由执行。该 endpoint 应由 node/lane YAML 注入为 `HWLAB_PROJECT_MANAGEMENT_HWPOD_NODE_OPS_URL` 或等价受控配置,目标是 Cloud API 正式 `/v1/hwpod-node-ops` route/auth bridge 或同等 HWPOD 服务入口;不得隐式依赖 Cloud API 同进程 handler、Kubernetes service 直连、D601 SSH 或手工脚本来补齐 HWPOD workspace 读写能力。 + 新增或重构的项目管理源码文件头部必须标注 `SPEC: PJ2026-010404 项目管理 draft-2026-06-25-p0-mdtodo-web-active-editing-hwpod-source`,并简述文件职责;若文件只实现旧只读投影,也应同时引用 `draft-2026-06-25-p0-project-management-mdtodo`。 ### 6.4 CLIENT-PM-REQ-004 MDTODO adapter 与存储策略 @@ -377,6 +379,8 @@ web-probe 必须提供 `observe collect --view project-mdtodo-summary` 或等价 `hwlab-project-management` 的运行面配置必须走 YAML-first。D601/v03 部署应在 node/lane YAML 中声明 serviceId、namespace、image/source truth、Service/Deployment、DB migration/read model、Secret sourceRef、targetKey、OTel `service.name`、health/readiness、NetworkPolicy、Cloud API route/proxy 和 public exposure 关联。 +HWPOD-bound MDTODO source 依赖的 node-ops adapter URL 必须同样来自 YAML-first 运行配置,并进入 `hwlab-project-management` Deployment env。D601/v03 的目标值应指向同 namespace 内 Cloud API `/v1/hwpod-node-ops` 正式入口,避免项目管理微服务因缺少 adapter env 只能创建 Source 配置却无法 probe/reindex 或写回 HWPOD workspace。该配置属于服务依赖声明,不属于 Secret;输出和 issue 证据只披露 env 名、目标 service/path 摘要和是否存在。 + 项目管理 web-probe target、readiness selector、自然请求 path group、DOM redaction allowlist、project command allowlist、loading/API 阈值和 slow path budget 也必须由受控 YAML 配置进入运行面,不得写在 probe 脚本、Cloud Web、项目管理服务或一次性 shell 中作为隐藏默认。 D601/v03 的 HWPOD-bound MDTODO 验收应允许把 Source 配置到 `hwpodId=d601-f103-v2`、`nodeId=node-d601-f103-v2`、`mdtodoRootRef=docs/MDTODO/`。示例文件 `docs/MDTODO/hwlab-v03-mdtodo-web-sample.md` 应覆盖 `R1`、`R1.1`、`R1.1.1`、`R2`、`[in_progress]`、`[completed]` 和普通 text block,用于原入口 observe command 验收。