weichen and Cursor
67d73359fd
docs(test): Wave 2B nightly promotion-receipt report and matrix sync
...
Record gate fixtures and infra negative evidence; mark Artifact row
partial for same-commit/digest traceability without same-image claim.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 14:02:24 +00:00
weichen and Cursor
fda159c995
feat(ci): nightly real-PI workflow and promote/release receipt gates
...
Add schedule/dispatch nightly entry that classifies infra vs product
failures, and require a valid receipt (or waiver) before promote/release.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 14:02:24 +00:00
weichen and Cursor
a84778f21b
feat(ci): add immutable promotion receipt write/check with waiver
...
Nightly and promote gates need auditable pass/product_fail/infra_fail
receipts under test-reports assets, plus timed owner waivers.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 14:02:24 +00:00
weichen
8278022237
merge: docs/wave2-slot-release
2026-09-16 10:57:11 +00:00
weichen and Cursor
879f6fadef
docs(ops): release integration slot after Wave 2 merge
...
Smoke: go vet, go test -short (clean env), env-service rebuild, health/ready ok.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 10:57:11 +00:00
weichen
c360a928de
merge: feature/wave2-real-pi-evidence
2026-09-16 10:55:54 +00:00
weichen and Cursor
7461138412
docs(ops): claim integration slot for Wave 2 merge
...
Also mark PU4 DoD complete after U8/full-none real-PI evidence archive.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 10:55:51 +00:00
weichen and Cursor
422f98012e
docs(ops): mark Wave 2 short-term done in archive
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 10:42:43 +00:00
weichen and Cursor
574758a71f
docs(test): archive Wave 2 U8 and full/none real-PI evidence
...
Close FEATURE-MATRIX evidence gaps for multi-intent U8 and workflow
full/none; release the integration slot after live PASS.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 10:42:20 +00:00
weichen and Cursor
f1e87fb2e7
test(server): add Wave 2 real-PI evidence for U8 and full/none
...
Replace the U8 stop-gate with a PG+PI confirm/generate harness and add a
mixed-duty governance long chain covering cross-user approve and none
non-blocking advance.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 10:42:20 +00:00
weichen and Cursor
aac42936bc
fix(intentflow): keep plan step receipts durable under PG events
...
Normalize empty TEXT[] binds, isolate step-changed aggregates from plan
revision uniqueness, propagate AdvanceEligible errors, and emit
taskrun.completed to the registered notify consumer so finalize no longer
rolls back live receipts.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 10:42:20 +00:00
weichen
ad42f83e5b
merge: docs/wave1-pu3-slot-release
2026-09-16 09:42:34 +00:00
weichen and Cursor
3a3b31996a
docs(ops): release integration slot after PU3 merge
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 09:42:34 +00:00
weichen
c5d10aebcc
merge: fix/iam-store-fail-closed
...
Wave 1 PU3: IAM NewStores fail-closed unless explicit dev/test opt-in.
2026-09-16 09:42:27 +00:00
weichen and Cursor
a5bc317492
docs(ops): mark PU3 done and claim merge slot
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 09:42:27 +00:00
weichen and Cursor
299530bf42
docs(test): archive Wave 1 PU3 IAM fail-closed evidence
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 09:42:07 +00:00
weichen and Cursor
7fdbee6c0c
test(server): adapt fixtures to IAM dual-gate fail-closed
...
Boot memory IAM only via explicit test env opt-in; strict auth cases
disable AllowInMemory after startup.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 09:42:07 +00:00
weichen and Cursor
514db3a086
feat(auth): fail-closed IAM store unless dev/test opt-in
...
Refuse MemoryStore fallback for main/empty/unknown env or missing
ALLOW_IN_MEMORY so production cannot silently use in-memory authority.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 09:42:07 +00:00
weichen
16d1ba1d54
merge: docs/wave1-pu5a-slot-release
2026-09-16 09:34:05 +00:00
weichen
0353841a4a
merge: fix/race-tempdir-cleanup
...
Wave 1 PU5A: drain taskrun workers before TempDir cleanup under -race.
2026-09-16 09:34:05 +00:00
weichen and Cursor
24e716e661
docs(ops): release integration slot after PU5A merge
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 09:34:05 +00:00
weichen and Cursor
3400f0a7ac
docs(ops): mark PU5A done and claim merge slot
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 09:34:05 +00:00
weichen and Cursor
a453b290a7
docs(test): archive PU5A TempDir race cleanup evidence
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 09:33:41 +00:00
weichen and Cursor
73ae4b8f5b
fix(server): drain taskrun workers before TempDir cleanup
...
Register newTestServer cleanup and Shutdown WaitIdle so race detector
no longer hits RemoveAll on a live DataDir.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 09:33:41 +00:00
weichen and Cursor
ea2b9f121e
feat(taskrun): add WaitRunDone and WaitIdle for async workers
...
Allow tests and shutdown to drain in-memory workers before TempDir cleanup.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 09:33:41 +00:00
weichen
9d929f0175
merge: docs/wave0-matrix-merge-closeout
2026-09-16 08:33:27 +00:00
weichen and Cursor
99504b628e
docs(ops): release integration slot after Wave 0 matrix merge
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 08:33:27 +00:00
weichen
a88a7e3b0a
merge: feature/feature-matrix-production-readiness-plan
...
Wave 0 FEATURE-MATRIX calibration and IAM readonly verification docs.
2026-09-16 08:32:43 +00:00
weichen and Cursor
8afd37da65
docs(ops): claim integration slot for Wave 0 FEATURE-MATRIX merge
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 08:32:43 +00:00
weichen and Cursor
2fe58ca9d7
docs(remediation): mark Wave 0 DoD items complete
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 08:32:29 +00:00
weichen and Cursor
c4a7479572
docs(status): Wave 0 calibrate FEATURE-MATRIX and verify IAM deploy facts
...
Align capability maturity with frozen boundaries, record IAM readonly PASS
without flipping production_ready, and leave Wave 1+ for fail-closed code.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 08:32:29 +00:00
weichen
1ff55033f4
merge: docs/matrix-deep-test-detailed-report
2026-09-16 05:37:16 +00:00
weichen and Cursor
68455faa94
docs(test): expand matrix deep-test report with I/O analysis verdicts
...
Rewrite the promote report so each Wave case records input, system
output, analysis, and evaluation against FEATURE-MATRIX evidence.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 05:37:16 +00:00
weichen
794b1f43b7
merge: docs/matrix-deep-test-closeout
2026-09-16 05:25:31 +00:00
weichen and Cursor
9363121071
docs(test): archive matrix deep-test promote report and release slot
...
Record Wave 1–4 evidence, fix FEATURE-MATRIX schema-47 note, harden
promote-to-test against origin rebase, and mark infra task done.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 05:25:31 +00:00
weichen
50f800a409
merge: feature/matrix-deep-test-promote-test
...
Matrix deep-test evidence and CURRENT slot claim prior to test promote.
2026-09-16 05:18:52 +00:00
weichen and Cursor
0743fb90ec
docs(ops): advance integration slot to merging for test promote
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 05:18:52 +00:00
weichen and Cursor
895d5f002a
test(ops): capture matrix deep-test Wave 1–3 evidence artifacts
...
Automated short/module/governance-PG outputs plus live :8080 smoke and
PI typed-result sample for promote gate.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 05:18:52 +00:00
weichen and Cursor
4f997a9438
docs(ops): register matrix deep-test claim on CURRENT
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 05:14:00 +00:00
weichen and Cursor
ef84d1d8f7
docs(ops): claim infra slot for matrix deep test and test promote
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 05:13:38 +00:00
weichen
4298701b2a
merge: docs/archive-production-ready-gates
2026-09-16 04:16:03 +00:00
weichen and Cursor
28d1512e6e
docs(ops): archive completed production-ready gates short-term task
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 04:16:03 +00:00
weichen
4d048cc4a3
merge: docs/production-ready-flip
...
Flip SSOT production_ready=yes after release gates and main schema align.
2026-09-16 04:15:55 +00:00
weichen and Cursor
1027026e7a
docs(ops): flip production_ready=yes after B1–B4 gates and schema 47
...
Align FEATURE-MATRIX, gap-matrix, and CURRENT; main rebuilt to schema 47
with dev/test. Release blockers closed; backlog items remain partial/planned.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 04:15:55 +00:00
weichen
8dae227f8c
merge: feature/pi-three-workflow-e2e
...
Release gates B2–B4 evidence, PI E2E harness fixes, and settings conflict recovery.
2026-09-16 04:14:07 +00:00
weichen and Cursor
05a84e6677
fix(web): include nested error field in VERSION_CONFLICT unwrap typing
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 04:13:35 +00:00
weichen and Cursor
23a5f6f589
docs(ops): claim integration slot for production-ready gate merge
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 04:12:09 +00:00
weichen and Cursor
1f35593dcd
docs(test): archive B2–B4 release-gate evidence and check gap boxes
...
PI three-workflow E2E, chat refresh+restart, and frontend conflict/
termination-preview reports; mark corresponding gap-matrix gates done.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 04:11:54 +00:00
weichen and Cursor
736857a292
fix(web): unwrap nested VERSION_CONFLICT business codes for settings recovery
...
HTTP envelope wraps PLAN_FROZEN/ERR_CONCURRENT_SWITCH; reload settings on
conflict so operators refresh instead of blind retry.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 04:11:54 +00:00
weichen and Cursor
64ac437a90
fix(test): upsert project members before SavePlan in chat-refresh live
...
Duty assignees must be active members or activation path returns 400.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 04:11:54 +00:00
weichen and Cursor
3b80582123
fix(pi-agent): stabilize real PI three-workflow E2E harness
...
Use shared DATA_DIR permissions (umask/chmod) and drop obsolete sync
notify asserts so governance PG PI chains can complete on MiniMax runner.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 04:11:54 +00:00
weichen
3b56816f4e
merge: fix/ci-governance-pg-members
2026-09-16 03:20:32 +00:00
weichen and Cursor
56c85bba11
fix(ci): green governance PG on isolated TEST_DATABASE_URL
...
Add duty holders as project members, drop sync notification assert
after outbox cutover, and add an explicit CI governance PG step.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 03:20:32 +00:00
weichen
eaffe3eb31
merge: docs/demo-seed-merge-closeout
2026-09-16 03:17:37 +00:00
weichen and Cursor
c8052c8882
docs(ops): close DEMO-DB-SEED after schema 47 migrate and smoke
...
Record npm/go gates, empty project 6357 docs=0, and release the
integration slot; gap-matrix DEMO-DB-SEED → PASS.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 03:17:37 +00:00
weichen
511012cede
merge: fix/demo-chat-sessions-retire-00047
2026-09-16 03:14:59 +00:00
weichen and Cursor
c741d26eeb
fix(db): add goose 00047 to retire demo project chat sessions
...
Dev already applied 00046 (projects only) before session retirement
was folded into that file; 00047 closes the gap idempotently.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 03:14:59 +00:00
weichen
0917f39f80
merge: fix/demo-data-pollution-web
...
Gate demo seeds, retire goose demo projects/sessions, reject stub in
main/prod, and respect SEED_DEMO_USERS=false.
2026-09-16 03:13:51 +00:00
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