weichen and Cursor
930776438a
docs(ops): 占用集成槽位(taskrun-status-card label 修复合入 + dev 验收)
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-21 11:02:12 +00:00
weichen and Cursor
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
weichen and Cursor
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
weichen and Cursor
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
weichen and Cursor
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
weichen and Cursor
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
weichen and Cursor
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
weichen
9990557145
merge: feature/upload-parse-ux-2026-09-21
2026-09-21 09:52:56 +00:00
weichen and Cursor
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
weichen and Cursor
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
weichen and Cursor
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
weichen and Cursor
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
weichen and Cursor
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
weichen and Cursor
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
weichen and Cursor
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
weichen and Cursor
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
weichen and Cursor
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
weichen and Cursor
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
weichen and Cursor
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
weichen and Cursor
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
weichen and Cursor
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
weichen and Cursor
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
weichen and Cursor
31dde45b72
docs(ops): register upload parse ux dedup task
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-21 09:10:55 +00:00
weichen and Cursor
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
weichen and Cursor
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
weichen and Cursor
10aee3feb4
merge: docs for intent-confirm real PI acceptance
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-21 08:48:28 +00:00
weichen and Cursor
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
weichen and Cursor
b90259b9fc
docs(test): accept MinerU parsing on soft-dev with Agent fallback
...
Upload demo PDF reached parse_state=done; schema 61; release
integration slot. Precision token remains expired by design for this run.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-21 08:42:53 +00:00
weichen and Cursor
7f150831bb
merge: feature/mineru-doc-parsing-2026-09-21
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-21 08:37:12 +00:00
weichen and Cursor
2c6b41a5ac
feat(mineru): fall back to Agent lightweight API on token failure
...
When precision API key is missing or expired (A0202/A0211), parse
via the no-token Agent API so document understanding still works.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-21 08:36:24 +00:00
weichen and Cursor
67574df45b
docs(test): close out intent confirm stage-aware after deploy verify
...
Archive the short-term task, mark CURRENT done, and attach rebuild
evidence from the correct dev tree no-cache image.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-21 08:34:22 +00:00
weichen and Cursor
ca21d66b29
docs(ops): freeze mineru task head_sha
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-21 08:30:01 +00:00
weichen and Cursor
29dfae6b40
docs(test): record MinerU parsing implementation and live blocker
...
Claim CURRENT mutex, archive short-term task, and document unit PASS
plus live A0211 token-expired blocker.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-21 08:29:10 +00:00
weichen and Cursor
983b785cd6
feat(config): wire MinerU and material RAG settings
...
Add MINERU_* / MATERIAL_* to config loader, .env.example, and
compose env passthrough. Secrets stay in local .env only.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-21 08:29:10 +00:00
weichen and Cursor
79c4c7c496
feat(api): enqueue material parse on upload and expose parse_state
...
Async-trigger MinerU after CAS store and surface parse status in
assets API plus a lightweight preview badge.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-21 08:29:10 +00:00
weichen and Cursor
9ee890950a
feat(bizdev): hybrid material injection and real CAS embedder
...
Prefer MinerU markdown, inject fulltext or toc+rag for large docs,
and wire kb.Embedder into CAS instead of nil.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-21 08:29:10 +00:00
weichen and Cursor
18c727bb9f
feat(materialindex): parse pipeline with chunk embed and RAG search
...
EnsureParsed waits or lazily triggers MinerU, indexes oversized
markdown into material_chunks, and supports reranked retrieval.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-21 08:29:10 +00:00
weichen and Cursor
32cda4486c
feat(mineru): add MinerU precision parse client
...
Implement signed batch upload, poll, zip extract, and real page
anchor rebuild from content_list.json.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-21 08:29:10 +00:00
weichen and Cursor
1e482023b6
feat(db): add asset_parses and material_chunks tables
...
Cache MinerU parse results by blob hash and store project-scoped
chunk embeddings for large uploaded materials.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-21 08:29:10 +00:00
weichen
0c40190449
merge: fix/intent-confirm-stage-aware-2026-09-21
...
Stage-aware requirements routing with smart confirm gate and chat degrade.
2026-09-21 08:28:56 +00:00
weichen and Cursor
5a0e5e7001
docs(test): record intent confirm and stage-aware acceptance
...
Update short-term/CURRENT claim for the extension branch and archive
unit/web evidence pending live rebuild after merge.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-21 08:28:28 +00:00
weichen and Cursor
6bb2f72507
test(coordinator): cover weak-requirements confirm then affirm path
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-21 08:27:49 +00:00
weichen and Cursor
568408cced
feat(web): degrade stage-blocked task runs to chat confirmation
...
Keep weak write verbs off the task shortcut path, and once-only fall back
to chat when TASK_SCOPE_UNRESOLVED or DOC_TASK_NOT_IN_ACTIVE_STAGE.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-21 08:27:49 +00:00