Commit Graph
1590 Commits
Author SHA1 Message Date
weichenandCursor 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
weichenandCursor 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
weichenandCursor 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
weichenandCursor 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
weichenandCursor 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
weichenandCursor 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
weichenandCursor 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
weichenandCursor 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
weichenandCursor 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
weichenandCursor 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
weichenandCursor 5ba9bbbe11 feat(coordinator): smart confirm gate before TRIGGER_TASK execution
Ask via PendingExpectation for weak-write verbs, mid confidence, or
stage-mismatched doc tasks instead of running blindly.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-21 08:27:49 +00:00
weichenandCursor f8abd1a5cc feat(intent): stage-aware requirements routing with weak write verbs
Map early-stage "整理一下需求" style phrases to intake with needs_confirmation,
and stop RDev "用户需求" from hijacking main-flow "编写用户需求表".

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-21 08:27:49 +00:00
weichenandCursor 49fb68fec1 docs(test): record TaskRunCard persistence acceptance on real PI
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-21 08:25:24 +00:00
weichen 82fb0fcaf0 merge: docs/intent-workflow-archive-short-term 2026-09-21 08:25:02 +00:00
weichenandCursor 82ef1c28c2 docs(ops): archive completed intent workflow scoping short-term task
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-21 08:25:02 +00:00
weichen 22cd7be1f6 merge: docs/intent-workflow-slot-queue-cleanup 2026-09-21 08:24:48 +00:00
weichenandCursor 835385f6cf docs(ops): clear intent workflow docs closeout from integration queue
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-21 08:24:48 +00:00
weichen 11d2262596 merge: docs/intent-workflow-scoping-report-2026-09-21 2026-09-21 08:24:35 +00:00
weichenandCursor ffd00e70ed docs(test): archive intent workflow scoping acceptance report
Record live chat/API evidence for active-workflow slot scoping and close the short-term claim.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-21 08:24:26 +00:00
weichen 9798b13005 merge: feature/taskrun-status-card-2026-09-21 2026-09-21 08:15:28 +00:00
weichenandCursor 9c0f780954 docs(ops): hold the integration slot for taskrun status card
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-21 08:15:28 +00:00
weichenandCursor 5f201254d8 fix(web): loosen TaskRunCard title helper input type for tests
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-21 08:15:10 +00:00
weichenandCursor ae1e2475f3 feat(web): restore TaskRunCard from phase snapshot on refresh
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-21 08:15:10 +00:00
weichenandCursor 32209c5e1b feat(taskrun): persist phase snapshot into assistant message metadata
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-21 08:15:10 +00:00
weichenandCursor 194e410822 feat(web): wire TaskRunCard into message stream and capture duration
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-21 08:15:10 +00:00
weichenandCursor 22314ff9b0 feat(web): add TaskRunCard vertical timeline for task runs
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-21 08:15:10 +00:00
weichen b376fd8383 docs(ops): claim taskrun status card feature branch 2026-09-21 08:15:10 +00:00
weichenandCursor e0665ca446 merge: fix/intent-workflow-scoping-2026-09-21
Scope intent slot filling and document matching to the active workflow;
cross-workflow mentions are blocked with switch guidance.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-21 08:11:27 +00:00
weichenandCursor d0b9ac4247 docs(ops): hold the integration slot for intent workflow scoping
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-21 08:10:15 +00:00
weichenandCursor 0b1040ca7e feat(web): scope template matching to the active workflow
- Document list returns workflow_key per item and active_workflow_key
- DeliverableItem keeps workflowKey through server sync
- resolveTaskTemplateForMessage filters the match pool and blocks
  cross-workflow mentions with switch guidance

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-21 08:09:36 +00:00
weichen 83e22a701f merge: adopt agent worktree governance (adoption) 2026-09-21 08:09:13 +00:00
weichen 048bbe4a5e docs(workflow): require isolated worktrees for all new agent changes
Adopt the approved workflow with explicit dev baselines, serialized candidate integration, scoped validation and safe cleanup. Keep automation work tracked separately from the active policy.
2026-09-21 08:08:14 +00:00
weichenandCursor 0912efdbd9 feat(coordinator+server): narrow document match pool to active workflow
- ActiveWorkflowScope resolves live instance task keys for the project
- chat document reader matches inside the active pool; cross-flow hits
  return ErrWrongWorkflow with switch guidance
