Commit Graph
1596 Commits
Author SHA1 Message Date
weichen 022b914c66 feat(agentx): jail workspace tools and audit hooks
Keep read, write, edit, list, and grep inside the workspace root, including symlink targets, and let hooks block or rewrite a call.
2026-09-21 14:49:13 +00:00
weichenandCursor b49b95dc7a feat(agentx): add OpenAI-compatible streaming LLM client
Parse MiniMax-style SSE deltas, including incremental tool calls, and encode transport failures on the event stream instead of panicking.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-21 14:43:32 +00:00
weichenandCursor 6dc5f1cfa6 docs(ops): claim go-agentx runtime worktree
Register the pi-native coexistence task against the explicit dev baseline so later commits stay on the feature branch.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-21 14:40:13 +00:00
weichen a5ea469ca4 merge: feature/force-material-chunk-index-2026-09-21 (confirm 535 and chunk index docs) 2026-09-21 13:57:10 +00:00
weichenandCursor 06b9278996 docs(test): 记录候选 535 确认与全量切块验收
项目 6579 的正式正文已换成真实解析内容,冲击波 PDF 写入 90 条带向量的切块,小文档仍全文注入。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-21 13:56:57 +00:00
weichen a16a661968 merge: feature/force-material-chunk-index-2026-09-21 2026-09-21 13:47:21 +00:00
weichenandCursor 1fb59e12ef feat(bizdev): 成功解析的材料一律写入 material_chunks
大小阈值只决定全文注入还是目录加检索片段,不再决定是否切块。上传后的异步解析同样跳过 60KB 门槛。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-21 13:40:39 +00:00
weichenandCursor a241e83815 docs(ops): 状态卡二轮任务收口记录(已合入 dev + cleanup_pending)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-21 12:04:01 +00:00
weichen ab45cad414 Merge commit 'a3f05346' into feature/taskrun-status-card-2026-09-21
Co-authored-by: Cursor <cursoragent@cursor.com>

# Conflicts:
#	.doc/ops/CURRENT.md
2026-09-21 11:56:09 +00:00
weichenandCursor 82e912986e docs(test): 状态卡 label 冻结二轮修复真实 PI 验收报告与证据
- test-report 追加 §8:根因取证、三层修复、dev 回填实测(4424/4508)、
  真实 PI 前向路径验收(消息 4548 免回填直接落归一化 label)、
  刷新窗口恢复断言、部署制品核验;一次性会话已撤销
- assets 归档 round2 证据:real-task / message-4548-snapshot /
  window-round2 / bundle-markers-round2 / forward-verify
- CURRENT 集成槽位释放为 idle(taskrun-status-card label 修复已合入 dev)

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-21 11:48:33 +00:00
weichenandCursor a3f05346e8 merge: feature/mineru-doc-parsing-2026-09-21 (second-round docs)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-21 11:46:00 +00:00
weichenandCursor 888f41090e docs(test): second-round root causes for real PDF failure
Record the dev data-mount drift (worktree env-service violation) and the
Agent API 20-page limit as the two combined root causes, with the
chunked real-28-page-PDF workspace evidence. Retract the first-round
acceptance verdict.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-21 11:36:49 +00:00
weichen 4b30324754 merge: dev@362b68a0 (mineru page_range) into feature/taskrun-status-card-2026-09-21 2026-09-21 11:13:40 +00:00
weichenandCursor c026ad7160 test(mineru): dump parsed markdown for live content proof
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-21 11:10:42 +00:00
weichenandCursor 362b68a0a7 merge: feature/mineru-doc-parsing-2026-09-21 (agent page_range chunking)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-21 11:09:52 +00:00
weichenandCursor 930776438a docs(ops): 占用集成槽位(taskrun-status-card label 修复合入 + dev 验收)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-21 11:02:12 +00:00
weichenandCursor b5b1e7798c docs(ops): 记录状态卡 label 冻结二轮修复与回填证据
- short-term 任务文追加"收口后 label 冻结"根因、三层修复与验收项
- assets 归档 dev 回填前/后取样与执行输出(backfill-before/after/run.txt)

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-21 11:00:05 +00:00
weichen b68e1f6412 merge: dev@5c3261c6 into feature/taskrun-status-card-2026-09-21 2026-09-21 10:33:21 +00:00
weichenandCursor 837ac3e466 chore(ops): 历史 task_phase_snapshot 冻结 label 一次性回填脚本
扫描 chat_messages.metadata.task_phase_snapshot,对 completed 步骤复用
taskrun.NormalizeSettledStep 归一化 label(幂等,可重复执行)。
支持 -dry-run 与 -id 定位;仅面向当前环境 DB(默认 ContextDSN)。
dev 实测:4424/4508 两条修复,二次 dry-run 为 0。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-21 10:32:57 +00:00
weichenandCursor 725cad3d25 fix(web): 任务状态卡收口与渲染层归一化冻结进度文案
与后端 fix(taskrun) 对称:

