weichen and Cursor
765a418df1
docs(ops): claim integration slot for demo-data-pollution merge
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 03:13:51 +00:00
weichen and Cursor
66c56324ad
docs(ops): backlink 2026-09-15 audit and record review P0/P1 evidence
...
Cherry-picked SEED_DEMO_USERS separately; document npm test gate,
session retire in 00046, and P2 follow-ups.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 03:13:25 +00:00
weichen
53bb71adae
fix(auth): respect SEED_DEMO_USERS=false to prevent re-seeding demo users
2026-09-16 03:12:31 +00:00
weichen and Cursor
fbda195b7f
fix(db): retire demo chat sessions with projects in 00046
...
Extend unapplied migration to mark 6001–6010 sessions demo_retired
and filter them (and retired projects) out of ListChatSessions.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 03:12:25 +00:00
weichen and Cursor
a44df9280c
fix(web): rewrite demoSeedIds tests for node:test npm gate
...
Vitest-style suite was caught by tsx --test and broke npm test.
Align with storage.test.ts and narrow vitest include to chat suites.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 03:11:36 +00:00
weichen and Cursor
1e19f5c52f
docs(test): archive demo seed pollution remediation evidence
...
Record systemic audit, wave plan status, gap-matrix blockers, and unit/
bundle scan results for the demo-data pollution fix.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 02:50:34 +00:00
weichen and Cursor
8a8197a4f2
fix(taskrun): reject stub backend in main/prod
...
Require ResolveBackendInEnv to deny stub (and empty stub fallback) when
env is main/prod so production cannot request simulated agent output.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 02:50:34 +00:00
weichen and Cursor
bdc6415944
fix(db): retire goose-seeded demo projects from lists
...
Mark projects 6001–6010 as demo_retired and exclude them from default
project list queries so demo seeds no longer pollute real workspaces.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 02:50:34 +00:00
weichen and Cursor
855363fd60
fix(web): gate demo seeds and reclaim mock deliverables
...
Stop shipping hard-coded demo docs/projects into production builds,
drop local mock items on authoritative empty server lists, and purge
stale demo seed residue from localStorage on boot.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 02:50:34 +00:00
weichen
2005a4ca0c
merge: chore/release-multi-intent-u8-slot
2026-09-16 02:26:03 +00:00
weichen and Cursor
8b228e2101
chore(ops): release the U8 integration slot
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 02:26:03 +00:00
weichen
50cf271b53
merge: feature/multi-intent-u8-task-generate
2026-09-16 02:24:39 +00:00
weichen and Cursor
bf55278740
docs(test): record U8 task generate adapter report
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 02:24:23 +00:00
weichen and Cursor
2e99ee3661
feat(intentflow): route confirmed generate steps through a task adapter
...
Persist ComboNeedsConfirm plans at confirm tier without executing writes, then run task.run via OwnerMux and a stable idempotency key.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 02:24:23 +00:00
weichen
aec374c5dc
merge: chore/release-multi-intent-u7-slot
2026-09-16 01:42:42 +00:00
weichen and Cursor
ad3d10b72d
chore(ops): release the U7 integration slot
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 01:42:42 +00:00
weichen
276ceb42b3
merge: feature/multi-intent-u7-auto-read
2026-09-16 01:40:07 +00:00
weichen and Cursor
fb19b63baf
docs(test): record U7 auto_read query execution report
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 01:40:07 +00:00
weichen and Cursor
702cf6f949
feat(intentflow): execute auto_read query plans from HandleTurn
...
Default legacy stays a no-op; QueryGuard refuses generate keys until U8.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 01:40:07 +00:00
weichen
5c4caa375e
merge: chore/release-multi-intent-u6-slot
2026-09-16 01:11:28 +00:00
weichen and Cursor
c7677b09f6
chore(ops): release the U6 integration slot
...
Restore the U5 SSOT rows dropped during the U6 docs commit.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 01:11:28 +00:00
weichen
b94873ab18
merge: feature/multi-intent-u6-web-cards
2026-09-16 01:09:05 +00:00
weichen and Cursor
ba713c266b
docs(test): record U6 plan card web report
...
Keep Playwright dual-tab behind RUN_UI_ACCEPTANCE.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 01:09:05 +00:00
weichen and Cursor
29bb63f766
feat(web): render PLAN_CONFIRM from PlanView without local AST writes
...
Plan actions post to the decision API and reconcile on 409 instead of mutating documents.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 01:09:05 +00:00
weichen
4044b68c9e
merge: chore/release-multi-intent-u5-slot
2026-09-16 01:02:19 +00:00
weichen and Cursor
0dd7a412c2
chore(ops): release the U5 integration slot
...
Drop accidental pycache from the docs commit and ignore Python bytecode.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 01:02:19 +00:00
weichen
741089eca3
merge: feature/multi-intent-u5-decision-api
2026-09-16 01:01:39 +00:00
weichen and Cursor
e16fb7eff2
docs(test): record U5 decision API and authorization report
...
Close the U5 checklist with HTTP scope negatives and same-nonce receipts.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 01:01:39 +00:00
weichen and Cursor
3d444fa5e4
feat(api): mount authenticated intent plan decision routes
...
Principal comes from the session and query scope; body identifiers are ignored and admins cannot skip membership.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 01:01:39 +00:00
weichen and Cursor
08aa56b16c
feat(intentflow): re-authorize steps before confirm and execute
...
Confirmation stays a command receipt; FakeActionOwner now fail-closes on revoke and resource version drift.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 01:01:39 +00:00
weichen
f35d265721
merge: chore/release-multi-intent-u4-slot
2026-09-16 00:52:59 +00:00
weichen and Cursor
131c86a919
chore(ops): release the U4 integration slot
...
U4 smoke (go vet + go test -short) passed; no shared-env rebuild.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 00:52:59 +00:00
weichen
839368198a
merge: feature/multi-intent-u4-outbox-projection
2026-09-16 00:50:32 +00:00
weichen and Cursor
46ee9fe647
chore(ops): occupy the U4 integration slot
...
Remove accidental promote-dev and pycache files from the U4 docs commit and hold the merge slot.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 00:50:26 +00:00
weichen and Cursor
2755d916f4
docs(test): record U4 outbox projection report
...
Close the U4 checklist with golden payload and only-forward projection evidence.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 00:46:09 +00:00
weichen and Cursor
c36d891b05
feat(intentflow): emit plan facts onto Track E outbox
...
Append awaiting/step/completed envelopes in the command UoW and project them without changing dispatcher leases.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 00:46:09 +00:00
weichen and Cursor
cf063f5727
feat(db): add intent plan projection shadow tables
...
Store idempotent event outcomes and an only-forward shadow without replacing plan SSOT.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 00:46:09 +00:00
weichen and Cursor
1afd39c9e8
docs(ops): claim U4 intent plan outbox projection
...
Register the events mutex before appending intent.plan facts onto Track E.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 00:40:57 +00:00
weichen
0f656638eb
merge: chore/release-multi-intent-u3-slot
2026-09-15 23:47:19 +00:00
weichen and Cursor
223b2841d7
chore(ops): release the U3 integration slot
...
Smoke already passed on the feature branch; shared env stays on schema 43 until a planned rebuild.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-15 23:47:19 +00:00
weichen
26f1632a21
merge: feature/multi-intent-u3-intentflow-pg
2026-09-15 23:46:55 +00:00
weichen and Cursor
4cfe6ff59d
chore(ops): occupy the U3 integration slot
...
Hold the shared merge slot for the no-ff merge of the intentflow PG owner.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-15 23:46:55 +00:00
weichen and Cursor
b6956003d5
docs(test): record U3 intentflow PG CAS lease report
...
Close the U3 checklist with CAS/lease/fencing evidence while leaving chat routing on legacy.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-15 23:46:34 +00:00
weichen and Cursor
1385002350
feat(app): assemble intentflow plan owner
...
Wire the composition root without letting chat or coordinator call CreatePlan yet.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-15 23:43:46 +00:00
weichen and Cursor
da0b3d812b
feat(intentflow): persist plans with CAS lease and fencing
...
Own plan/step/decision writes behind UoW so two workers cannot both execute the same step.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-15 23:43:46 +00:00
weichen and Cursor
7dfd6d6f33
feat(db): add intent plan tables in goose 00044
...
Persist plans, steps, and append-only decisions with typed CAS, lease, and nonce columns.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-15 23:43:37 +00:00
weichen and Cursor
a75aa45129
docs(ops): claim U3 intentflow PG CAS lease
...
Register the intent-plan mutex and freeze U3 scope before schema or repository work.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-15 23:33:15 +00:00
weichen
53c0722925
merge: chore/release-multi-intent-u2-slot
2026-09-15 23:18:37 +00:00
weichen and Cursor
86f25b26c4
chore(ops): release the U2 integration slot
...
Smoke already passed on the feature branch; U2 has no schema or container change.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-15 23:18:37 +00:00
weichen
53d4077f06
merge: feature/multi-intent-u2-segmenter
2026-09-15 23:18:10 +00:00
weichen and Cursor
91edeccb26
chore(ops): occupy the U2 integration slot
...
Hold the shared merge slot for the no-ff merge of the rule-segmenter shadow proposal.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-15 23:18:10 +00:00
weichen and Cursor
c2e79c8a1d
docs(test): record U2 rule segmenter shadow proposal report
...
Close the U2 checklist with golden/hard-negative evidence while keeping production routing unchanged.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-15 23:17:45 +00:00
weichen and Cursor
932ba87daf
feat(intent): add rule segmenter and shadow PlanProposal
...
Generate 2–4 step L1 proposals with stable digests while leaving TopIntent and the legacy IntentPlan router unchanged.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-15 23:14:29 +00:00
weichen and Cursor
9005766b62
test(intent): lock legacy multi-intent plan routing
...
Keep write combos and internal-chain summaries on the current TopIntent path so U2 shadow proposals cannot silently change production.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-15 23:07:46 +00:00
weichen and Cursor
475134802b
docs(ops): claim U2 multi-intent rule segmenter
...
Register the independent U2 short-term on the intent mutex so shadow proposals can land without touching production routing.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-15 23:06:29 +00:00
weichen
8ac3d3fbc6
merge: chore/release-multi-intent-u1-slot
2026-09-15 16:28:07 +00:00
weichen and Cursor
3171e4f0e5
chore(ops): release the U1 integration slot
...
Smoke already passed on the feature branch; U1 has no schema or container rebuild.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-15 16:28:07 +00:00
weichen
29d9c65603
merge: feature/multi-intent-u1-contracts
2026-09-15 16:27:29 +00:00
weichen and Cursor
42c8ae2ccd
chore(ops): occupy the integration slot for U1 merge
...
Serialize the local --no-ff merge of multi-intent U1 contracts onto dev.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-15 16:27:29 +00:00
weichen and Cursor
3d326ad81e
docs(status): record U1 multi-intent contract freeze
...
Archive the arch/parity/short evidence and mark the U1 claim done so U2 can take the intent mutex next.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-15 16:27:03 +00:00
weichen and Cursor
9364da4974
feat(intentflow): freeze plan lifecycle contracts and batch policy
...
Add the app/intentflow skeleton so HITL state, error codes, REST shapes, and BatchActionPolicy live outside intent and default to the legacy tier.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-15 16:22:52 +00:00
weichen and Cursor
aefb1e45a6
feat(events): register intent.plan contracts and table owners
...
Freeze the three fact events, intentflow allowlist, and plan table ownership so later units cannot invent producers or write paths outside app/intentflow.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-15 16:20:19 +00:00
weichen and Cursor
bdccb4dbfe
docs(ops): claim U1 multi-intent HITL contract freeze
...
Register the independent U1 short-term, checklist, and CURRENT mutex so architecture-docs and events stay serial while contracts land.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-15 16:19:12 +00:00
weichen
987423794f
merge: feature/test-env-smoke-notes
2026-09-15 16:04:59 +00:00
weichen and Cursor
8919ca9842
docs(ops): record the test promotion smoke and release the slot
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-15 16:04:59 +00:00
weichen
5a79752ebe
merge: feature/promote-dev-to-test-2026-09-15
2026-09-15 16:02:38 +00:00
weichen and Cursor
68755862f1
docs(ops): occupy the integration slot for the test promotion
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-15 16:02:38 +00:00
weichen
067cf8be18
merge: feature/phase2-session-close
2026-09-15 15:58:47 +00:00
weichen and Cursor
035d8594a6
docs: sync multi-intent review index with the parked plan
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-15 15:58:47 +00:00
weichen and Cursor
fa5955be07
docs(design): tighten multi-intent confirm UI and accessibility gates
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-15 15:58:26 +00:00
weichen and Cursor
69d1203593
docs(ops): close Phase 2 session and park multi-intent HITL plan
...
Archive the shared-live short-term, refresh CURRENT foci, and check in the reviewed multi-intent design so it no longer sits uncommitted on dev.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-15 15:57:40 +00:00
weichen
c1a2bcc26b
merge: feature/current-env-snapshot
2026-09-15 15:27:50 +00:00
weichen and Cursor
05550f3558
docs(ops): record typed-result and live consumer modes in CURRENT
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-15 15:27:50 +00:00
weichen
3d39ee0589
merge: feature/pi-typed-result
2026-09-15 15:27:16 +00:00
weichen and Cursor
ecba6f3b14
chore: release the pi-typed-result integration slot
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-15 15:27:16 +00:00
weichen and Cursor
a3fa7c137b
docs(test): record PI typed-result-v1 dual-track evidence
...
Archive Track P tasks and point FEATURE-MATRIX at the live MiniMax runner report.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-15 15:25:34 +00:00
weichen and Cursor
0a61cfbe90
feat(agent): add typed-result-v1 and fail-closed remote parser
...
Remote /v1/run now emits additive result_v1; Go validates run_id, digest, and paths before materializing, and only accepts missing typed payloads with an explicit legacy handshake.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-15 15:25:18 +00:00
weichen
4dbe6a431c
merge: feature/http-error-envelope
2026-09-15 14:41:09 +00:00
weichen and Cursor
f6813cc272
feat(api): add additive HTTP/SSE error envelopes
...
Public errors now emit code, safe message, and request_id while keeping the legacy error field. Raw SQL, paths, tokens, and XSS payloads are stripped; the frontend branches on code instead of substring matching.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-15 14:40:56 +00:00
weichen
39dc68d15c
merge: feature/event-shared-live-cutover
2026-09-15 14:24:17 +00:00
weichen and Cursor
7a9d0d850d
chore: ignore pycache and release the live-cutover integration slot
...
Shared live rebuild passed health/ready; keep Python bytecode out of test-report assets.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-15 14:24:17 +00:00
weichen and Cursor
ad9027fe8f
docs(test): record shared event live cutover and close the reliability pilot
...
Notify, workflow_advance, and projection completed shadow/live/rollback on agent-dev; authorized 6275 digest matches; project 143 stays non-leaking.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-15 14:23:07 +00:00
weichen and Cursor
9b1a94c5bc
feat(app): drop production outbox and approval hook registration
...
Durable notify/advance/projection are live on shared dev, so composition roots must not assign OnOutbox or AddOnApprovedHook. Bind helpers remain for tests and a rollback window.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-15 14:23:07 +00:00
weichen and Cursor
4a662ec2d3
feat(events): gate shared-dev consumer mode changes
...
Add ValidateOpsCutover, eventmode CLI, and a host script that pin agent_system_dev and refuse FAV plus test/main before any cluster mode write.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-15 14:11:44 +00:00
weichen
a20760953a
merge: feature/phase2-closeout-inventories
2026-09-15 13:26:50 +00:00
weichen and Cursor
8400427c24
docs: close Phase 2 isolation tracks and file H0/P0 inventories
...
Archive completed Track E/S short-terms, record HTTP/PI compatibility matrices, and defer shared live plus protocol implementation to long-term tasks.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-15 13:26:20 +00:00
weichen and Cursor
1c04f17c8c
test(events): reject replay apply without approval ref
...
ReplayPlan two-person apply already required digest match; this pins the missing ApprovalRef negative so dry-run tickets cannot skip the ticket field.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-15 13:26:20 +00:00
weichen
3a6d4f45dd
merge: fix/chatflow-orchestration-boundary
2026-09-15 13:15:57 +00:00
weichen and Cursor
9811ae3841
docs(test): record D7b chatflow orchestration boundary
...
S4b report and archive; chat production allowlist no longer includes bizdev.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-15 13:15:48 +00:00
weichen and Cursor
425c8ba776
feat(chat): drop production bizdev import from action executor
...
Pending-action task runs now use stageflow request aliases and Server ports, so chat no longer reaches through the orchestration root.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-15 13:15:48 +00:00
weichen
20fc82c485
merge: fix/bizdev-locator-removal
2026-09-15 13:11:10 +00:00
weichen and Cursor
6a9e3fb51a
docs(test): record D4 bizdev locator removal
...
S1 report, archive the short-term task, and mark the getter contract closed.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-15 13:10:47 +00:00
weichen and Cursor
2a75abb39e
refactor(bizdev): delete eight locator getters
...
Composition roots already hold Snapshot ports; the interface and archtest now forbid putting Pool/DocGov/DocRevision/ContextManager/CAS/ProjectWorkflow/FreeformDoc/KB back on Service.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-15 13:08:25 +00:00
weichen and Cursor
3f42149457
feat(bizdev): snapshot collaborators onto Runtime and Server ports
...
Composition roots copy Parts once so HTTP/CLI handlers stop calling locator getters on every request.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-15 13:00:33 +00:00
weichen
92a9c6783d
merge: fix/stageflow-type-ownership
2026-09-15 11:13:17 +00:00
weichen and Cursor
acb443e949
docs(test): record D5 stageflow type ownership and chatflow first batch
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-15 11:13:17 +00:00
weichen and Cursor
110c2e810c
feat(stageflow): own task/stage types so coordinator drops bizdev
...
Coordinator now takes a StageTaskRunner and injected context/KB ports.
Chatflow assembler reads maturity tokens instead of the orchestration root.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-15 11:13:17 +00:00
weichen
6f541feac0
merge: fix/intent-bizdev-boundary
2026-09-15 10:29:38 +00:00
weichen and Cursor
23d0cfb10f
docs(test): record D7a intent-bizdev boundary
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-15 10:29:38 +00:00
weichen and Cursor
525047b841
feat(intent): depend on maturity vocabulary instead of bizdev
...
Intent only needed the three official stage tokens. Moving them to a
leaf package lets the recognizer compile without the orchestration root.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-15 10:29:38 +00:00