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