- enrichSessionWorkflowStage injects ActiveWorkflowKey into UserCtx
- TRIGGER_TASK (coordinator + task-run API) blocks out-of-scope task keys

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-21 08:05:44 +00:00
weichen 6e28c57245 docs(workflow): plan isolated agent development and serialized integration 2026-09-21 07:59:40 +00:00
weichenandCursor 5c6b4f7719 feat(intent): scope slot filling to the active workflow
- ContextSnapshot gains ActiveWorkflowKey; ToSnapshot passes it downstream
- manifest-backed doc-title -> workflow index (main/pm/tm/rdev/sw)
- TRIGGER_TASK and DOCGOV write actions blocked with switch guidance when
  the named document belongs to another active workflow
- legacy projects without an active workflow key keep the old behavior

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-21 07:38:49 +00:00
weichenandCursor fc432d8726 docs(ops): claim intent workflow scoping on a fix branch
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-21 06:52:30 +00:00
weichen 15b8a4a87d merge: docs for workflow document key unification 2026-09-21 06:48:58 +00:00
weichenandCursor 954da76c0a docs(test): record workflow document key unification on dev
项目 6579 已收成 7 条 bd_*,旧 intake 行进了归档表。管理员复测不再出现作用域 409。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-21 06:48:37 +00:00
weichenandCursor 5f14931e7b merge: fix/workflow-doc-key-unification-2026-09-21
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-21 06:38:25 +00:00
weichenandCursor 2ec5856284 docs(ops): hold the dev integration slot for document key unification
合入 dev 和容器重建期间占住集成槽,避免并行改同一套 dev 容器。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-21 06:37:43 +00:00
weichenandCursor 50c19aaee9 test(docgov): cover canonical task key collapse for project documents
锁定「7 份旧键本地克隆加 8 行服务端」收成 7 条 bd_*,以及列表与物化不再留下 intake 兄弟行。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-21 06:37:10 +00:00
weichenandCursor 51d4390bd6 fix(docgov): collapse legacy and published task keys in the document list
列表只返回发布键那一行;物化时若旧键行已在,就不再插入兄弟行,避免撞上唯一索引。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-21 06:37:10 +00:00
weichenandCursor baca45ab9c fix(web): merge workflow documents by canonical task key
本地旧键模板与服务端 bd_* 行按同一发布键合并,未认领的旧键克隆在服务端已覆盖时丢掉。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-21 06:37:10 +00:00
weichenandCursor 7bb46d9ec8 fix(db): archive coexisting legacy document task keys
正式台账 doc_proj* 上,旧键与发布键不能再并存。孤立旧键和 doc_test_db 测试残留不动,项目 143 无重复行所以不会被改写。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-21 06:37:10 +00:00
weichenandCursor 493c03c449 docs(ops): claim workflow document key unification
项目 6579 的旧键与发布键被重复计数。先登记任务与 mutex,再改迁移和列表合并。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-21 06:37:10 +00:00
weichen 9e96a66646 merge: fix/dev-deep-test-four-issues-2026-09-21 2026-09-21 06:31:33 +00:00
weichenandCursor 0a5a8455b5 docs(test): record the four dev deep-test fixes
The dev container was rebuilt and the health check, task-run errors, and new UI strings are filed with the report.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-21 06:31:27 +00:00
weichenandCursor 11d6bc1511 fix(web): type the history lookup used by task resume
The chat window hook only exposed refresh helpers, so the continue path did not type-check after it started reading history bubbles.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-21 06:29:10 +00:00
weichenandCursor bdd4b970d4 fix(web): label unfinished template documents as preview
Template bodies were read-only, but the status chip said 编制中 and the lock banner said the document was already controlled.

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