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