diff --git a/.doc/ops/CURRENT.md b/.doc/ops/CURRENT.md index 53a4cf5f..593aa2b8 100644 --- a/.doc/ops/CURRENT.md +++ b/.doc/ops/CURRENT.md @@ -6,14 +6,14 @@ ## 焦点 1. **document-author-only**:U1–U6 **已合入并推送 `origin/dev`**;dev 试点总开关 **on**;test/main 仍 off、未晋升 -2. **docgov 变更提案 HTTP**:`feature/docgov-modification-proposal-http`(mutex `docgov`)in_progress +2. **docgov 变更提案 HTTP**:已合入 `dev`(propose+decide 真实 HTTP PASS);待 push / worktree 清理 3. **红线**:禁止整支 merge FAV;不默认升 `MULTI_INTENT_PLAN_TIER=full`;`SEMANTIC_SUMMARY_REPLACE` 不随 W2 开启;FAV live 观察窗证据驱动;`FAV_DEGRADED_READ=false`;项目 143 只读 ## 并行认领 | owner | task | branch | worktree | mutex | status | |-------|------|--------|----------|-------|--------| -| Cursor | 2026-09-17-docgov-modification-proposal-http | feature/docgov-modification-proposal-http | .worktrees/feature-docgov-modification-proposal-http | docgov | in_progress | +| Cursor | 2026-09-17-docgov-modification-proposal-http | feature/docgov-modification-proposal-http | .worktrees/feature-docgov-modification-proposal-http | docgov | done | | Cursor | 2026-09-17-document-author-only-closeout | feature/document-author-only-plan | .worktrees/feature-document-author-only-plan | document-duty-policy | done | | Cursor | 2026-09-17-rdev-template-depth-s1-continued | feature/rdev-template-depth-s1-continued | - | rdev-templates | planned | | Cursor | 2026-09-17-rdev-workflow-integration | feature/rdev-core | - | workflow-def | done | @@ -130,7 +130,7 @@ | holder | phase | since | scope | queue | |--------|-------|-------|-------|-------| -| Cursor | merging | 2026-09-17 | feature/docgov-modification-proposal-http | - | +| - | idle | 2026-09-17 | - | - | **phase**: `idle` | `merging` | `smoke` | `e2e` diff --git a/.doc/ops/short-term/2026-09-17-docgov-modification-proposal-http.md b/.doc/ops/short-term/2026-09-17-docgov-modification-proposal-http.md index 34d2cd9e..e1bbbd8a 100644 --- a/.doc/ops/short-term/2026-09-17-docgov-modification-proposal-http.md +++ b/.doc/ops/short-term/2026-09-17-docgov-modification-proposal-http.md @@ -1,6 +1,6 @@ --- title: "docgov 变更提案 HTTP + 前端接线" -status: in_progress +status: done created: 2026-09-17 updated: 2026-09-17 owner: Cursor @@ -32,14 +32,14 @@ mutex: docgov 1. [x] 实现 propose handler + 路由 2. [x] 前端 client + App 接线 3. [x] handler/client 单测 -4. [ ] 合入 dev + rebuild + 真实 HTTP +4. [x] 合入 dev + rebuild + 真实 HTTP 5. [ ] push origin/dev;清理 author-only worktree ## 验收标准 - [x] `POST /api/v1/docgov/proposal` 可写库(单测) -- [ ] 真实 HTTP claim → propose → decide PASS -- [ ] audit 缺口 resolved;CURRENT 认领收敛 +- [x] 真实 HTTP claim → propose → decide PASS +- [x] audit 缺口 resolved;CURRENT 认领收敛 ## 相关链接 diff --git a/.doc/test-reports/2026-09-17-docgov-modification-proposal-http-test-report.md b/.doc/test-reports/2026-09-17-docgov-modification-proposal-http-test-report.md new file mode 100644 index 00000000..860c2ffa --- /dev/null +++ b/.doc/test-reports/2026-09-17-docgov-modification-proposal-http-test-report.md @@ -0,0 +1,37 @@ +# docgov 变更提案 HTTP 测试报告 + +## 一、 测试背景 (Background) +- 引擎已有 Propose/Decide,但缺少 propose HTTP;前端 pendingProposal 为本地模拟。 +- author-only 收口后补齐变更提案闭环。 + +## 二、 测试目标 (Test Objectives) +- `POST /api/v1/docgov/proposal` 写库成功 +- `POST /api/v1/docgov/proposal/decide` 批准写库 +- 前端 client 单测覆盖路径 + +## 三、 测试方案与环境 (Test Plan & Environment) +- OS: Linux;后端:agent-dev `:8080` schema 52;真实 `pi-agent` 环境(本用例不触发任务跑批) +- 层级:Go handler 单测 + 前端 client 单测 + 真实 HTTP + +## 四、 预期结果 (Expected Results) +- claim 已认领文档 → propose → status=`pending_author_approval` → decide approve → `approved_by_author` + +## 五、 实际测试结果与判定 (Actual Results & Evaluation) + +### TC-HTTP-01 claim → propose → decide +- **测试输入**: doc `doc_proj6425_rd_design_input_spec`(author=admin/9,已认领) +- **实际输出**: 见 assets `01`–`05`;proposal `prop_rd_design_input_spec_1789654256551680649` → `approved_by_author` +- **评价判定**: PASS +- **性能与耗时**: 全链路 <1s(不含 rebuild) + +### TC-UNIT-01 +- `go test -run TestServer_DocGovProposeAndDecideHTTP ./internal/server/` PASS +- `node --test web/src/api/docgov.test.ts` 6/6 PASS + +## 六、 自动化测试套件汇总 (Test Suite Execution) +- 合入后冒烟:`go vet ./...`;`go test -short ./internal/server/ ./internal/docgov/` PASS +- `./scripts/env-service.sh dev rebuild`;`GET /health` → status=ok schema=52 + +## 七、 测试结论与后续优化建议 (Conclusion & Next Steps) +- 达到合入/推送标准;**未**晋升 test/main +- 后续:批准后自动应用受控正文 diff(非本期) diff --git a/.doc/test-reports/assets/2026-09-17-docgov-modification-proposal-http/01-get-document.json b/.doc/test-reports/assets/2026-09-17-docgov-modification-proposal-http/01-get-document.json new file mode 100644 index 00000000..d502953c --- /dev/null +++ b/.doc/test-reports/assets/2026-09-17-docgov-modification-proposal-http/01-get-document.json @@ -0,0 +1 @@ +{"id":293,"doc_id":"doc_proj6425_rd_design_input_spec","project_id":6425,"task_key":"rd_design_input_spec","title":"设计输入规格书","stage":"RD03_design_input","version":1,"current_state":"drafting","is_locked":false,"is_template_only":false,"content_sha256":"3b763a3488dbd4fab8d7793f90b46f3373457f3745f3906b3c33e2bd39af39dc","work_dir":"/app/data/workspaces/bizdev/rd_design_input_spec_1789635960900711737","author_id":9,"author_name":"系统管理员","reviewer_id":9,"reviewer_name":"系统管理员","approver_id":9,"approver_name":"系统管理员","duty_locked":true,"duty_policy":"author_only","author_claimed":true,"author_claimed_at":"2026-09-17T13:34:38.964259Z","author_last_viewed_at":"2026-09-17T13:47:35.879256Z","author_last_edited_at":null,"reviewer_claimed":false,"reviewer_claimed_at":null,"approver_claimed":false,"approver_claimed_at":null,"last_rejected_reason":"","last_rejected_by_role":"","last_rejected_by_name":"","last_rejected_at":null,"approved_at":null,"config":{"reject_rollback_to":"drafting","allow_approver_to_reviewer":true,"require_author_confirm_on_reject":true},"created_at":"2026-09-17T09:06:00.895726Z","updated_at":"2026-09-17T13:47:35.879256Z"} diff --git a/.doc/test-reports/assets/2026-09-17-docgov-modification-proposal-http/02-claim.txt b/.doc/test-reports/assets/2026-09-17-docgov-modification-proposal-http/02-claim.txt new file mode 100644 index 00000000..d36fb132 --- /dev/null +++ b/.doc/test-reports/assets/2026-09-17-docgov-modification-proposal-http/02-claim.txt @@ -0,0 +1,3 @@ +{"id":293,"doc_id":"doc_proj6425_rd_design_input_spec","project_id":6425,"task_key":"rd_design_input_spec","title":"设计输入规格书","stage":"RD03_design_input","version":1,"current_state":"drafting","is_locked":false,"is_template_only":false,"content_sha256":"3b763a3488dbd4fab8d7793f90b46f3373457f3745f3906b3c33e2bd39af39dc","work_dir":"/app/data/workspaces/bizdev/rd_design_input_spec_1789635960900711737","author_id":9,"author_name":"系统管理员","reviewer_id":9,"reviewer_name":"系统管理员","approver_id":9,"approver_name":"系统管理员","duty_locked":true,"duty_policy":"author_only","author_claimed":true,"author_claimed_at":"2026-09-17T13:34:38.964259Z","author_last_viewed_at":"2026-09-17T14:10:56.545668337Z","author_last_edited_at":null,"reviewer_claimed":false,"reviewer_claimed_at":null,"approver_claimed":false,"approver_claimed_at":null,"last_rejected_reason":"","last_rejected_by_role":"","last_rejected_by_name":"","last_rejected_at":null,"approved_at":null,"config":{"reject_rollback_to":"drafting","allow_approver_to_reviewer":true,"require_author_confirm_on_reject":true},"created_at":"2026-09-17T09:06:00.895726Z","updated_at":"2026-09-17T14:10:56.545668337Z"} + +HTTP 200 diff --git a/.doc/test-reports/assets/2026-09-17-docgov-modification-proposal-http/03-propose.txt b/.doc/test-reports/assets/2026-09-17-docgov-modification-proposal-http/03-propose.txt new file mode 100644 index 00000000..379b64f4 --- /dev/null +++ b/.doc/test-reports/assets/2026-09-17-docgov-modification-proposal-http/03-propose.txt @@ -0,0 +1,3 @@ +{"id":139,"proposal_id":"prop_rd_design_input_spec_1789654256551680649","doc_id":"doc_proj6425_rd_design_input_spec","project_id":6425,"triggered_by":"http_smoke","proposed_changes":"补充设计输入 EMC 共模抑制指标","impact_analysis":"影响原理图滤波网络","risk_assessment":"低风险","status":"pending_author_approval","author_decision_reason":"","decided_at":null,"created_at":"2026-09-17T14:10:56.551684908Z"} + +HTTP 200 diff --git a/.doc/test-reports/assets/2026-09-17-docgov-modification-proposal-http/04-decide.txt b/.doc/test-reports/assets/2026-09-17-docgov-modification-proposal-http/04-decide.txt new file mode 100644 index 00000000..e7abcc14 --- /dev/null +++ b/.doc/test-reports/assets/2026-09-17-docgov-modification-proposal-http/04-decide.txt @@ -0,0 +1,3 @@ +{"id":139,"proposal_id":"prop_rd_design_input_spec_1789654256551680649","doc_id":"doc_proj6425_rd_design_input_spec","project_id":6425,"triggered_by":"http_smoke","proposed_changes":"补充设计输入 EMC 共模抑制指标","impact_analysis":"影响原理图滤波网络","risk_assessment":"低风险","status":"approved_by_author","author_decision_reason":"HTTP 冒烟批准","decided_at":"2026-09-17T14:10:56.576516211Z","created_at":"2026-09-17T14:10:56.551684908Z"} + +HTTP 200 diff --git a/.doc/test-reports/assets/2026-09-17-docgov-modification-proposal-http/05-db-confirm.txt b/.doc/test-reports/assets/2026-09-17-docgov-modification-proposal-http/05-db-confirm.txt new file mode 100644 index 00000000..feef65c4 --- /dev/null +++ b/.doc/test-reports/assets/2026-09-17-docgov-modification-proposal-http/05-db-confirm.txt @@ -0,0 +1,5 @@ + proposal_id | status | changes +-----------------------------------------------+--------------------+------------------------------- + prop_rd_design_input_spec_1789654256551680649 | approved_by_author | 补充设计输入 EMC 共模抑制指标 +(1 row) +