Commit Graph
656 Commits
Author SHA1 Message Date
weichenandCursor e9d57ea772 feat(arch): add contracts skeleton and warn-mode arch-check
Give later waves a measurable import/table/path baseline without changing business behavior or occupying the integration slot.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-14 13:00:32 +00:00
weichenandCursor 241bfccc1e docs(adr): accept modular monolith decoupling architecture
Record the contract-first, single-writer design so Wave 0 has an accepted boundary to implement against.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-14 13:00:29 +00:00
weichenandCursor f2a7fa94d2 docs(workflow): record frozen plan 409 and optional-duty governance docs
Keep the audit, remediation, and MVP rule review with the short-term tasks so later waves do not rediscover the 409 root cause.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-14 13:00:26 +00:00
weichenandCursor ea3eeadb77 chore(ops): remove Herdr agent roles and dispatch scripts
Drop live roster/policy and herdr-agent start/dispatch helpers so collaboration follows AGENTS worktree/mutex only; archive prior governance evidence.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-14 05:22:04 +00:00
weichen c5810cd907 merge: fix/controlled-content-ui-acceptance-closeout 2026-09-14 04:03:46 +00:00
weichen 6ef80acf8d docs(docgov): reconcile remediation status with UI evidence 2026-09-14 04:03:39 +00:00
weichen ba67c467c4 docs(docgov): close controlled content UI remediation 2026-09-14 04:03:33 +00:00
weichen 81b75b3546 merge: fix/controlled-content-ui-acceptance 2026-09-14 04:01:23 +00:00
weichen 43460ae9ed docs(test-report): align UI acceptance report and checklists with exact results SSOT 2026-09-14 04:00:36 +00:00
weichen fbd8fe469f docs(test-report): complete full-chain post-restart UI acceptance 2026-09-14 03:54:53 +00:00
weichen 36c40f6a86 docs(test-report): record full-chain-final main phase complete pass 2026-09-14 03:50:38 +00:00
weichen 097ba8f457 merge: dev (08bf615 cache race fix) 2026-09-14 03:36:17 +00:00
weichen 36e4bc3001 merge: fix/controlled-content-canonical-hash cache-race 2026-09-14 03:34:41 +00:00
weichenandCursor 08bf615f95 fix(web): keep hydrated content across late list sync
Hard refresh wiped cache/ready after a successful hydrate, then the
unchanged fingerprint never re-ran the effect. Invalidate only via a
planner that preserves list-sync hits and re-hydrates after post-task drops.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-14 03:33:37 +00:00
weichen 2907c5025d test(docgov): record controlled content UI acceptance and UI-06 cache race diagnosis 2026-09-14 03:33:33 +00:00
weichen 9098069aee merge: dev (f693e1c stop hydrating local legacy mock documents) 2026-09-14 02:59:52 +00:00
weichen d0e8f60915 merge: fix/controlled-content-canonical-hash follow-up 2026-09-14 02:57:20 +00:00
weichenandCursor f693e1c474 fix(web): stop hydrating local legacy mock documents
Login-seeded doc-001 is not server-backed; align shouldLoad with
revisionToolbarMountMode so content and revision-state are never requested.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-14 02:56:35 +00:00
weichen 46e275db98 docs(test): define browser-only acceptance checklist 2026-09-14 02:39:20 +00:00
weichen 6f07dfcab6 docs(test): claim controlled content UI acceptance 2026-09-14 02:35:20 +00:00
weichen 84fdd7d0bf merge: fix/controlled-content-canonical-hash 2026-09-14 02:31:34 +00:00
weichen 8b47451b90 docs(ops): occupy integration slot for content repair 2026-09-14 02:31:25 +00:00
weichenandCursor e3b72ad64b fix(cli): require positive live-dev identity and exclusive backups
Live apply now accepts only :5433/agent_system_dev plus a data/dev
host root, maps stored work dirs fail-closed, and reports unique
O_EXCL backups after a parent-directory fsync.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-14 02:30:11 +00:00
weichenandCursor 96fd0e9e6f fix(docgov): persist exclusive old-head backups with dir fsync
Apply now writes the destructive old head markdown beside the original
file, refuses to clobber existing backups, and fsyncs the parent
directory after the atomic persist.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-14 02:24:49 +00:00
weichenandCursor 50576a2ec5 docs(docgov): record review-blocker fixes and isolated PG gap
W7 must live-apply project 143 before UI acceptance. Isolated
TEST_DATABASE_URL was unavailable; shared env databases were not used.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-14 02:21:57 +00:00
weichenandCursor 838864f3b2 fix(cli): add gated live-dev reconcile mode and path mapping
Default still refuses shared DSN/paths. Apply to dev requires --live,
--environment dev, a single --doc-id, and confirm REPAIR_SINGLE_DEV_DOC.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-14 02:21:56 +00:00
weichenandCursor 8892290bf7 fix(docgov): keep repair revision numbers and refuse drifted heads
migration_repair is not a human revision. HashUpdater now loads from DB
and retries still sync. Content reads return a structured drift conflict
instead of the destructive old head.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-14 02:21:50 +00:00
weichenandCursor e7b46e92d2 feat(db): allow migration_repair snapshot and event kinds
00028 check constraints would reject a real PG apply. Add goose 00032
with Up/Down so repair snapshots can persist.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-14 02:21:44 +00:00
weichenandCursor c159786a70 fix(docgov): keep markdown hard-breaks and unify content hashes
Semantic-preserving canonicalization, same-byte write paths, structured
content errors, and a dry-run-default migration_repair stop 404s caused
by trimming project-143 hard-breaks and no-op lease hydrations.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-14 02:02:53 +00:00
weichen f80e7a1ea1 docs(audit): diagnose project143 document content 404 2026-09-14 01:47:21 +00:00
weichen 79d2676bbf merge: docs/release-vite-frp-slot 2026-09-14 01:32:32 +00:00
weichenandCursor 2d0d499aec docs(ops): release integration slot after vite frp merge
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-14 01:32:32 +00:00
weichen d208b0e3e4 merge: fix/vite-frp-allowed-hosts 2026-09-14 01:31:56 +00:00
weichenandCursor e760373fd0 docs(ops): occupy integration slot for vite frp merge
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-14 01:31:56 +00:00
weichenandCursor 00737c7d5e fix(web): allow frp-mix.com Host for Vite dev server
FRP reverse-proxy access to :3100 was blocked by Vite host checks.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-14 01:30:38 +00:00
weichen 36a59d6700 merge: feature/software-project-bootstrap-plan 2026-09-14 01:13:42 +00:00
weichen 8ce41e101b docs(workflow): design software project bootstrap suite 2026-09-14 01:13:33 +00:00
weichen bad2410994 merge: feature/document-revision-session-close 2026-09-14 00:29:18 +00:00
weichenandCursor 9345109dca docs(ops): archive completed document-revision session files
Move done DOCREV short-terms, checklists, and handoffs into archive/ops and retarget relative links after Round20 close-out.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-14 00:27:18 +00:00
weichen 4bf8b6d993 merge: fix/document-revision-evidence-count 2026-09-14 00:23:31 +00:00
weichenandCursor bf4f9bdba0 docs(test): split 21 screenshots from 21 results
Record top-level screenshots as 20 main/pre plus 1 post, and the full-package race as FAIL 109.279s instead of a cached ok line.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-14 00:23:11 +00:00
weichen 5d79da60fc merge: feature/document-revision-runtime-ui-final-report 2026-09-14 00:21:23 +00:00
weichenandCursor 07507c7c24 docs(test): correct runtime UI final-report facts
Rename the close-out branch to feature/*, record 20 screenshots, and state rebuild-then-app-restart so the environment notes match Round20.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-14 00:20:56 +00:00
weichenandCursor 89163d2d18 docs(test): close document revision runtime UI Round20
Record the official Playwright headless pass for project 6159 and release the runtime integration slot without claiming the whole system production-ready.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-14 00:17:47 +00:00
weichen b258ab86a5 merge: fix/document-revision-pg-id-remap 2026-09-13 23:48:18 +00:00
weichenandCursor acf62a23d0 docs(audit): separate candidate 175 from output snapshot 250
The 6158 field ledger wrote candidate id=175 and report id=175; 250 is the output snapshot, not the candidate.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-13 23:45:14 +00:00
weichenandCursor 4e0951fe70 docs(ops): record PG ledger ID remap milestone
Claim the document-revision mutex and document the 6158 first-generation not-found root cause without calling UI-03 done.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-13 23:43:56 +00:00
weichenandCursor 2d0fcb94bc fix(docrevision): keep PG snapshot IDs ahead of in-memory counters
Opening a template stored database IDs without advancing nextSnapID, so the next temporary snapshot could overwrite and then delete the real baseline. Adopt helpers now bump every counter and only drop a map entry when it still points at the same object.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-13 23:43:56 +00:00
weichen fa6a033c95 merge: fix/document-revision-post-restart-final-snippet 2026-09-13 23:28:53 +00:00
weichenandCursor 39df2d88f7 docs(ops): claim post-restart durable body snippet task
Record that the second restart already restored V3/r2 and that only the stale UI-06 bodySnippet expectation was wrong.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-13 23:28:17 +00:00