# PikaOA 企业办公平台

- 规格真相：`project-management/PJ2026-03/specs/PJ2026-03-pikaoa.md`。
- 主执行记录：[pikasTech/unidesk#1952](https://github.com/pikasTech/unidesk/issues/1952)。
- 产品仓库：`pikaInc/pikaoa`，固定主工作区为 `/root/pikaoa`。
- 目标运行面：owning YAML 选中的 NC01 Kubernetes 独立 namespace。
- 公网原入口：`https://oa.pikapython.com`。
- 数据真相：PK01 host PostgreSQL 中的独立数据库与角色。
- 执行证据：GitHub issue/PR、任务报告、PaC/PipelineRun/GitOps/Argo 和 Web 原入口验证。


## R1 [in_progress]

依据 PJ2026-03 建设企业级可扩展 PikaOA：在 /root/pikaoa 建立 pikaInc 仓库，采用 HWLAB v0.3 同族 Vue 技术栈和 Go 后端；CLI-first 完成员工/RBAC、甲方分类、合同多版本、发票关联与废弃、审计、OTel/Prometheus，再开发 Web；通过独立 K8s namespace、PK01 host PostgreSQL、YAML-first、PaC bootstrap、自动 CI/CD 和 https://oa.pikapython.com 原入口交付，完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R1_Task_Report.md)。

### R1.1 [completed]

调研成熟开源 OA、ERP、合同、发票、Go 微服务与 Vue 组件方案，形成采用/复用/不采用结论，依赖 R1 规格，执行记录见 [pikasTech/unidesk#1953](https://github.com/pikasTech/unidesk/issues/1953)，完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R1.1_Task_Report.md)。

### R1.2 [completed]

建立 pikainc/pikaoa 私有仓库、/root/pikaoa 固定 master 和独立任务 worktree；远端已由 SSH 验证并以 [1fc2353](https://github.com/pikainc/pikaoa/commit/1fc2353) 建立唯一初始提交，完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R1.2_Task_Report.md)。

### R1.3 [in_progress]

实现企业模块内核、Go API/Worker、PostgreSQL 迁移、员工/RBAC、伙伴分类、合同版本、发票废弃、审计、OTel/Prometheus 与 CLI，并通过 CLI 后端验收，依赖 R1.1-R1.2，完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R1.3_Task_Report.md)。

#### R1.3.1 [completed]

建立 Go API/Worker/CLI 企业模块共享内核、PostgreSQL 迁移与审计/outbox 端口、OTel/Prometheus 基线和 CLI health/modules 验收，执行记录见 [pikasTech/unidesk#1977](https://github.com/pikasTech/unidesk/issues/1977)，完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R1.3.1_Task_Report.md)。
#### R1.3.2 [completed]

采用 chi 建立可插拔模块 HTTP 运行时、disabled 模块关闭入口、示例模块扩展验收，并补齐 PostgreSQL OTel 与 HTTP/runtime/pool/migration Prometheus 基线，执行记录见 [pikasTech/unidesk#1983](https://github.com/pikasTech/unidesk/issues/1983)，完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R1.3.2_Task_Report.md)。
#### R1.3.3 [completed]

实现员工身份、Casbin RBAC、会话与 CLI login/logout/whoami/employees/roles，使用 YAML Secret 投影初始管理员和员工，执行记录见 [pikasTech/unidesk#1984](https://github.com/pikasTech/unidesk/issues/1984)，完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R1.3.3_Task_Report.md)。
#### R1.3.4 [completed]

实现 pgx 同事务审计、PostgreSQL outbox、Watermill handler pipeline、幂等 Worker 与 OTel/Prometheus，执行记录见 [pikasTech/unidesk#1985](https://github.com/pikasTech/unidesk/issues/1985)，完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R1.3.4_Task_Report.md)。
#### R1.3.5 [completed]

实现统一业务伙伴、甲方分类、角色、联系人、标签、归档、筛选和 CLI；持久化 REST 资源使用 UUIDv7，伙伴与分类只通过 typed ID 关联，并将业务、审计、outbox 保持同事务，执行记录见 [pikasTech/unidesk#1990](https://github.com/pikasTech/unidesk/issues/1990)，完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R1.3.5_Task_Report.md)。

#### R1.3.6 [completed]

实现统一附件元数据、对象引用、可替换存储端口、完整性校验、授权 API 和 CLI；附件使用 UUIDv7 平级资源身份，业务对象仅通过 typed ID 关联，执行记录见 [pikasTech/unidesk#1991](https://github.com/pikasTech/unidesk/issues/1991)，完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R1.3.6_Task_Report.md)。

#### R1.3.7 [completed]

实现合同与合同版本平级 UUIDv7 REST 资源，通过 contractId、previousVersionId、currentVersionId 建立 ID 关系，保证版本不可变、并发序号唯一、附件关联和全量 CLI，执行记录见 [pikasTech/unidesk#1992](https://github.com/pikasTech/unidesk/issues/1992)，完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R1.3.7_Task_Report.md)。
#### R1.3.8 [completed]

实现平级 UUIDv7 发票资源，通过 partnerId、contractId、contractVersionId 和 attachmentId 建立关联，支持定点金额、typed 一致性校验、不可删除废弃事实、筛选汇总和全量 CLI，执行记录见 [pikasTech/unidesk#1993](https://github.com/pikasTech/unidesk/issues/1993)，完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R1.3.8_Task_Report.md)。
#### R1.3.9 [in_progress]

复用 append-only 审计唯一真相实现 UUIDv7 平级审计资源、RBAC 查询 API、actor/resource/action/time/requestId/traceId 筛选和 audit list/get CLI，执行记录见 [pikasTech/unidesk#1994](https://github.com/pikasTech/unidesk/issues/1994)，完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R1.3.9_Task_Report.md)。
#### R1.3.10 [completed]

增加可由 YAML-first 专用测试集群临时 Job 调用的统一 PostgreSQL 后端验证入口，明确披露 DSN presence 和 integration passed/skipped，去掉迁移测试对最新编号的共享硬编码，执行记录见 [pikainc/pikaoa#10](https://github.com/pikainc/pikaoa/issues/10)，完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R1.3.10_Task_Report.md)。
#### R1.3.11 [in_progress]

修复 [pikainc/pikaoa#34](https://github.com/pikainc/pikaoa/issues/34)：让公网 Web gateway 将 CLI `health --ready` 使用的 `/readyz` 精确代理到既有 API readiness，保留 `/healthz` Web liveness 与 `/api/` 行为；禁止修改 `.tekton`、UniDesk/PaC/Tekton/Argo、PK01、数据库和运行面 patch，CI/CD 异常只报告不修复，完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R1.3.11_Task_Report.md)。
#### R1.3.12 [completed]

为业务 outbox 事件建立显式处理策略：当前无消费者的事件使用 `record-only` 有界终态，未来需要消费者的事件保持 handler-required 与 `handler_not_registered` 重试/失败语义；从模块声明装配 Worker，不伪造消费、不引入第二真相、不做数据迁移，父问题见 [pikainc/pikaoa#24](https://github.com/pikainc/pikaoa/issues/24)，实现任务见 [pikainc/pikaoa#38](https://github.com/pikainc/pikaoa/issues/38)，完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R1.3.12_Task_Report.md)。
### R1.4 [in_progress]

前端与后端并行实现 HWLAB v0.3 同族 Vue 企业工作台、响应式页面、平级 UUIDv7 资源与同路径业务流；最终在 CLI 后端验收通过后，通过同一公开 HTTP API 完成 Web 等价集成验收，执行记录见 [pikainc/pikaoa#11](https://github.com/pikainc/pikaoa/issues/11)，完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R1.4_Task_Report.md)。

### R1.5 [completed]

在 UniDesk 中声明 PK01 PostgreSQL、Secret、NC01 独立 namespace、Gitea/PaC、GitOps、OTel/Prometheus 和 PK01 公网暴露，并改进可复用 bootstrap 工具，依赖 R1.1-R1.2，完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R1.5_Task_Report.md)。

#### R1.5.1 [completed]

改进 PaC bootstrap 的新服务首发预检、分阶段紧凑输出、typed failure 与中文说明，保持 PR merge 唯一交付 authority，执行记录见 [pikasTech/unidesk#1955](https://github.com/pikasTech/unidesk/issues/1955)，完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R1.5.1_Task_Report.md)。
#### R1.5.2 [completed]

扩展 NC01 共享 observability，使 OTel/Tempo 与 Prometheus 由同一 YAML-first 控制面管理并提供跨 namespace 指标抓取和有界查询，执行记录见 [pikasTech/unidesk#1956](https://github.com/pikasTech/unidesk/issues/1956)，完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R1.5.2_Task_Report.md)。
#### R1.5.3 [completed]

修复 `platform-db postgres plan` 默认 30KB JSON 被输出预算截断的可见性缺陷，提供数据库、角色、Secret/export、检查与下一步的紧凑 CLI-first 投影，执行记录沿用 [主 issue](https://github.com/pikasTech/unidesk/issues/1952)，完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R1.5.3_Task_Report.md)。
#### R1.5.4 [completed]

修复 `platform-db postgres status` 与 `export-secrets --dry-run` 默认输出超预算截断，提供与 plan 同族的 Secret/export 有界投影并保持 valuesPrinted=false，执行记录见 [pikasTech/unidesk#1958](https://github.com/pikasTech/unidesk/issues/1958)，完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R1.5.4_Task_Report.md)。
#### R1.5.5 [completed]

为 pikainc/pikaoa 补齐 YAML-first GitHub token repository override，使受控 CLI 可管理产品 PR 且不打印凭据，执行记录见 [pikasTech/unidesk#1978](https://github.com/pikasTech/unidesk/issues/1978)，完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R1.5.5_Task_Report.md)。
#### R1.5.6 [completed]

修复 GitHub repository override 对 owner/repo 大小写敏感，确保 pikaInc/pikaoa 与 canonical 名称选择同一受控 token，执行记录见 [pikasTech/unidesk#1980](https://github.com/pikasTech/unidesk/issues/1980)，完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R1.5.6_Task_Report.md)。
#### R1.5.7 [completed]

增加 YAML-first PikaOA 专用测试集群临时 k8s 运行面和 pikaoa test-target plan/status/start/stop 受控入口，不经过 CI/CD、不触碰正式 namespace，未声明测试 target 时返回 configured=false，执行记录见 [pikasTech/unidesk#2046](https://github.com/pikasTech/unidesk/issues/2046)，完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R1.5.7_Task_Report.md)。
#### R1.5.8 [completed]

修复 `pikaoa test-target` 临时运行面缺失附件配置与数据库迁移启动链，使 fixture 能渲染当前产品可启动的 namespace-local 后端运行面，保持未声明 target 与 `validationOnly` 全程无远端变更，执行记录见 [pikasTech/unidesk#2053](https://github.com/pikasTech/unidesk/issues/2053)，完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R1.5.8_Task_Report.md)。
#### R1.5.9 [completed]

按用户确认方案在现有 NC01 k3s 的独立 pikaoa-test namespace 建立 YAML-first 测试运行面，使用 PK01 host PostgreSQL 独立测试 database/role 和 YAML hostIP 端口；先通过受控 CLI 单步调通，再接入跟随产品 master 的独立测试 CI/CD，执行记录见 [pikasTech/unidesk#2058](https://github.com/pikasTech/unidesk/issues/2058)，完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R1.5.9_Task_Report.md)。

##### R1.5.9.1 [completed]

将 `pikaoa test-target start` 的 PostgreSQL、迁移和 rollout 长等待改为提交即返回与 `status` 短轮询，保持真实失败可见和 Secret 脱敏，执行记录见 [pikasTech/unidesk#2060](https://github.com/pikasTech/unidesk/issues/2060)，完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R1.5.9.1_Task_Report.md)。
##### R1.5.9.2 [completed]

修复 PikaOA 临时测试 target 的数据库 schema/search_path，使迁移 Job、API 和 Worker 通过 YAML 声明的同一 schema 访问业务表，保持 DSN 与 Secret 脱敏，执行记录见 [pikasTech/unidesk#2061](https://github.com/pikasTech/unidesk/issues/2061)，完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R1.5.9.2_Task_Report.md)。
##### R1.5.9.3 [completed]

按用户确认方案将测试架构定锚为现有 NC01 k3s 的 pikaoa-test namespace、PK01 host PostgreSQL 独立测试库与角色、YAML hostIP 端口，并更新 SPEC 与 [pikasTech/unidesk#2058](https://github.com/pikasTech/unidesk/issues/2058)，完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R1.5.9.3_Task_Report.md)。
##### R1.5.9.4 [completed]

在 PK01 host PostgreSQL 声明独立 pikaoa_test database/role、Secret export 与 NC01 HBA，执行记录见 [pikasTech/unidesk#2078](https://github.com/pikasTech/unidesk/issues/2078)，完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R1.5.9.4_Task_Report.md)。
##### R1.5.9.5 [completed]

在 NC01 pikaoa-test namespace 实现外部 PK01 测试 DSN、API/Worker/Web/迁移/附件 PVC、OTel/Prometheus、YAML hostIP 端口和受控单步 CLI，执行记录见 [pikasTech/unidesk#2079](https://github.com/pikasTech/unidesk/issues/2079)，完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R1.5.9.5_Task_Report.md)。
##### R1.5.9.6 [completed]

为产品仓库补齐 API、Worker、Web 的 commit-pinned OCI 构建输入，使 NC01 测试运行面和后续 PaC 可构建镜像，执行记录见 [pikainc/pikaoa#14](https://github.com/pikainc/pikaoa/issues/14)，完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R1.5.9.6_Task_Report.md)。
##### R1.5.9.7 [completed]

降级事件版本一致性校验并解除 MVP 启动阻塞（pikainc/pikaoa#16），完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R1.5.9.7_Task_Report.md)。
##### R1.5.9.8 [completed]

修复 PikaOA 独立 schema 下 Goose 首次迁移 bootstrap，使版本表与业务表统一位于 pikaoa schema 并完成 NC01/PK01 真实 migration 验收（pikainc/pikaoa#18），完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R1.5.9.8_Task_Report.md)。
##### R1.5.9.9 [completed]

修复 PikaOA 测试 migration Job 进入 Failed/FailureTarget 后异步 runner 仍等待 Complete 至超时的问题，使失败立即以具名终态投影并支持快速单步调试（pikasTech/unidesk#2090），完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R1.5.9.9_Task_Report.md)。
##### R1.5.9.10 [completed]

修正 PikaOA 测试与生产 OTel gRPC endpoint 和 Prometheus selector label，并通过受控 observability apply 完成 NC01 trace/metrics 真实验收（pikasTech/unidesk#2092），完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R1.5.9.10_Task_Report.md)。
##### R1.5.9.11 [completed]

修复合同迁移中 PL/pgSQL trigger function 的 Goose StatementBegin/StatementEnd 边界并完成 00001-00007 真实迁移验收（pikainc/pikaoa#20），完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R1.5.9.11_Task_Report.md)。
##### R1.5.9.12 [completed]

修复 PikaOA HTTP hostIP 测试入口因 crypto.randomUUID 不可用导致 Web 登录失败的问题，并完成桌面与移动端真实入口验收（pikainc/pikaoa#22），完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R1.5.9.12_Task_Report.md)。
##### R1.5.9.13 [completed]

接入仅跟随产品 master 的 pikaoa-test-nc01 独立测试 CI/CD，通过正常 source PR merge 自动交付 NC01 pikaoa-test，保持生产 consumer 不触发（pikasTech/unidesk#2105），完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R1.5.9.13_Task_Report.md)。
###### R1.5.9.13.1 [completed]

修复 PikaOA 首次 PaC bootstrap 未同步 admission provenance desired policy/binding 的缺口，使配置指纹漂移降级为非阻塞 warning 且正常产品 PR merge 产生的 PipelineRun 能继续执行，执行记录见 [pikasTech/unidesk#2127](https://github.com/pikasTech/unidesk/issues/2127)，完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R1.5.9.13.1_Task_Report.md)。
##### R1.5.9.14 [in_progress]

将临时 `pikaoa-test` lane 迁移为跟随产品 `master` 的稳定 `pikaoa-dev` namespace、独立 NC01 host PostgreSQL/Secret/GitOps/Argo 和 `oa-dev.hwpod.com` 自动交付，旧测试数据直接丢弃并在新入口验收后退役旧对象，执行记录见 [pikasTech/unidesk#2274](https://github.com/pikasTech/unidesk/issues/2274)，完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R1.5.9.14_Task_Report.md)。
### R1.6 [completed]

审核并合并双仓 PR，执行首次受控 PaC bootstrap，由正常 source PR merge 自动发布，依赖 R1.3-R1.5，完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R1.6_Task_Report.md)。

#### R1.6.1 [in_progress]

建立仅跟随产品 release 的 PikaOA 生产 PaC/Tekton/GitOps/Argo lane，部署 NC01 pikaoa namespace，接入 PK01 host PostgreSQL、附件持久化、OTel/Prometheus、备份与 oa.pikapython.com TLS 公网入口（pikasTech/unidesk#2110），完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R1.6.1_Task_Report.md)。
##### R1.6.1.1 [completed]

将 PK01 PostgreSQL 逻辑备份正规化为 YAML-first 多数据库 logicalDumps，保留 Sub2API 并新增 PikaOA 独立 dump、timer、retention 与受控状态/可恢复性摘要（pikasTech/unidesk#2115），完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R1.6.1.1_Task_Report.md)。
##### R1.6.1.2 [in_progress]

为 NC01 pikaoa namespace 的生产附件 PVC 建立 YAML-first Restic 离机备份、受控状态与 restore smoke，复用 PK01 /var/backups/unidesk 且失败只告警不阻塞业务，执行记录见 [pikasTech/unidesk#2128](https://github.com/pikasTech/unidesk/issues/2128)，完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R1.6.1.2_Task_Report.md)。
##### R1.6.1.3 [completed]

建立仅跟随产品 release 的 PikaOA 生产 PaC/Tekton/GitOps/Argo lane，以 fresh initializer 在 NC01 pikaoa namespace 启动 API/Worker/Web/附件 PVC，接入 PK01 host PostgreSQL、OTel/Prometheus 和 oa.pikapython.com TLS 公网入口，执行记录见 [pikasTech/unidesk#2129](https://github.com/pikasTech/unidesk/issues/2129)，完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R1.6.1.3_Task_Report.md)。
##### R1.6.1.4 [in_progress]

将 PikaOA 生产与测试运行面完全迁出 PK01：在 NC01 host PostgreSQL 创建全新隔离数据库与 Secret export，将附件备份改为 NC01 host 独立目录，移除运行时 PK01 Secret 依赖，并完成 https://oa.hwpod.com、OTel 与 Prometheus 上线验收，执行记录见 [pikasTech/unidesk#2250](https://github.com/pikasTech/unidesk/issues/2250)，完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R1.6.1.4_Task_Report.md)。
### R1.7 [completed]

通过 CLI、OTel、Prometheus 和 https://oa.pikapython.com 桌面/移动原入口验证完整主路径，依赖 R1.6，完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R1.7_Task_Report.md)。

### R1.8 [completed]

完成 issue、MDTODO、阶段报告、post-task、已吸收 worktree 与分支清理，依赖 R1.7，完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R1.8_Task_Report.md)。

#### R1.8.1 [completed]

更新 PikaOA 生产上线后的长期参考与最短只读验收路径，纠正“生产尚未 bootstrap”的过时事实并关联 [pikasTech/unidesk#2159](https://github.com/pikasTech/unidesk/issues/2159)，完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R1.8.1_Task_Report.md)。

## R2 [in_progress]

实现合同与发票 PDF 导入预览、自动字段提取、人工校对、确认创建和 typed ID 附件关联，数字发票自动预填，扫描合同在 OCR 不可用时返回非阻塞人工校对 warning，执行记录见 [pikainc/pikaoa#42](https://github.com/pikainc/pikaoa/issues/42)，完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R2_Task_Report.md)。

### R2.1 [completed]

实现可替换 PDF extractor、合同/发票字段解析、统一 import-preview API、OTel/Prometheus 和有界测试，执行记录见 [pikainc/pikaoa#44](https://github.com/pikainc/pikaoa/issues/44)，完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R2.1_Task_Report.md)。
### R2.2 [completed]

实现合同与发票 `import-preview --file` CLI、multipart client、有界文本/JSON 输出和测试，执行记录见 [pikainc/pikaoa#45](https://github.com/pikainc/pikaoa/issues/45)，完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R2.2_Task_Report.md)。
### R2.3 [completed]

实现 Vue PDF 选择、预览 warning、字段预填、人工校对、确认创建和 typed ID 附件上传工作流，执行记录见 [pikainc/pikaoa#43](https://github.com/pikainc/pikaoa/issues/43)，完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R2.3_Task_Report.md)。
### R2.4 [completed]

执行 [PikaOA #59](https://github.com/pikainc/pikaoa/issues/59)：纠正“只验证路由标题即验收”的错误，先用 OA_ADMIN_TOKEN CLI 验证合同、发票、typed ID 附件引用及两份用户 PDF 下载大小/SHA，再修复废弃发票默认不可见、附件缺少全局查询、合同/发票详情不展示或打不开 PDF；产品 PR 自动交付后只用 web-probe 验证真实业务行、附件名与 PDF 操作，禁止裸 Playwright、公共 CI/CD 修改和超过三级任务，完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R2.4_Task_Report.md)。

#### R2.4.1 [completed]

修复 [PikaOA #60](https://github.com/pikainc/pikaoa/issues/60)：让附件引用 API/CLI 支持有界全局与按 typed ID 查询，先验证合同、发票、附件和 PDF 下载大小/SHA，不做数据迁移、公共 CI/CD 修改或阻塞门禁，完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R2.4.1_Task_Report.md)。
#### R2.4.2 [completed]

修复 [PikaOA #61](https://github.com/pikainc/pikaoa/issues/61)：让废弃发票默认可见，合同版本与发票详情展示关联附件，附件页可全局浏览并经受认证 blob 打开/下载 PDF；CLI 通过后再由主代理用 web-probe 验收，完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R2.4.2_Task_Report.md)。
#### R2.4.3 [completed]

修复 [PikaOA #64](https://github.com/pikainc/pikaoa/issues/64)：用户明确反馈发票页的说明、操作区、汇总和完整筛选表单占用过多纵向空间，导致主要列表区域太少；桌面端压缩为紧凑工具带并默认收起低频 ID/日期筛选，移动端保持可操作且不重叠，最终用 WebProbe 证明 1920x1080 首屏列表区域明显扩大、active/voided 行可见并可进入详情，完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R2.4.3_Task_Report.md)。

#### R2.4.4 [completed]

修复 [PikaOA #66](https://github.com/pikainc/pikaoa/issues/66)：用户在实际入口反馈上一轮布局完全未变化且发票主列表没有附件列；列表按平级附件引用的发票 ID 关联展示附件数量，开发环境按 CLI-first 与 WebProbe 验收后通过正常 master 到 release PR 推广，并以 https://oa.hwpod.com/invoices 为最终用户入口验收，完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R2.4.4_Task_Report.md)。
#### R2.4.5 [completed]

实现 [PikaOA #70](https://github.com/pikainc/pikaoa/issues/70)：抽取通用紧凑资源列表工具带、可折叠高级筛选与附件计数能力，先应用到合同页，补齐跨资源 ID 链接并消除桌面轻微全局滚动，CLI-first 后用 WebProbe 验收，完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R2.4.5_Task_Report.md)。
#### R2.4.6 [completed]

复核 [PikaOA #69](https://github.com/pikainc/pikaoa/issues/69)：对齐生产 release、PaC/GitOps/Deployment/静态资源滚动事实，按 unidesk-secret 同步统一管理员密钥并分别验收开发与生产登录，不修改公共 CI/CD，完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R2.4.6_Task_Report.md)。
#### R2.4.7 [completed]

修复 [PikaOA #74](https://github.com/pikainc/pikaoa/issues/74)：统一 README 的 typed attachment objectType 示例为运行面规范值 contract-version 与 invoice，并说明先按当前业务 ID 定点查询、无结果再全局盘点，避免误判附件缺失；仅修改文档，不作为上线门禁，完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R2.4.7_Task_Report.md)。
### R2.5 [completed]

审核合并产品 PR，完成受控发布、issue/MDTODO 报告、post-task 和已吸收 worktree 清理；公共 CI/CD 仅在末尾检查一次且不修改基础设施，完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R2.5_Task_Report.md)。
## R3 [in_progress]

落实 OA 全功能 CLI-first：所有功能先由 CLI 通过 owning YAML 分发的 `OA_ADMIN_TOKEN` 调用公开 API 验收，CLI 通过后再执行 web-probe，执行记录见 [pikainc/pikaoa#46](https://github.com/pikainc/pikaoa/issues/46)，完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R3_Task_Report.md)。

### R3.1 [in_progress]

实现 API 常量时间验证、管理员身份/capability 映射和 CLI 环境 `OA_ADMIN_TOKEN` 优先鉴权，盘点并补齐已启用模块 CLI 等价入口，执行记录见 [pikainc/pikaoa#47](https://github.com/pikainc/pikaoa/issues/47)，完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R3.1_Task_Report.md)。

### R3.2 [in_progress]

在 UniDesk owning YAML 生成并分发 `OA_ADMIN_TOKEN` 到测试/正式 runtime 和受控 CLI 环境，保持 Secret 脱敏，执行记录见 [pikasTech/unidesk#2263](https://github.com/pikasTech/unidesk/issues/2263)，完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R3.2_Task_Report.md)。

### R3.3 [in_progress]

在测试和正式运行面逐项执行无 session 文件的管理员 CLI 主路径，确认 CLI 通过后才允许对应 web-probe 验收，完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R3.3_Task_Report.md)。

### R3.4

完成双仓审核合并、受控 Secret 同步与发布、CLI-first 覆盖报告、issue/MDTODO/post-task 和 worktree 清理，完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R3.4_Task_Report.md)。

## R4 [completed]

收敛 PikaOA development 自动交付并恢复 `oa-dev.hwpod.com`，完成后继续 CLI-first、web-probe、OTel 与 Prometheus 验收，执行记录见 [pikasTech/unidesk#2274](https://github.com/pikasTech/unidesk/issues/2274)，完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R4_Task_Report.md)。

### R4.1 [completed]

修复 PikaOA initializer 的 PreSync ConfigMap 顺序，使配置在 initializer Job 前创建并可重复更新，保持 Secret 由 YAML-first 独立分发，执行记录见 [pikasTech/unidesk#2289](https://github.com/pikasTech/unidesk/issues/2289)，完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R4.1_Task_Report.md)。

### R4.2 [completed]

在 UniDesk #2289 合并后使用受管 source-artifact renderer 更新 PikaOA development `.tekton` 制品并通过一致性检查，执行记录见 [pikainc/pikaoa#53](https://github.com/pikainc/pikaoa/issues/53)，完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R4.2_Task_Report.md)。

### R4.3 [completed]

让 PikaOA Web PDF 上传上限由 YAML-first `attachment.maxBytes` 注入，修复 11.4 MB 合同 PDF 的 HTTP 413，执行记录见 [pikainc/pikaoa#57](https://github.com/pikainc/pikaoa/issues/57)，完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R4.3_Task_Report.md)。

### R4.4 [completed]

修复 PostgreSQL readiness 对 `pikaoa.goose_db_version` 的 schema 查询并由 [pikainc/pikaoa#56](https://github.com/pikainc/pikaoa/pull/56) 自动交付，完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R4.4_Task_Report.md)。

### R4.5 [completed]

让 `web-probe product-smoke` 支持 PikaOA 同页内存会话登录并完成公网 Web 验收，执行记录见 [pikasTech/unidesk#2319](https://github.com/pikasTech/unidesk/issues/2319)，完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R4.5_Task_Report.md)。

## R5 [completed]

实现 [PikaOA #76](https://github.com/pikainc/pikaoa/issues/76)：将所有与导航关联的筛选栏统一为公共模板，资源筛选全部使用支持 ID/名称模糊搜索且默认展示名称的下拉菜单，详情页关联 ID 全部改为名称链接，保持 URL/API 使用稳定 ID、未知类型文本回退、桌面与移动布局稳定；通过 [UniDesk #2409](https://github.com/pikasTech/unidesk/issues/2409) 沉淀 typed WebProbe，并按 CLI-FIRST 后 WebProbe 验收，完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R5_Task_Report.md)。

## R6 [in_progress]

完成 [UniDesk #2417](https://github.com/pikasTech/unidesk/issues/2417) 与 [PikaOA #78](https://github.com/pikainc/pikaoa/issues/78)：把 PikaOA 后端改造为共享 application dispatcher + Temporal workflow/activity，API 与 worker 独立；CLI 默认 local、显式 `--over-api`；Workbench 可独立启动 native API/worker/Web HMR，先完成 native smoke，再由正常 master CI/CD 回归 development 运行面，完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R6_Task_Report.md)。

### R6.1 [completed]

升级 PJ2026-03 SPEC：冻结 dispatcher、Temporal、CLI local/`--over-api`、API/worker 分离、Web HMR 与 native-first/CICD 验收契约，关联 [UniDesk #2417](https://github.com/pikasTech/unidesk/issues/2417)，完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R6.1_Task_Report.md)。

### R6.2 [in_progress]

实现 PikaOA composition/dispatcher、Temporal workflow/activity、独立 worker、CLI local/`--over-api` 与 native lifecycle，执行 Issue [PikaOA #79](https://github.com/pikainc/pikaoa/issues/79)，父 Issue [#78](https://github.com/pikainc/pikaoa/issues/78)，依赖 R6.1，完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R6.2_Task_Report.md)。

### R6.3 [in_progress]

实现独立 Web HMR native 测试服务、API proxy 和受控 local Web smoke，执行 Issue [PikaOA #80](https://github.com/pikainc/pikaoa/issues/80)，父 Issue [#78](https://github.com/pikainc/pikaoa/issues/78)，依赖 R6.1，可与 R6.2 并行，完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R6.3_Task_Report.md)。

### R6.4 [completed]

在 NC01 真实 host PostgreSQL/Temporal 上完成 local CLI、worker、native API `--over-api` 与 Web HMR smoke，执行 [PikaOA #81](https://github.com/pikainc/pikaoa/issues/81)，依赖 R6.2-R6.3，完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R6.4_Task_Report.md)。

### R6.5 [completed]

更新 PikaOA owning YAML、API/worker 独立部署与 CI/CD 合同，只由产品 master PR merge 自动交付 development，执行 [UniDesk #2421](https://github.com/pikasTech/unidesk/issues/2421)，父 Issue [#2417](https://github.com/pikasTech/unidesk/issues/2417)，依赖 R6.4，完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R6.5_Task_Report.md)。

#### R6.5.1 [completed]

修正 [UniDesk #2438](https://github.com/pikasTech/unidesk/issues/2438) 的 PikaOA native PDF 预览探针误判，不降低其他业务 smoke，复用 PR #2436 完成定向测试与完整 native admin-mvp 验收，完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R6.5.1_Task_Report.md)。
### R6.6 [in_progress]

回归正常 CI/CD、development API/worker/Web ready、部署态 CLI `--over-api` 与 Web 原入口，记录 native/CICD 效率证据并收口 issue，依赖 R6.5，完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R6.6_Task_Report.md)。

### R6.7 [completed]

实现 PikaOA 共享资源工作区：列表静默增量刷新、行切换只显示详情加载动画、详情栏占满 shell-content，并启动可公网访问且支持 HMR 的 L1 native API/worker/Web 测试端口，完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R6.7_Task_Report.md)。

### R6.8 [completed]

完成 PikaOA 共享资源工作区的 L2 Development 自动交付：由 PR #88 merge 唯一触发 `pikaoa-dev-nc01` PaC/GitOps，验证 development API/worker/Web、CLI `--over-api` 与 WebProbe 原入口；共享 CI/CD 观察面异常只做只读诊断，不修改公共基础设施，完成任务后将详细报告写入任务报告，完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R6.8_Task_Report.md)。

### R6.9 [completed]

在 R6.8 L2 Development 通过且用户明确授权后，将 PikaOA 当前 `master` 通过 `master -> release` PR 推广到 L3 Production，由 `pikaoa-nc01` PaC/GitOps 自动交付，并验证 production API/worker/Web、CLI `--over-api`、PDF/附件和 WebProbe 原入口；禁止人工 PipelineRun、mirror、Argo sync 或生产 patch，完成任务后将详细报告写入任务报告，完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R6.9_Task_Report.md)。

### R6.10 [in_progress]

修复 production 新建伙伴后详情读取失败：定位 `Cannot read properties of null (reading 'join')` 的 API/前端空数组边界，在共享资源归一化层修复并保持列表与详情通用工作区行为；先完成 L1 CLI/Web 验证，再经 master 自动交付 L2，L2 通过后按本次生产故障修复授权推广 L3，完成任务后将详细报告写入任务报告，完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R6.10_Task_Report.md)。

#### R6.10.1 [in_progress]

通过 [PikaOA Issue #91](https://github.com/pikainc/pikaoa/issues/91) 建立通用资源单选/多选下拉，按名称或 ID 模糊搜索且默认展示名称；替换所有要求手填全局资源 ID 的表单；合同与发票登记同时支持直接上传新 PDF 附件或搜索并关联已有附件，完成任务后将详细报告写入任务报告，完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R6.10.1_Task_Report.md)。

#### R6.10.2 [in_progress]

通过 [PikaOA Issue #95](https://github.com/pikainc/pikaoa/issues/95) 建立统一表单字段组件/模板，在新增、编辑、上传和 PDF 校对表单中明确标注必填与选填，并让资源选择器的可见标识、`aria-required`、清空行为与后端约束一致，完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R6.10.2_Task_Report.md)。
