Issue 25382 — server-only evidence Branch: fix/issue-25382 Before reproduction commit (primary's historical record): 3de45c625434 After HEAD (independently checked): d3983ee410a844fc92a74adbf1713bc72f820d4a Comparison origin/main (independently checked): bfc7177f9f54b0a4b9d3571d30723a51cd4b31bd Matrix: EMPTY, proof auditor confirmed; 0/0. No UI captures required. Scope and method No source edits, file swaps/stashes, subagents, worktrees, forge operations, pushes, merges, or watches. Existing dev server left running; no additional dev server/browser launched. Primary's runtime command: vp run dev --home-dir /tmp/t3-issue-25382-runtime --no-seed Primary's browser steps: Settings > Providers > Add provider > OpenCode V2 > Continue to sign-in > Skip for now > Refresh provider status; repeated uncached startup. Provider: real managed OpenCode V2 2.1.4 on Linux x86_64. IMPORTANT: T3 home is isolated, but OpenCode uses its OWN DEFAULT provider storage: /home/ubuntu/.local/share/opencode/opencode.db This capture opened that database only with sqlite3.connect('file:/home/ubuntu/.local/share/opencode/opencode.db?mode=ro', uri=True). No database/message contents or secrets uploaded. RED evidence and provenance Primary's historical transcript records that each successful pre-fix uncached probe left a NULL-title, 2.1.4, zero-message session; the final saved baseline has 13 such rows. Initially there was only the legacy 1.18.18 session with two messages (primary's report). Two red checks are reported by primary: probe missing delete; client locally rejects v1 delete. LIMITATION: literal red assertion/failure output is not present in the supplied saved artifacts. It was not recreated because reverting/swapping source is prohibited. These two red checks are reported, not independently re-observed; no invented failure text is substituted. GREEN runtime protocol (existing saved output) Command used by primary, from apps/server: vp exec node --input-type=module < /tmp/issue-25382-debug.ts {"method":"initialize","status":"started","payload":{"protocolVersion":2,"clientCapabilities":{"fs":{"readTextFile":false,"writeTextFile":false},"terminal":false},"clientInfo":{"name":"t3-code-provider-test","version":"0"}}} {"method":"initialize","status":"succeeded","payload":{"protocolVersion":2,"clientCapabilities":{"fs":{"readTextFile":false,"writeTextFile":false},"terminal":false},"clientInfo":{"name":"t3-code-provider-test","version":"0"}}} {"method":"session/new","status":"started","payload":{"cwd":"/home/ubuntu/t3code/apps/server","mcpServers":[]}} {"method":"session/new","status":"succeeded","payload":{"cwd":"/home/ubuntu/t3code/apps/server","mcpServers":[]}} STARTED ses_e88c32622ffepmaB2MFkbzea7O {"loadSession":true,"promptCapabilities":{"image":true,"embeddedContext":true},"mcpCapabilities":{"http":true,"sse":false},"sessionCapabilities":{"list":{},"delete":{},"additionalDirectories":{},"fork":{},"resume":{},"close":{}},"_meta":{"opencode/child-session-updates":true}} {"method":"session/delete","status":"started","payload":{"sessionId":"ses_e88c32622ffepmaB2MFkbzea7O"}} {"method":"session/delete","status":"succeeded","payload":{"sessionId":"ses_e88c32622ffepmaB2MFkbzea7O"}} DELETED { _id: 'Option', _tag: 'Some', value: {} } Successful full probe and delete spans independently extracted from current trace: {"type": "effect-span", "name": "session/delete", "traceId": "55fae89ae6c78416b1086fc0e5a79ab5", "spanId": "decb7b5b9d4c3761", "parentSpanId": "a567ea257fcd7e59", "sampled": true, "kind": "client", "startTimeUnixNano": "1793001826405210510", "endTimeUnixNano": "1793001826447787196", "durationMs": 42.576686, "attributes": {"rpc.system.name": "effect_rpc", "rpc.method": "session/delete"}, "events": [], "links": [], "exit": {"_tag": "Success"}} {"type": "effect-span", "name": "AcpRegistryProbe.probeConfiguration", "traceId": "55fae89ae6c78416b1086fc0e5a79ab5", "spanId": "a567ea257fcd7e59", "parentSpanId": "8d357110fb4a3355", "sampled": true, "kind": "internal", "startTimeUnixNano": "1793001822508441754", "endTimeUnixNano": "1793001826836707480", "durationMs": 4328.265726, "attributes": {}, "events": [], "links": [], "exit": {"_tag": "Success"}} {"type": "effect-span", "name": "session/delete", "traceId": "632c334433026c9b8b30dd95b81200bf", "spanId": "05877fe635ef95db", "parentSpanId": "3d4749c422ce4895", "sampled": true, "kind": "client", "startTimeUnixNano": "1793001889111695568", "endTimeUnixNano": "1793001889144641835", "durationMs": 32.946267, "attributes": {"rpc.system.name": "effect_rpc", "rpc.method": "session/delete"}, "events": [], "links": [], "exit": {"_tag": "Success"}} {"type": "effect-span", "name": "AcpRegistryProbe.probeConfiguration", "traceId": "632c334433026c9b8b30dd95b81200bf", "spanId": "3d4749c422ce4895", "parentSpanId": "e67156a0ff49ff4c", "sampled": true, "kind": "internal", "startTimeUnixNano": "1793001885229468487", "endTimeUnixNano": "1793001889280004443", "durationMs": 4050.535956, "attributes": {}, "events": [], "links": [], "exit": {"_tag": "Success"}} Independent read-only query: select id,title,version,directory,(select count(*) from session_message m where m.session_id=s.id) from session_v2 s where version='2.1.4'; Comparison: sorted full tuples (id,title,version,directory,message count), not just counts. { "observedUTC": "2026-10-26T08:06:40.496725+00:00", "baselineCount": 13, "afterCount": 13, "fullTupleEquality": true, "newIds": [], "missingIds": [], "totalSessionCount": 14, "legacyIdVersionMessageCount": [ [ "ses_e99fdf01bffe3aRZNn4fC34b4O", "1.18.18", 2 ] ], "protocolSessionAbsent": true } Baseline and after identical rows (all reproduction artifacts; no message content): [ [ "ses_e88e1735fffe7ZDT5cRyjbm599", null, "2.1.4", "/home/ubuntu/t3code/apps/server", 0 ], [ "ses_e88dfa080ffeS5EhG11sYNsZBA", null, "2.1.4", "/home/ubuntu/t3code/apps/server", 0 ], [ "ses_e88df7123ffeYePr4xBhzS49RQ", null, "2.1.4", "/home/ubuntu/t3code/apps/server", 0 ], [ "ses_e88db8d16ffe9Wl8W2ZGtavCIs", null, "2.1.4", "/home/ubuntu/t3code/apps/server", 0 ], [ "ses_e88db1284ffez2wC3k7iTKBksj", null, "2.1.4", "/home/ubuntu/t3code/apps/server", 0 ], [ "ses_e88da2d24ffetwHlIn50HQ4gwP", null, "2.1.4", "/home/ubuntu/t3code/apps/server", 0 ], [ "ses_e88d7d30affeGTXAuxMLhdPb4k", null, "2.1.4", "/home/ubuntu/t3code/apps/server", 0 ], [ "ses_e88d7623fffe8f1Woyw232dm3K", null, "2.1.4", "/home/ubuntu/t3code/apps/server", 0 ], [ "ses_e88d70fb7ffeigYF470BPic58V", null, "2.1.4", "/home/ubuntu/t3code/apps/server", 0 ], [ "ses_e88d2e6ddffeoyrqw3YRPhFHgD", null, "2.1.4", "/home/ubuntu/t3code/apps/server", 0 ], [ "ses_e88d28c39ffe0V2eiQgW7Z93bM", null, "2.1.4", "/home/ubuntu/t3code/apps/server", 0 ], [ "ses_e88c9efa0ffej8G0743KwNR610", null, "2.1.4", "/home/ubuntu/t3code/apps/server", 0 ], [ "ses_e88c75771ffeCl3jSiLvE4Ot35", null, "2.1.4", "/home/ubuntu/t3code/apps/server", 0 ] ] Conclusion: successful final and repeat probes include successful session/delete spans; after both, all 13 baseline IDs and message counts remain identical, no new rows survive, and the preexisting legacy session retains two messages. Existing leaked rows are not retroactively removed. FRICTION / limitations Historical scratch transcript contains discarded intermediate attempts and is not uploaded as final proof. An initial concurrent provider migration hit SQLite locking; another historical attempt exited before readiness. Final successful traces above are the relevant after evidence. Existing check:changed logs show lint/graphql/knip and 13 tests passing, but format fails on unrelated untracked app.json, and an earlier typecheck fails because the local typescript/bin/tsc module is missing. This is not a clean whole-check result. No files were altered to bypass it. Real v1 manual-wire driver is supplied; primary reports successful negotiated-v1 deletion, but its stdout was not saved among supplied artifacts and was not rerun here (it creates/deletes provider state). The runtime protocol excerpt logs the initialize request protocolVersion=2, not the negotiated response; it alone does not prove negotiated v1. Focused client test covers v1 acceptance. Primary reported green 28+13 tests. Independent focused test output follows when complete. Independent GREEN rerun (exit 0): $ vp test run packages/effect-acp/src/client.test.ts apps/server/src/provider/AcpRegistryProbe.test.ts note: You are running `vp test` as a Vite+ built-in command. If you meant to run the test npm script, use `vpr test` instead. RUN v5.0.5 /home/ubuntu/t3code Test Files 2 passed (2) Tests 41 passed (41) Start at 08:05:58 Duration 21.61s (tests 50%, transform 35%, setup 7%, import 7%) Upload review: transcript includes only selected protocol/trace metadata and reproduction session IDs/counts; drivers contain no credentials. Legacy title and message contents omitted. Raw database, trace files, dev logs and pairing credentials not uploaded.