docs(pikaoa): close test runtime acceptance tasks
This commit is contained in:
@@ -1,41 +1,29 @@
|
||||
# R1.5.9.10 任务报告
|
||||
|
||||
## 状态
|
||||
## 结论
|
||||
|
||||
- 当前状态:`in_progress`。
|
||||
- 关联 issue:`pikasTech/unidesk#2092`。
|
||||
- 实现分支:`fix/pikaoa-observability`。
|
||||
- 本阶段仅完成源码、owning YAML、fixture 和定向验证;未执行任何运行面 mutation,未启动 Prometheus、Collector、Tempo 或 PikaOA Pod。
|
||||
- 后续仍需主代理通过受控 observability apply 完成 NC01 trace/metrics 原入口验收后再决定完成状态。
|
||||
- UniDesk PR pikasTech/unidesk#2100 已合并,merge commit 为 35d3a6c1。
|
||||
- PikaOA 测试与生产 OTel endpoint 统一为无 scheme 的 gRPC 4317。
|
||||
- Prometheus selector label 从 platform-infra owning YAML configRef 解析并应用于 API/Worker Pod。
|
||||
- 受控 observability apply 后 Collector、Tempo 与 Prometheus ready。
|
||||
- 新 API/Worker Pod 的旧 OTLP 地址 warning 数量为 0。
|
||||
- outbox handler_not_registered 保持非阻塞并登记到 pikainc/pikaoa#24。
|
||||
|
||||
## 实现
|
||||
|
||||
- `config/pikaoa.yaml`:
|
||||
- 测试与生产 `otlpEndpoint` 统一为无 scheme 的 OTLP gRPC endpoint `otel-collector.platform-infra.svc.cluster.local:4317`;
|
||||
- 删除生产旧字段 `otlpHttpEndpoint`,不保留兼容入口;
|
||||
- 测试 Prometheus 新增 `configRef`,指向 `config/platform-infra/observability.yaml#metricsBackend.discovery.labelSelector`。
|
||||
- `scripts/src/pikaoa-test-target.ts`:
|
||||
- 复用共享 `scripts/src/ops/config-refs.ts` 的 `resolveConfigRef`;
|
||||
- 校验 configRef、OTLP gRPC endpoint 及 Kubernetes label key/value;
|
||||
- 将 selector label 加入 API/Worker Pod template,Web 不添加;
|
||||
- 在 plan/status 投影 selector 的 `sourceRef`、`presence`、`fingerprint` 和 `valuesPrinted=false`;
|
||||
- selector 漂移与 OTel exporter 失败均保持 `blocking=false` warning,不阻塞业务 MVP。
|
||||
- fixture 与测试:
|
||||
- 更新 endpoint 与 selector configRef;
|
||||
- 增加非法 label fixture;
|
||||
- 覆盖 endpoint、API/Worker selector label、Web 无 selector、configRef 缺失、引用路径错误、非法 Kubernetes label、旧生产字段删除及 `valuesPrinted=false`。
|
||||
- 删除生产旧字段 otlpHttpEndpoint,不保留兼容入口。
|
||||
- 测试 Prometheus configRef 指向 config/platform-infra/observability.yaml#metricsBackend.discovery.labelSelector。
|
||||
- 复用共享 resolveConfigRef,投影 selector sourceRef、presence、fingerprint 与 valuesPrinted=false。
|
||||
- API/Worker Pod template 增加 unidesk.ai/metrics=true;Web 不增加。
|
||||
- selector 漂移和 exporter 失败均保持 blocking=false warning。
|
||||
- 定向测试覆盖 gRPC endpoint、selector label、Web 排除、configRef 缺失/错误和旧字段删除。
|
||||
- bun scripts/cli.ts check --syntax-only 与 git diff --check 通过。
|
||||
|
||||
## 验证
|
||||
## 真实运行面证据
|
||||
|
||||
- `bun --check scripts/src/pikaoa-test-target.ts`:通过。
|
||||
- `bun test scripts/src/pikaoa-test-target-async.test.ts`:`2 pass, 0 fail`。
|
||||
- `bun scripts/cli.ts check --syntax-only`:`11 passed, 0 failed`。
|
||||
- `bun scripts/cli.ts pikaoa test-target plan ...` compact text:通过,`mutation=false`、`valuesPrinted=false`;clean Artificer workspace 缺 fixture Secret 时仅显示既有非变更 blocker,不读取或打印 Secret,也不作为本任务运行面门禁。
|
||||
- `git diff --check`:通过。
|
||||
- `scripts/src/pikaoa-test-target.ts`:1910 行,低于 2000 行。
|
||||
|
||||
## 边界与后续
|
||||
|
||||
- 用户确认开发初期旧数据可丢;本任务不实现旧数据迁移、兼容或回滚,现有 migration 命名仅表示全新数据库初始化。
|
||||
- Prometheus 当前未 apply/ready 不阻塞业务 MVP;后续由主代理按受控入口完成 apply、Tempo trace 和 Prometheus metrics 验收。
|
||||
- 本报告回链 MDTODO `R1.5.9.10`,任务保持进行中。
|
||||
- API 合同查询 trace 21cf522b075a4f89ca4f6e7e9e034ba0 在 Tempo 中找到 13 spans、0 error。
|
||||
- Worker service pikaoa-test-acceptance-worker 的 trace 可通过 TraceQL 检索。
|
||||
- Prometheus:database_ready=1、migration_ready=1。
|
||||
- Prometheus:contracts operations=1、invoice actions=2、worker runs=234。
|
||||
- HTTP request 与 identity login 指标均有数据。
|
||||
- API、Worker、Web 各 1 副本 Ready;Prometheus selector label 仅存在于 API/Worker。
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
# R1.5.9.11 任务报告
|
||||
|
||||
## 结论
|
||||
|
||||
- 产品 PR pikainc/pikaoa#21 已合并,merge commit 为 d9d3de2。
|
||||
- 合同 PL/pgSQL trigger function 已用 Goose StatementBegin/StatementEnd 包裹,避免语句拆分失败。
|
||||
- NC01 运行的初始化镜像使用完整 commit d9d3de224d53498ed75c07c9a802e5b5bbf2463f。
|
||||
- PK01 pikaoa_test 全新 schema 真实执行 00001 至 00007 成功,合同版本不可变 trigger 已创建。
|
||||
- 不承担历史数据迁移;该 SQL 链仅作为当前开发阶段的全新数据库初始化器。
|
||||
@@ -0,0 +1,10 @@
|
||||
# R1.5.9.12 任务报告
|
||||
|
||||
## 结论
|
||||
|
||||
- 产品 PR pikainc/pikaoa#23 已合并,merge commit 为 266901f。
|
||||
- Web 请求 ID helper 在可用时优先 crypto.randomUUID;HTTP 非安全上下文缺失该函数时使用 crypto.getRandomValues 生成 RFC 4122 UUIDv4。
|
||||
- NC01 构建并推送 Web 镜像 266901fe621232403794c7187a1781ebc766ef7d,registry digest 为 sha256:98679772537e7602389211edfaf6e422614497025a262b1b74f5038dfe059133。
|
||||
- 真实 HTTP hostIP 登录返回 200。
|
||||
- Playwright 桌面 1920×1080 与移动 390×844 均通过伙伴、合同版本历史、发票废弃详情;横向溢出 false,console error 为 0。
|
||||
- 截图证据位于 /root/.unidesk/.state/playwright-cli/pikaoa-live-266901/。
|
||||
@@ -0,0 +1,8 @@
|
||||
# R1.5.9.7 任务报告
|
||||
|
||||
## 结论
|
||||
|
||||
- 产品 PR pikainc/pikaoa#17 已合并,merge commit 为 70e34fe。
|
||||
- 事件主版本不一致降级为具名 warning,不再阻塞 API/Worker 启动。
|
||||
- NC01 pikaoa-test 的 API、Worker、Web 均已 Ready,合同、发票和审计 CLI 实测通过。
|
||||
- 当前阶段不增加完整契约审计门禁;一致性问题继续保持非阻塞 warning。
|
||||
@@ -0,0 +1,9 @@
|
||||
# R1.5.9.8 任务报告
|
||||
|
||||
## 结论
|
||||
|
||||
- 产品 PR pikainc/pikaoa#19 已合并,merge commit 为 68342e3。
|
||||
- Goose 版本表固定为 pikaoa.goose_db_version,业务表与版本表统一位于 pikaoa schema。
|
||||
- 主代理明确断言连接身份为 pikaoa_test database/pikaoa_test role 后,仅清空测试 schema;生产 pikaoa database/role 未触碰。
|
||||
- 全新测试库初始化完成,00001 至 00007 全部成功,Goose version=7。
|
||||
- 用户确认开发初期旧数据可直接丢;本任务不实现旧数据迁移、兼容或回滚框架。
|
||||
@@ -1,39 +1,28 @@
|
||||
# R1.5.9.9 任务报告
|
||||
|
||||
## 状态
|
||||
## 结论
|
||||
|
||||
- 当前状态:进行中。
|
||||
- 关联问题:`pikasTech/unidesk#2090`。
|
||||
- 待办:由主代理在真实 `pikaoa-test` 运行面复测后决定是否完成任务。
|
||||
- UniDesk PR pikasTech/unidesk#2096 已合并,merge commit 为 cfc7ffb。
|
||||
- 初始化 Job 由有界短轮询识别 Complete、Failed 与 FailureTarget;失败立即返回具名终态,不再等待 Complete 至超时。
|
||||
- NC01 pikaoa-test 真实全新库初始化以该 runner 完成,Job Complete 后 API/Worker/Web 单步启动成功。
|
||||
- 保留 submit-and-poll 与 Secret/DSN 脱敏;一致性检查仅 warning。
|
||||
|
||||
## 实现
|
||||
|
||||
- 将 migration runner 从单一 `kubectl wait --for=condition=complete` 改为有界短轮询。
|
||||
- `Complete=True` 时成功结束。
|
||||
- `FailureTarget=True` 时立即返回 `migration-job-failure-target`。
|
||||
- `Failed=True` 时立即返回 `migration-job-failed`。
|
||||
- Job 查询失败时返回 `migration-job-query-failed`。
|
||||
- condition JSON 无法解析时返回 `migration-job-condition-invalid`。
|
||||
- 超过总等待时间时返回 `migration-job-timeout`。
|
||||
- 每轮查询前检查取消请求,查询超时上限收紧为 5 秒,轮询间隔为 1 秒。
|
||||
- 保留异步 submit-and-poll、现有状态文件边界和 Secret/DSN 脱敏行为。
|
||||
- Complete=True 时成功结束。
|
||||
- FailureTarget=True 时返回 migration-job-failure-target。
|
||||
- Failed=True 时返回 migration-job-failed。
|
||||
- Job 查询失败时返回 migration-job-query-failed。
|
||||
- condition JSON 解析失败时返回 migration-job-condition-invalid。
|
||||
- 超过总等待时间时返回 migration-job-timeout。
|
||||
- 每轮查询前检查取消请求,单次查询超时上限为 5 秒,轮询间隔为 1 秒。
|
||||
- 失败终态保留有界日志,不读取或打印数据库 DSN。
|
||||
|
||||
## Target 原入口证据
|
||||
## 验证
|
||||
|
||||
- Target:`NC01`。
|
||||
- targetWorkspace:`/root/unidesk/.worktree/pikaoa-migration-job-terminal`。
|
||||
- 分支:`fix/pikaoa-migration-job-terminal`。
|
||||
- 基线提交:`47ca9a7cb218528c45fef0f88cb4e4bc51a5b805`。
|
||||
- `bun --check scripts/src/pikaoa-test-target.ts`:通过。
|
||||
- `bun test scripts/src/pikaoa-test-target-async.test.ts`:2 pass,0 fail。
|
||||
- 定向测试覆盖 `Complete`、`Failed`、`FailureTarget` 和查询失败终态。
|
||||
- `bun scripts/cli.ts check --syntax-only`:11 pass,0 fail。
|
||||
- `git diff --check`:通过。
|
||||
- `scripts/src/pikaoa-test-target.ts`:1818 行,低于 2000 行。
|
||||
- 未执行运行面 mutation,未删除或重建真实 Job。
|
||||
|
||||
## Primary Workspace 轻量准备
|
||||
|
||||
- 仅用于读取 runtime resource bundle 中的技能与 `trans` 工具说明。
|
||||
- 未在 primary workspace 读取、修改或验证目标源码。
|
||||
- 未将 runner 容器本地结果作为 Target 验证证据。
|
||||
- bun --check scripts/src/pikaoa-test-target.ts:通过。
|
||||
- bun test scripts/src/pikaoa-test-target-async.test.ts:2 pass,0 fail。
|
||||
- 定向覆盖 Complete、Failed、FailureTarget、查询失败和取消路径。
|
||||
- bun scripts/cli.ts check --syntax-only:11 pass,0 fail。
|
||||
- git diff --check:通过。
|
||||
- 真实初始化执行 00001 至 00007,Goose version=7。
|
||||
|
||||
@@ -111,22 +111,22 @@
|
||||
##### 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 [in_progress]
|
||||
##### R1.5.9.7 [completed]
|
||||
|
||||
降级事件版本一致性校验并解除 MVP 启动阻塞(pikainc/pikaoa#16),完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R1.5.9.7_Task_Report.md)。
|
||||
##### R1.5.9.8 [in_progress]
|
||||
##### 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 [in_progress]
|
||||
##### 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 [in_progress]
|
||||
##### 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 [in_progress]
|
||||
##### 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 [in_progress]
|
||||
##### 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 [in_progress]
|
||||
|
||||
Reference in New Issue
Block a user