- phaseEventMapper.settleStep:applyPhaseEvent 收口分支(CLOSE_PHASES、
  新 phase 结算前序、existing 条目刷新)把 completed 条目 label 归一化为
  短标签 + "已完成",保留"(第 x/y 步)"结构后缀;failed 有意保留原文案。
  导出 PHASE_META 供展示层复用。
- lib/taskRunCard.displayStepLabel:渲染层兜底清洗历史脏快照(如 #4424),
  回填失败/漏跑时前端仍正确展示。
- 更新 phaseEventMapper.test.ts 中两处此前把 bug 钉死为预期的断言;
  TaskRunCard.test.ts 新增复现 #4424 展示层兜底用例。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-21 10:32:57 +00:00
weichenandCursor 561709178a fix(taskrun): 收口 completed 步骤时归一化冻结的进度中 label
步骤从 running 收口为 completed 时,此前只翻转 Status,Label 永久冻结为
上游下发的"正在…(NN%)"进度中叙述,导致卡片即便步骤已完成仍读起来像还在跑
(缺陷见消息 #4424)。

新增导出函数 NormalizeSettledStep:completed 步骤改写为短标签 + "已完成",
保留"(第 x/y 步)"结构后缀以区分多步任务,原始叙述留在 Detail 供审计;
failed/pending/running 有意不改(失败细节由错误气泡承载)。
接入 applyPhasePayload 三处收口分支、existing-step 刷新分支,
以及 BuildPhaseSnapshot 终态收口 + 存量兜底全量归一化。

导出供回填脚本复用,避免逻辑漂移。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-21 10:32:38 +00:00
weichen 5c3261c6d8 docs(ops): summarize upload-parse-ux closeout in CURRENT focus 2026-09-21 10:22:51 +00:00
weichen a0464eb560 merge: upload-parse-ux task closeout docs 2026-09-21 10:17:43 +00:00
weichenandCursor fe76a9d683 docs(ops): close out upload parse ux task
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-21 10:17:16 +00:00
weichen 74587ccff3 merge: docs e2e evidence for upload-parse-ux 2026-09-21 10:12:22 +00:00
weichenandCursor 7d1f58b681 docs(test): record dev E2E for parse polling, dedup hint and CoW
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-21 10:11:15 +00:00
weichenandCursor db76a28689 feat(mineru): chunk Agent parse by page_range past 20-page cap
The free Agent lightweight API rejects files over 20 pages (-30003)
and the precision token is expired, so a real 28-page PDF could not
parse at all. On -30003, parse in 20-page windows and renumber chunk
anchors to global pages; report engine mode agent_chunked.

Also log skipped assets in ResolveMaterials and return a bool from
EnqueueAsync so parse_state is only set when a job is enqueued.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-21 10:11:08 +00:00
weichen 9990557145 merge: feature/upload-parse-ux-2026-09-21 2026-09-21 09:52:56 +00:00
weichenandCursor 97bf63348b docs(test): upload parse ux dedup acceptance report (unit+integration)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-21 09:50:24 +00:00
weichenandCursor e30db81b9d docs(audit): document storage CoW status and dedup visibility
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-21 09:48:32 +00:00
weichenandCursor 694f9b7ecf feat(web): poll parse state, surface dedup hint and reparse action
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-21 09:47:06 +00:00
weichenandCursor b867f4f19c test: cover dedup hint, reparse guard, store gate and CoW contract
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-21 09:47:06 +00:00
weichenandCursor 5f9fbb9923 fix(server): gate parse enqueue to store-backed pipeline
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-21 09:47:06 +00:00
weichen a57cdae697 merge: workflow-scope-weighting acceptance report 2026-09-21 09:45:13 +00:00
weichenandCursor 3bde2634ba docs(test): record workflow scope weighting acceptance
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-21 09:44:50 +00:00
weichen 7723a55159 merge: workflow-scope-weighting template read fix 2026-09-21 09:37:51 +00:00
weichenandCursor 0272d13574 fix(server): treat a template-only ledger as a readable in-scope document
A missing ledger body was reported as not found, so an in-scope view of a template document never reached the template reply.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-21 09:37:39 +00:00
weichen 14b5aace47 merge: feature/workflow-scope-weighting-2026-09-21 2026-09-21 09:31:12 +00:00
weichenandCursor 776e069e2f docs(ops): mark the integration slot for workflow scope weighting
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-21 09:30:31 +00:00
weichenandCursor 8b84ee4ecf chore(config): declare WORKFLOW_SCOPE_MODE with a strict default
The flag reaches all three compose app services and the sysadmin catalog, and unknown values stay on the existing hard block.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-21 09:26:03 +00:00
weichenandCursor 4af4a9de13 fix(intent): keep draft requests that end in 看看 on the write path
「出一版…看看」是写完给看,不是只读查看;查看和读取仍走只读作用域裁决。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-21 09:26:03 +00:00
weichenandCursor fd4b95030f feat(web): score write-path matches by workflow relation
The document list now reports WORKFLOW_SCOPE_MODE, and weighted mode only blocks a cross-workflow write when that title outscores the active workflow.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-21 09:22:13 +00:00
weichenandCursor 63f94ff23b feat(server): expose dedup hint, parse error and reparse endpoint
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-21 09:18:20 +00:00
weichenandCursor 0972900215 feat(intent): score slot filling against the active workflow
Weighted mode keeps an in-scope document when a cross-workflow name is only mentioned beside it, while exact cross-workflow writes stay blocked and exact reads record the owning workflow.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-21 09:15:51 +00:00
weichenandCursor 976f8d30b8 feat(server): allow weighted cross-workflow reads after a view check
Exact out-of-workflow documents can be summarized when WORKFLOW_SCOPE_MODE=weighted and the caller can still view the active instance; writes stay blocked.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-21 09:11:47 +00:00
weichenandCursor 31dde45b72 docs(ops): register upload parse ux dedup task
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-21 09:10:55 +00:00
weichenandCursor fac5704303 feat(workflowscope): score document hits by workflow relation weight
Keep WORKFLOW_SCOPE_MODE=strict as the default so cross-workflow mentions stay blocked until weighted mode is turned on.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-21 09:07:50 +00:00
weichenandCursor 0bf4977d27 docs(ops): claim workflow scope weighting on a feature branch
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-21 09:07:50 +00:00
weichenandCursor 10aee3feb4 merge: docs for intent-confirm real PI acceptance
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-21 08:48:28 +00:00
weichenandCursor e400909a3a docs(test): record real PI acceptance for intent confirm stage-aware
Capture 陈威 project 6579 chat evidence: weak-verb confirm card, affirm
execution (~3m), option-2 no task, and strong-path direct TRIGGER_TASK.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-21 08:47:26 +00:00