weichen and Cursor
e64bf5ca8b
docs(ops): mark Wave 0-7 done and flag Control Center conflict
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-18 04:22:22 +00:00
weichen and Cursor
a42e7902d7
docs(remediation): mark Wave 7 done and link orchestration record
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-18 04:21:56 +00:00
weichen and Cursor
7d8029978e
docs(ops): record Wave 7 roadmap orchestration confirmations
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-18 04:21:37 +00:00
weichen
a88ed85cf3
merge: docs/wave6-doc-drift
2026-09-18 04:13:48 +00:00
weichen and Cursor
4d7b1b5d25
docs(ops): close Wave 6 doc-drift D-1~D-6 and update SSOT
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-18 04:13:29 +00:00
weichen and Cursor
28e1fa2e4b
docs(project): align remaining-blocker section with gap-matrix production_ready=yes
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-18 04:11:15 +00:00
weichen and Cursor
6b70d28b2e
docs(backlog): sync D3/D7 status with FEATURE-MATRIX
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-18 04:11:15 +00:00
weichen and Cursor
447b830ff5
docs(ops): backfill closure note on intent dual-tab handoff
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-18 04:11:15 +00:00
weichen and Cursor
8e17814cea
docs(adr): accept modular-monolith-decoupling ADR (Phase 1/2 landed)
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-18 04:11:15 +00:00
weichen and Cursor
eee392d93d
docs(ops): archive completed PU8/W4 U9-U12 short-term tasks
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-18 04:10:53 +00:00
weichen and Cursor
ca0d334d57
docs(ops): flip PU8 U9-U12 contracts to status done
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-18 04:10:48 +00:00
weichen
2ce2625c94
merge: fix/wave5-deadcode-decisions
2026-09-18 04:02:26 +00:00
weichen and Cursor
60b17c03ab
docs(ops): close Wave5 deadcode decisions
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-18 04:02:19 +00:00
weichen and Cursor
2e14b3563c
fix(web): remove dead notification/workflow/settings components and orphaned APIs (X-5)
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-18 04:02:18 +00:00
weichen and Cursor
da62c49952
docs(sysadmin): annotate unwired system_settings keys as phase-2 backlog (X-4)
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-18 04:02:18 +00:00
weichen and Cursor
527e6daa99
docs(swboot): mark 00048 tables deferred to SWBOOT-10 (X-3)
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-18 04:02:18 +00:00
weichen and Cursor
6c61a5bc37
docs(ctxmgr): seal SEMANTIC_SUMMARY_REPLACE with decision link (X-2)
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-18 04:02:18 +00:00
weichen and Cursor
a41836dec0
fix(intent,sysadmin): delete dead SEMANTIC_FALLBACK_ENABLED flag (X-1)
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-18 04:02:18 +00:00
weichen and Cursor
e0f6d5991c
docs(ops): plan Wave5 deadcode decisions (X-1~X-5)
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-18 04:02:18 +00:00
weichen
a12c94700f
merge: fix/wave4-hardening-r1-r8 (slot release)
2026-09-18 03:47:59 +00:00
weichen and Cursor
e30ae4b96b
docs(ops): 释放 Wave4 集成槽位为 idle
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-18 03:47:59 +00:00
weichen
c4db565c40
merge: fix/wave4-hardening-r1-r8
...
Wave 4 隐患加固 R-1~R-8 合入本地 dev。
2026-09-18 03:47:46 +00:00
weichen and Cursor
e4c53a4ccd
docs(ops): Wave4 R-1~R-8 收口
...
归档 test-report 与 assets;CURRENT/remediation 标 Wave 4 done;勾选跨用户会话挂靠负例。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-18 03:47:46 +00:00
weichen and Cursor
e8d2d86542
test(docrevision): hydrate 负例写入类型错误 JSONB 并先落 blob
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-18 03:46:22 +00:00
weichen and Cursor
c1ea8f156c
fix(server): 清除 NewSession ProjectID=1 占位以免误触发项目鉴权
...
非项目会话创建时 ProjectID 归零,避免跨用户负例在 PG 上被 ERR_FORBIDDEN 误挡。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-18 03:46:21 +00:00
weichen and Cursor
4473a2ae10
test(web): 补 401 fail-fast、单帧容错、abortAllSessions 单测
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-18 03:44:08 +00:00
weichen and Cursor
be9b855783
fix(web): 登出主动 abort 所有会话在途流(R-8)
...
新增 abortAllSessions;logout 先中止全会话再清 session。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-18 03:44:08 +00:00
weichen and Cursor
21049607f4
fix(web): SSE 重连 401/404 fail-fast,单帧解析容错(R-7)
...
TaskRunHttpError 携带 status;非法 JSON 帧跳过并保留 seq。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-18 03:44:08 +00:00
weichen and Cursor
ce7d1b8ac5
fix(server): 后台 ticker 纳入 Shutdown;vault Drain 告警;bizdev 心跳超时(R-6)
...
reminder/vault 可停止;Drain 失败 slog.Warn;心跳/释放 lease 使用 10s 超时。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-18 03:44:08 +00:00
weichen and Cursor
58b69a2b08
fix(docrevision): pg_store JSONB 反序列化失败显式报错(R-5)
...
hydrateDocLocked 损坏字段不再静默零值化;补 PG 负例测试。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-18 03:44:08 +00:00
weichen and Cursor
e25a197410
fix(ctxmgr): memTurns 改为实例作用域并加 TTL/容量淘汰(R-4)
...
消除跨 ContextManager 实例共享;超过容量时淘汰 2h 陈旧回合。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-18 03:44:08 +00:00
weichen and Cursor
207e26241c
fix(events): dispatcher Handlers 读路径加 RWMutex(R-3)
...
Register 写锁不变;shadowScan/handle 读路径 RLock,消除导出字段无锁读隐患。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-18 03:44:08 +00:00
weichen and Cursor
9038c65329
fix: 补齐 rows.Err() 检查(R-2,其余包)
...
覆盖 kb/storage/projectworkflow/docgov/freedoc 与两个 document CLI。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-18 03:40:24 +00:00
weichen and Cursor
b53a97b36d
fix(ctxmgr): 补齐 rows.Err() 检查(R-2,ctxmgr 包)
...
A 类硬失败返回;manager 降级读路径用 slog.Warn 保持既有容忍语义。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-18 03:40:24 +00:00
weichen and Cursor
ba1fc71f16
test(server): 跨用户会话挂靠负例测试(PG + 内存双实现)
...
覆盖 chat / chat/stream / chat/sessions 三条路径;受害者续用不受影响。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-18 03:39:08 +00:00
weichen and Cursor
a805a6bfd7
fix(server): chat/sessions upsert 与任务创建强制取 principal(R-1b)
...
upsert 忽略客户端自报 user_id;EnsureChatSessionOwned 拒绝跨用户挂靠。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-18 03:39:08 +00:00
weichen and Cursor
ecdf1fc833
fix(server): getOrCreateSession 增加会话归属校验(R-1a)
...
调用方传入 callerUserID;持久层与内存会话归属不匹配时返回 SESSION_FORBIDDEN;覆盖 NewSession 默认 UserID=1 占位。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-18 03:39:08 +00:00
weichen and Cursor
426af51365
fix(ctxmgr): EnsureChatSession 归属 COALESCE 改为已有值优先(R-1c)
...
防止跨用户通过 upsert/消息落库覆盖已绑定的 chat_sessions.user_id;新增 EnsureChatSessionOwned。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-18 03:39:08 +00:00
weichen
32932e468e
merge: fix/wave3-test-debt-blindspots
2026-09-18 03:02:59 +00:00
weichen and Cursor
2ebf6adb2d
docs(ops): close Wave 3 test-debt-blindspots (S-1/S-2/S-4/S-5)
...
Archive isolated PG reconcile evidence, mark gap-matrix debt closed, and
release the integration slot for Wave 4 hardening.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-18 03:02:59 +00:00
weichen and Cursor
17f430b267
fix(web): reuse projectSettingsError envelope across API clients
...
Prefer error_code when present and route projectMembers/freeformDoc/
taskRuns/chatSessions failures through the shared structured parser.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-18 03:02:06 +00:00
weichen and Cursor
3b4c9cfddf
test(web): add npm scripts for all e2e specs; retire redundant revision smoke
...
Eliminate DOCREV_E2E_BASE_URL dual gating by deleting the one-assert smoke
spec covered by document-revision-runtime UI-10, and expose per-spec scripts.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-18 03:02:06 +00:00
weichen and Cursor
a99e3f725f
test(server,app): delete dead resume-workspace test; clarify plan_owner redirect
...
Remove the skipped client work_dir resume coverage that targeted a deleted
entry point, and document why the real-PI stop-gate stays redirected to
internal/server to avoid an import cycle.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-18 03:02:06 +00:00
weichen and Cursor
c6e7656f8e
docs(ops): sync Wave 2 closeout checklist into dev lineage
...
Carry the done checklist and test-report link that lagged the Wave 2
merge tip so Wave 3 starts from a consistent ops state.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-18 02:59:03 +00:00
weichen
423f7e7413
merge: fix/wave2-config-flag-align
2026-09-18 02:29:07 +00:00
weichen and Cursor
24c0e5b16a
docs(ops): close Wave 2 config flag alignment (E-3/E-4/E-6/E-7/E-9)
...
Archive three-env compose/env smoke evidence, mark remediation Wave 2
done, and release the integration slot for Wave 3.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-18 02:29:07 +00:00
weichen and Cursor
8d97dd6b18
test(config): add compose flag declaration regression tests
...
Pin E-3/E-4/E-6 compose declarations so dead runner config and missing
flag wiring cannot silently regress.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-18 02:26:47 +00:00
weichen and Cursor
55a539c551
chore(infra): drop CURSOR_RUNNER_PORT from env examples
...
Placeholder cursor-agent service is gone; keep CURSOR_API_KEY/MODEL/BIN
for the local cursor-cli subprocess backend.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-18 02:26:47 +00:00
weichen and Cursor
e0aabecf59
fix(infra): declare MULTI_INTENT_PLAN_TIER and U9-U12 flags in all compose envs
...
Also declare SEMANTIC_SUMMARY_SHADOW and PI_CHANGE_REPORT_NARRATIVE on
test/main, remove dead CURSOR_RUNNER_URL/cursor-agent, and set main
SEED_DEMO_USERS=false. Defaults stay legacy/false (no behavior change).
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-18 02:26:47 +00:00
weichen and Cursor
07fc0ecf55
fix(intent): fail closed INTENT_V2_DECISION_TIER unknown values to none
...
Align illegal-tier fallback with PlanTier's conservative policy so
unrecognized values never silently enable V2 query routing.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-18 02:26:47 +00:00
weichen
e35f106162
merge: Wave 1 docs closeout
2026-09-17 17:08:12 +00:00
weichen and Cursor
c61963633e
docs(test): archive Wave 1 main env fix acceptance evidence
...
Close short-term task, mark remediation Wave 1 done, release integration
slot, and record main env=main / schema 52 / modes-off smoke evidence.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-17 17:08:12 +00:00
weichen
805aa1259f
merge: Wave 1 events secrets unblock
2026-09-17 17:06:24 +00:00
weichen and Cursor
fb4a4f263d
fix(infra): supply main events secrets so ENV=main can boot
...
validateProductionSecrets rejected events under ENV=main without
KB/admin passwords; depends_on events healthy then blocked app forever.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-17 17:06:24 +00:00
weichen
27ccd12116
merge: fix/wave1-main-env-fix
...
Wave 1: align main app/events ENV=main, app depends_on events healthy,
fail-closed empty-Env chat import.
2026-09-17 17:03:54 +00:00
weichen and Cursor
053bfe234b
docs(ops): occupy integration slot for Wave 1 main env merge
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-17 17:03:54 +00:00
weichen and Cursor
e286fca71b
fix(server): fail-closed chat import when Env is empty
...
Drop Env==\"\" as a dev alias; pin compose app/events ENV alignment and
main depends_on events with unit tests.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-17 17:03:08 +00:00
weichen and Cursor
db964da21a
fix(infra): align main app ENV with events and gate on events health
...
Set app ENV=main (was prod) and require events service_healthy before
app starts so goose migrations finish before app queries new columns.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-17 17:03:08 +00:00
weichen and Cursor
5ad2585ed7
docs(ops): claim Wave 1 main env fix branch
...
Register short-term task and CURRENT mutex=infra for E-1/E-2/E-5.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-17 17:03:08 +00:00
weichen
af0912b0b3
merge: Wave 0 SSE evidence asset
2026-09-17 16:49:48 +00:00
weichen and Cursor
7aca97e9b3
docs(test): store Wave 0 SSE evidence as txt (log gitignored)
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-17 16:49:48 +00:00
weichen
4bccedb4ad
merge: docs Wave 0 P0 closeout
2026-09-17 16:49:32 +00:00
weichen and Cursor
40a9c1b285
docs(test): archive Wave 0 P0 bug-fix acceptance evidence
...
Close short-term task, mark remediation Wave 0 done, release integration
slot, and attach real pi-agent SSE heartbeat log plus suite results.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-17 16:49:32 +00:00
weichen
810fb96e76
merge: fix/wave0-p0-sse-chat-cache-bugs
...
Wave 0 P0: SSE heartbeat/deadline, run/stream 400+pre-flush start,
chat window cache key/LRU, IndexedDB restore merge.
2026-09-17 16:43:01 +00:00
weichen and Cursor
2620d808c4
fix(web): unify chat window cache keys and merge IndexedDB restore
...
Pass userId on every saveSessionWindowCache write, LRU-evict full cache
keys, and applyRestoredFileRaw so mount restore cannot drop newer deliverables.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-17 16:42:56 +00:00
weichen and Cursor
54244ed97a
fix(server): extend SSE write deadline for chat and run/stream
...
Wire heartbeat + SetWriteDeadline into handleChatStream and
handleRunTaskStream; reject malformed run/stream JSON with 400; move
CreateAndStart/Subscribe before SSE Flush so failures stay JSON errors.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-17 16:42:56 +00:00
weichen and Cursor
64efaa32c8
docs(ops): register system health audit and claim Wave 0 fix branch
...
Archive the 2026-09-17 health-check audit/remediation and short-term Wave 0
task so P0 SSE/cache fixes can proceed under mutex chat+web.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-17 16:42:55 +00:00
weichen
dfa2d2d4bd
merge: chore/release-s1c-integration-slot
CI / go-vet-and-short-test (push) Failing after 0s
CI / backup-restore-drill (push) Failing after 0s
CI / web (push) Failing after 0s
2026-09-17 15:52:53 +00:00
weichen and Cursor
1dd1a8d23f
docs(ops): release integration slot after S1-continued smoke
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-17 15:52:53 +00:00
weichen
e58c707df6
merge: feature/rdev-template-depth-s1-continued
...
S1 continued: deepen remaining 46 rdev templates, lint 60/60, real-PI samples, instance_no fix.
2026-09-17 15:51:41 +00:00
weichen and Cursor
36261e9d13
docs(ops): claim merge slot and archive S1-continued short-term
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-17 15:51:30 +00:00
weichen and Cursor
9b35c1abd1
docs(test): archive S1-continued rdev template depth report and sync matrix
...
Record real-PI samples for review and verification templates, mark S1 continued done across writing-spec/backlog/FEATURE-MATRIX/CURRENT.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-17 15:51:09 +00:00
weichen and Cursor
12608c21ef
fix(projectinstance): allocate next instance_no for planning drafts
...
Avoid unique (project_id, instance_no) collisions when saving a new
workflow plan after a completed main instance.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-17 14:56:50 +00:00
weichen and Cursor
04243e64d8
feat(rdev-templates): deepen stage-10–13 transfer/validation templates (S1 batch 5)
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-17 14:37:19 +00:00
weichen and Cursor
7c50128bd1
feat(rdev-templates): deepen stage-08 verification templates (S1 batch 4)
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-17 14:37:18 +00:00
weichen and Cursor
05629721f0
feat(rdev-templates): deepen stage-06 software/inspection/list templates (S1 batch 3)
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-17 14:37:18 +00:00
weichen and Cursor
1692a57175
feat(rdev-templates): deepen stage-06 hardware/process templates (S1 batch 2)
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-17 14:37:18 +00:00
weichen and Cursor
8c37ac0cd5
feat(rdev-templates): deepen 6 review-record templates (S1 batch 1)
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-17 14:37:03 +00:00
weichen and Cursor
535eb442b5
docs(ops): add short-term for rdev-template-depth-s1-continued
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-17 14:34:45 +00:00
weichen and Cursor
b800f9adf9
docs(ops): claim rdev-template-depth-s1-continued and open short-term
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-17 14:34:34 +00:00
weichen
f8c4a61922
merge: chore/archive-proposal-http-task
CI / go-vet-and-short-test (push) Failing after 0s
CI / backup-restore-drill (push) Failing after 0s
CI / web (push) Failing after 0s
2026-09-17 14:12:13 +00:00
weichen and Cursor
51d6d53ede
docs(ops): archive proposal-http short-term after closeout
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-17 14:12:13 +00:00
weichen
21fb95458a
merge: chore/closeout-claim-cleanup
CI / go-vet-and-short-test (push) Failing after 1s
CI / backup-restore-drill (push) Failing after 0s
CI / web (push) Failing after 0s
2026-09-17 14:12:02 +00:00
weichen and Cursor
fc227f339c
docs(ops): clear closed feature worktree claims after closeout
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-17 14:12:02 +00:00
weichen and Cursor
dcc859ecb0
docs(test): archive proposal HTTP live evidence and release slot
...
CI / go-vet-and-short-test (push) Failing after 0s
CI / backup-restore-drill (push) Failing after 0s
CI / web (push) Failing after 0s
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-17 14:11:23 +00:00
weichen
1f2fcd0727
merge: feature/docgov-modification-proposal-http
2026-09-17 14:08:06 +00:00
weichen and Cursor
c89a58e026
docs(ops): occupy integration slot for proposal-http merge
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-17 14:08:02 +00:00
weichen and Cursor
d01694b556
docs(ops): record author-only pilot and proposal-http task claim
...
Archive CAS evidence for workflow.allow_author_only_approval on dev,
mark proposal HTTP audit resolved, and claim the feature branch in CURRENT.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-17 14:07:52 +00:00
weichen and Cursor
c0e7df5abf
feat(docgov): expose proposal HTTP and wire frontend decide flow
...
Add POST /api/v1/docgov/proposal for ProposeModification, harden decide
status mapping, and replace App pendingProposal local mock with real API calls.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-17 14:07:52 +00:00
weichen and Cursor
ba92a8b3a5
docs(status): note author-only merged to dev in FEATURE-MATRIX
...
CI / go-vet-and-short-test (push) Failing after 0s
CI / backup-restore-drill (push) Failing after 0s
CI / web (push) Failing after 0s
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-17 13:58:30 +00:00
weichen and Cursor
cbeefdb9ed
docs(ops): release integration slot after author-only merge smoke
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-17 13:58:19 +00:00
weichen and Cursor
09a9921e87
merge: feature/document-author-only-plan
...
Close out document author_only U1–U6 into dev (default policy off).
Resolved CURRENT claim table and bizdev service conflicts with rdev prior-doc injection.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-17 13:57:12 +00:00
weichen and Cursor
4f1bb1f02d
docs(ops): archive author-only U1–U6 and close remediation DoD
...
Move short-term tasks to archive, update MATRIX/INDEX/CURRENT, and hand off merge to dev.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-17 13:55:17 +00:00
weichen and Cursor
472f845a88
docs(test): track U6 API evidence as txt (logs gitignored)
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-17 13:49:12 +00:00
weichen and Cursor
7b09da1f99
docs(ops): close document-author-only U6 and note proposal HTTP gap
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-17 13:48:59 +00:00
weichen and Cursor
58b785e110
docs(test): add document-author-only U6 closed-loop report
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-17 13:48:59 +00:00
weichen and Cursor
cf7f55a1b9
test(web): cover author_only action visibility and docgov client shapes
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-17 13:48:59 +00:00
weichen and Cursor
916931f5d8
feat(web): surface duty_policy author_only badge end-to-end
...
Propagate summary.duty_policy into deliverables/AST and show 编制人兼任 on the action bar.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-17 13:48:59 +00:00
weichen and Cursor
b87fc5007f
feat(web): call real docgov lifecycle APIs from action handlers
...
Replace local lifecycleState mocks; add handleRejectApprove; use holdsDocDuty for chat shortcuts.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-17 13:48:59 +00:00
weichen and Cursor
aed7f3f9b5
fix(web): gate docgov actions by duty id, not folded role
...
author_only A/A/A users were stuck as author-only under resolveCurrentDocRole priority.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-17 13:48:59 +00:00