Commit Graph
431 Commits
Author SHA1 Message Date
weichenandCursor a288dcf0cc feat(docrevision): materialize first-gen agent report without fiction
Open an explicit empty baseline then create a deterministic candidate/report
so the first squad success is visible as fallback analysis, not OpenTemplate-only.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-13 09:27:07 +00:00
weichenandCursor 7f8331f893 fix(docrevision): harden empty docID, per-doc auth, and failed-save honesty
Stage generation without a real document must not panic or enter the ledger.
Unknown orphan IDs are denied, write paths check author/lease/lifecycle, PATCH
no longer returns a fake 200, and overlay matching survives client/server block id drift.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-13 09:02:54 +00:00
weichenandCursor 95f0ead131 docs(ops): record document-revision-runtime gate evidence and commits
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-13 08:48:54 +00:00
weichenandCursor fa615fee2a docs(test): add headless UI acceptance plan for document revision runtime
Separate browser-only real acceptance from engineering unit/build gates and record gate evidence on the short-term task.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-13 08:48:32 +00:00
weichenandCursor d79fdf6ffa feat(web): persist freeform block edits and apply overlay modes
Stop skipping freeform PATCH saves and decorate BlockRenderer for pure/manual/all revision views with clear empty states.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-13 08:48:32 +00:00
weichenandCursor 46a1fcc945 feat(api): authorize revision routes and project fact-source saves
Resolve controlled/freeform/orphan docs, bootstrap on GET, write output.md or freeform content on PATCH, and wire lineage impacts for agent candidates.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-13 08:48:32 +00:00
weichenandCursor ed1e232022 feat(docrevision): persist ledger in PostgreSQL with bootstrap
Hydrate/mutate against schema 00028, ensure first-access bootstrap, and build deterministic change reports instead of static fiction.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-13 08:48:32 +00:00
weichenandCursor 7ea686e6ba docs(docrev): audit runtime 404 and claim docgov remediation
Record in-memory ledger root cause, PG persistence plan, and CURRENT mutex claim on fix/document-revision-runtime.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-13 08:35:19 +00:00
weichen c6c22494f8 merge: docs/release-slot-docrev 2026-09-13 08:14:05 +00:00
weichen 41bbc4049c docs(ops): release integration slot and record dev schema 28 healthy 2026-09-13 08:14:02 +00:00
weichen 17fc510c2c merge: feature/document-revision-management 2026-09-13 08:12:33 +00:00
weichen 501cde7c12 docs(ops): occupy integration slot for document revision merge 2026-09-13 08:12:27 +00:00
weichen 5e1a7e6584 fix(web): pass bearer auth in document revision api and fix ts unused imports 2026-09-13 08:12:19 +00:00
weichenandCursor 4f5bde899a docs(test): archive DOCREV waves and record unit evidence
Update CURRENT/FEATURE-MATRIX, archive short-term tasks, and add
document-revision management test report for Wave 0–6 delivery.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-13 06:15:20 +00:00
weichenandCursor 9aafe7bd37 feat(web): persist block edits via revision API and compare UI
Remove hardcoded editor actor, add revision toolbar/history/compare
panels, conflict banner, and notification status actions.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-13 06:15:20 +00:00
weichenandCursor 7a7162dcee feat(api): wire document revision HTTP and agent/freeform hooks
Expose revision-state/versions/diff/PATCH content/candidate decision
APIs; emit document notification outbox events; bootstrap ledger from
bizdev success and freeform updates.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-13 06:15:20 +00:00
weichenandCursor 268a9bdb56 feat(service): implement docrevision Version/Revision kernel
Add canonicalize, stable block map, diff, risk floor, memory ledger
service, contract fixtures, concurrency tests, and backfill CLI.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-13 06:15:20 +00:00
weichenandCursor 7bbd6783fc feat(db): add document revision ledger schema 00028
Introduce immutable blobs/snapshots, versions, events, candidates,
change reports, and ledger_* root pointers; rename freeform
current_version_id to legacy_version_id.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-13 06:15:20 +00:00
weichenandCursor 7778559201 docs(docrev): freeze version boundary ADR and Wave 0 task
Accept DOCREV decision gates, archive design short-term, and mark
FEATURE-MATRIX partial as implementation starts on feature branch.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-13 05:58:49 +00:00
weichen e372a1467c merge: finalize conversation intent state verification 2026-09-13 04:47:33 +00:00
weichen a676bd0b95 docs(test): record final conversation state smoke 2026-09-13 04:47:29 +00:00
weichen 5bc333b1aa merge: busy preflight without failed runs 2026-09-13 04:44:03 +00:00
weichen 357fcc79ee docs(ops): occupy slot for busy preflight 2026-09-13 04:43:58 +00:00
weichen 6ab8b52113 fix(taskrun): reject busy documents before run creation 2026-09-13 04:43:50 +00:00
weichen 2660260758 merge: fixture cleanup evidence 2026-09-13 04:38:01 +00:00
weichen f17781adb6 docs(test): record fixture workspace cleanup 2026-09-13 04:37:57 +00:00
weichen a7c073d85c merge: release chat integration slot 2026-09-13 04:36:32 +00:00
weichen 06dacc9956 docs(ops): release chat integration slot 2026-09-13 04:36:25 +00:00
weichen 1cd2e681ed merge: truthful integration rebuild command 2026-09-13 04:35:58 +00:00
weichen 0225906f3f fix(ops): rebuild images for integration smoke 2026-09-13 04:35:52 +00:00
weichen e0f07060b9 merge: readonly summary HTTP coverage 2026-09-13 04:29:22 +00:00
weichen deaec82a7c test(chat): cover readonly summary HTTP path 2026-09-13 04:29:17 +00:00
weichen d7a19d4786 merge: authorized readonly document summary 2026-09-13 04:27:16 +00:00
weichen a830d9dcc1 docs(ops): occupy slot for summary integration 2026-09-13 04:27:10 +00:00
weichen cd506d8cc7 fix(chat): add authorized readonly document summaries 2026-09-13 04:27:01 +00:00
weichen 55639b3d26 merge: release chat integration slot 2026-09-13 04:20:02 +00:00
weichen efe630d033 docs(ops): record dev smoke and release slot 2026-09-13 04:19:58 +00:00
weichen ef61e77192 merge: fix/conversation-intent-state 2026-09-13 03:51:55 +00:00
weichen 30ace0234b docs(ops): occupy integration slot for chat fixes 2026-09-13 03:51:45 +00:00
weichen 95ab2badf6 fix(chat): preserve intent and task runtime state 2026-09-13 03:51:18 +00:00
weichenandCursor 995e099026 fix(web): use fatal error class for auth-related chat errors
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-13 03:33:34 +00:00
weichenandCursor 38e2e32807 fix(web): satisfy chatRetry task auto-retry type check in docker build
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-13 03:32:57 +00:00
weichenandCursor 3e242e6d36 fix(docgov): reclaim orphan squad leases and align run_id
Use task run_id as doc lease holder so release tracks execution, and reclaim squad locks when the holder run is missing or no longer running.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-13 03:32:20 +00:00
weichenandCursor 0c5256c60c fix(web): bind task API to resolved intake key when URS-only pool
When deliverables only expose user_requirements templates, requirement phrases still must POST intake on V0.1. Re-resolve task_key on retry and skip auto-retry for stage gate errors.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-13 03:30:13 +00:00
weichenandCursor d08cbdc2de fix(web): route 初始需求 to intake and map stage 403 errors
Debug logs showed task runs used user_requirements on V0.1 while the active stage only allows intake. Prefer intake for 初始需求/摸底 phrasing and surface DOC_TASK_NOT_IN_ACTIVE_STAGE instead of SESSION_FORBIDDEN.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-13 03:28:36 +00:00
weichenandCursor 3afd606635 fix(web): resolve project id from session id for task runs
Task template messages were posting to project_id=1 when local session cache lacked projectId, causing 403 on POST /api/v1/tasks/runs. Parse sess-p{id}-u{user} encoding as fallback and surface HTTP status on task failures.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-13 03:23:53 +00:00
weichenandCursor 8032dce435 fix(chat): rebuild path and clarify stream auth errors
Rebuild dev backend so message visibility uses scope-aware filtering instead of dropping messages without stage_key. Map HTTP 401/403 on chat stream to actionable auth errors instead of generic NETWORK_ERROR.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-13 03:20:38 +00:00
weichenandCursor e0721a7944 fix(web): add favicon assets to stop /favicon.ico 404
Add public favicon.svg and favicon.ico and link them from index.html
so browsers stop requesting a missing root icon on refresh.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-13 03:14:22 +00:00
weichenandCursor 2636542418 fix(web): repair duplicate else in useChatWindow loadInitialWindow
Remove a stray else branch left from the refresh-state refactor that
broke Vite/esbuild parsing on page reload.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-13 03:07:51 +00:00
weichenandCursor dca83f0dea docs(chat): archive refresh remediation test report and close gap
Update gap-matrix CHAT-HISTORY-REFRESH to PASS, sync CURRENT and
short-term checklist with implementation evidence.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-13 03:06:11 +00:00