Repository navigation
feat(preview): mirror Mac Chrome logins to connected environments - #530
Conversation
Thread transfer impact✅ Thread transfer remains within every enforced ceiling.
Baseline: Scenario and decoded snapshot size10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.
Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed. |
|
Independent review round 1 at High:
Medium:
Low: duplicate send from expiry precision, session cookies counted as removed after a Chrome relaunch, one unreadable row blocking all removals, untested No defect found in managed identities, incomplete-read handling, partition keys, key command execution or value redaction. |
|
What: All Opus and Grok review findings at Review findings and regression evidence
No review finding is disputed. The requested SingletonLock predicate test is superseded by removal of the entire heuristic and a regression for the accepted never-remove rule. Exact focused commands and resultsCHROMERIA_TEST_ELECTRON=/tmp/chromeria-520-electron44/electron \
CHROMERIA_TEST_CHROMIUM=/usr/bin/chromium \
node_modules/.bin/vp test run \
apps/desktop/src/preview/CookieMirror.test.ts \
apps/desktop/src/preview/CookieMirrorMetadata.test.ts \
apps/desktop/src/preview/CookieMirrorSocket.test.ts \
apps/desktop/src/preview/CookieMirrorGrant.test.ts \
apps/desktop/src/preview/ChromeCookieKey.test.ts \
apps/desktop/src/preview/ChromeCookieSource.test.ts \
apps/desktop/src/preview/ElectronCookieMirror.integration.test.ts \
apps/desktop/src/preview/BrowserSession.test.ts \
apps/desktop/src/preview/BrowserImport/BrowserImport.test.ts \
apps/desktop/src/preview/BrowserImport/ChromiumCookies.test.ts \
apps/desktop/src/preview/BrowserImport/ChromiumKeys.test.ts \
apps/desktop/src/preview/BrowserImport/ChromiumKeys.module.test.ts \
apps/desktop/src/preview/BrowserImport/CookieDatabase.test.ts \
apps/desktop/src/preview/BrowserImport/Sources.test.ts \
apps/desktop/src/ipc/methods/preview.test.ts \
apps/desktop/src/settings/DesktopAppSettings.test.ts \
apps/desktop/src/settings/DesktopClientSettings.test.ts \
apps/desktop/src/snapShot/DesktopSnapShot.test.ts \
apps/server/src/preview/BrowserCookieMirror.test.ts \
apps/server/src/preview/CookieMirrorRoute.test.ts \
apps/server/src/preview/ServerCookieMirror.integration.test.ts \
apps/server/src/preview/ServerBrowser.test.ts \
apps/server/src/preview/ServerBrowserContexts.test.ts \
apps/server/src/preview/ServerBrowserStream.test.ts \
apps/server/src/auth/RpcAuthorization.test.ts \
apps/server/src/observability/RpcInstrumentation.test.ts \
packages/contracts/src/browserCookieMirror.test.ts \
packages/contracts/src/browserProfile.test.ts \
packages/contracts/src/auth.test.ts \
packages/shared/src/browserCookieMirror.test.ts \
packages/client-runtime/src/rpc/session.test.ts \
apps/web/src/hooks/useSettings.test.ts \
apps/desktop/src/preview/CookieMirrorDestination.test.ts \
apps/desktop/src/preview/CookieMirrorDpop.test.ts \
apps/server/src/auth/EnvironmentAuth.test.ts \
apps/server/src/auth/EnvironmentAuthAdmin.test.ts \
apps/server/src/auth/PairingGrantStore.test.ts \
apps/desktop/src/backend/DesktopLocalEnvironmentAuth.test.ts \
packages/contracts/src/settings.test.tsPASS: 39 files, 690 tests on this head. Synthetic WAL/decryption, identity/removal persistence, ordering, retries, privacy, full partition keys, auth and existing affected behavior are included. No real user cookies or Keychain reads. cd apps/web
CHROMERIA_TEST_CHROMIUM=/usr/bin/chromium ../../node_modules/.bin/vp test run \
src/components/settings/IntegrationsSettings.browser.test.tsx --project browserPASS: 1 browser file, 2 tests. Uses installed Chromium with a disposable synthetic fixture. Initial attempts lacked Playwright's downloaded browser; CHROMERIA_TEST_ELECTRON=/tmp/chromeria-520-electron44/electron \
CHROMERIA_TEST_CHROMIUM=/usr/bin/chromium node_modules/.bin/vp test run \
apps/desktop/src/preview/ElectronCookieMirror.integration.test.ts \
apps/server/src/preview/ServerCookieMirror.integration.test.tsPASS: 2 files, 2 real adapter tests, also included in the 690-test final run. Runtime versions: Electron 44.4.5; Playwright 1.60.0; Chromium 152.0.7977.82. Both run isolated persistent profiles, preserving attributes, full partition keys and exact sibling removal. Electron also proves millisecond expiry normalization. Additional focused commands used during repair, all included in the final run:
node_modules/.bin/tsc-rs --noEmit -p apps/desktop/tsconfig.json
node_modules/.bin/tsc-rs --noEmit -p apps/server/tsconfig.json
node_modules/.bin/tsc-rs --noEmit -p apps/web/tsconfig.json
node_modules/.bin/tsc-rs --noEmit -p packages/contracts/tsconfig.json
node_modules/.bin/tsc-rs --noEmit -p packages/shared/tsconfig.json
node_modules/.bin/tsc-rs --noEmit -p packages/client-runtime/tsconfig.json
scripts/fork-check.sh
node scripts/fork-features.mjs check
git diff --checkNo repo-wide checks. No version bump. The restored Planner handoffExisting remote connections need pairing credentials with Mirror desktop browser logins ( Build all artifacts from the independently reviewed head and verify embedded
No production artifacts were built, installed or deployed. Independent exact-head review, macOS source/version/encryption and cost proof, live site acceptance, logout/restart/offline checks remain with the planner. Google/other DBSC sites require independent sign-in; no DBSC workaround exists here. Retain the worktree and branch for that review; the planner retires them at merge. Requirements and who asked: The user and approved #520 decisions, refined by Opus/Grok reviews: preserve client ownership and source identities, recover keys, prevent cookie echo, authenticate destinations/credentials, and show per-site limitations. Implemented with GPT-6.1 Sol through the Codex harness. |
|
Independent review round 2 at
|
6d084c1 to
c9b0ce6
Compare
|
What: Round-2 findings and the reported CI defects are fixed at Final base: The Knip-only delta was first pushed separately as -export const cookieMirrorUrl = (cookie: CookieMirrorKey, secure: boolean) => {
+const cookieMirrorUrl = (cookie: CookieMirrorKey, secure: boolean) => {
Review responses:
No review finding remains disputed. The BLM attribution is the only corrected hypothesis: the failing fixed-diagram test never reads the map file. Proof, 2026-10-19 (Europe/Warsaw), on the rebased candidate:
Exact focused command: CHROMERIA_TEST_ELECTRON=/tmp/chromeria-520-electron44/electron CHROMERIA_TEST_CHROMIUM=/usr/bin/chromium node_modules/.bin/vp test run apps/desktop/src/backend/DesktopLocalEnvironmentAuth.test.ts \
apps/desktop/src/ipc/methods/preview.test.ts \
apps/desktop/src/preview/BrowserImport/BrowserImport.test.ts \
apps/desktop/src/preview/BrowserImport/ChromiumCookies.test.ts \
apps/desktop/src/preview/BrowserImport/ChromiumKeys.module.test.ts \
apps/desktop/src/preview/BrowserImport/ChromiumKeys.test.ts \
apps/desktop/src/preview/BrowserImport/CookieDatabase.test.ts \
apps/desktop/src/preview/BrowserImport/Sources.test.ts \
apps/desktop/src/preview/BrowserSession.test.ts \
apps/desktop/src/preview/ChromeCookieKey.test.ts \
apps/desktop/src/preview/ChromeCookieSource.test.ts \
apps/desktop/src/preview/CookieMirror.test.ts \
apps/desktop/src/preview/CookieMirrorDestination.test.ts \
apps/desktop/src/preview/CookieMirrorDpop.test.ts \
apps/desktop/src/preview/CookieMirrorGrant.test.ts \
apps/desktop/src/preview/CookieMirrorMetadata.test.ts \
apps/desktop/src/preview/CookieMirrorSocket.test.ts \
apps/desktop/src/preview/DesktopCookieMirror.test.ts \
apps/desktop/src/preview/ElectronCookieMirror.integration.test.ts \
apps/desktop/src/settings/DesktopAppSettings.test.ts \
apps/desktop/src/settings/DesktopClientSettings.test.ts \
apps/desktop/src/snapShot/DesktopSnapShot.test.ts \
apps/server/src/auth/EnvironmentAuth.test.ts \
apps/server/src/auth/EnvironmentAuthAdmin.test.ts \
apps/server/src/auth/PairingGrantStore.test.ts \
apps/server/src/auth/RpcAuthorization.test.ts \
apps/server/src/observability/RpcInstrumentation.test.ts \
apps/server/src/preview/BrowserCookieMirror.test.ts \
apps/server/src/preview/CookieMirrorRoute.test.ts \
apps/server/src/preview/ServerBrowser.test.ts \
apps/server/src/preview/ServerBrowserContexts.test.ts \
apps/server/src/preview/ServerBrowserStream.test.ts \
apps/server/src/preview/ServerCookieMirror.integration.test.ts \
apps/web/src/components/featureMap/featureMap.mermaid.test.tsx \
apps/web/src/hooks/useSettings.test.ts \
apps/web/src/reactCompilerCoverage.test.ts \
packages/client-runtime/src/rpc/session.test.ts \
packages/contracts/src/auth.test.ts \
packages/contracts/src/browserCookieMirror.test.ts \
packages/contracts/src/browserProfile.test.ts \
packages/contracts/src/settings.test.ts \
packages/shared/src/browserCookieMirror.test.ts \
packages/shared/src/desktopBootstrapToken.test.tsExact browser command, from CHROMERIA_TEST_CHROMIUM=/usr/bin/chromium ../../node_modules/.bin/vp test run src/components/settings/IntegrationsSettings.browser.test.tsx src/components/settings/AcpRegistrySearchStep.browser.test.tsx --project browserReal adapter command, from the repository root: CHROMERIA_TEST_ELECTRON=/tmp/chromeria-520-electron44/electron CHROMERIA_TEST_CHROMIUM=/usr/bin/chromium node_modules/.bin/vp test run apps/desktop/src/preview/ElectronCookieMirror.integration.test.ts apps/server/src/preview/ServerCookieMirror.integration.test.tsEnvironment: Linux, runner Node 26.8.2, existing Electron 44.4.5 (embedded Node 24.21.0), Playwright 1.60.0, installed Chromium 152.0.7977.82. Tests use isolated synthetic profiles and verify fractional expiry plus full-partition-key removal/sibling preservation. Other exact commands: node_modules/.bin/tsc-rs --noEmit -p apps/desktop/tsconfig.json
node_modules/.bin/tsc-rs --noEmit -p apps/server/tsconfig.json
node_modules/.bin/tsc-rs --noEmit -p apps/web/tsconfig.json
node_modules/.bin/tsc-rs --noEmit -p packages/contracts/tsconfig.json
node_modules/.bin/tsc-rs --noEmit -p packages/shared/tsconfig.json
node_modules/.bin/tsc-rs --noEmit -p packages/client-runtime/tsconfig.json
node_modules/.bin/vp run knip:check
scripts/fork-check.sh
node scripts/fork-features.mjs check
git diff --checkExact scoped lint and touched-file format commandsnode_modules/.bin/vp lint apps/desktop/src/backend/DesktopLocalEnvironmentAuth.ts apps/desktop/src/ipc/DesktopIpcHandlers.ts apps/desktop/src/ipc/channels.ts apps/desktop/src/ipc/methods/cookieMirror.ts apps/desktop/src/ipc/methods/preview.test.ts apps/desktop/src/ipc/methods/preview.ts apps/desktop/src/main.ts apps/desktop/src/preload.ts apps/desktop/src/preview/BrowserImport/BrowserImport.ts apps/desktop/src/preview/BrowserImport/ChromiumKeys.ts apps/desktop/src/preview/ChromeCookieKey.test.ts apps/desktop/src/preview/ChromeCookieKey.ts apps/desktop/src/preview/ChromeCookieSource.test.ts apps/desktop/src/preview/ChromeCookieSource.ts apps/desktop/src/preview/CookieMirror.test.ts apps/desktop/src/preview/CookieMirror.ts apps/desktop/src/preview/CookieMirrorDestination.test.ts apps/desktop/src/preview/CookieMirrorDestination.ts apps/desktop/src/preview/CookieMirrorDpop.test.ts apps/desktop/src/preview/CookieMirrorDpop.ts apps/desktop/src/preview/CookieMirrorGrant.test.ts apps/desktop/src/preview/CookieMirrorGrant.ts apps/desktop/src/preview/CookieMirrorMetadata.test.ts apps/desktop/src/preview/CookieMirrorMetadata.ts apps/desktop/src/preview/CookieMirrorSocket.test.ts apps/desktop/src/preview/CookieMirrorSocket.ts apps/desktop/src/preview/DesktopCookieMirror.test.ts apps/desktop/src/preview/DesktopCookieMirror.ts apps/desktop/src/preview/ElectronCookieMirror.integration.test.ts apps/desktop/src/preview/ElectronCookieMirror.ts apps/desktop/src/preview/PartitionScope.ts apps/desktop/src/settings/DesktopAppSettings.test.ts apps/desktop/src/settings/DesktopAppSettings.ts apps/server/src/auth/EnvironmentAuth.test.ts apps/server/src/auth/EnvironmentAuth.ts apps/server/src/auth/PairingGrantStore.test.ts apps/server/src/auth/PairingGrantStore.ts apps/server/src/preview/BrowserCookieMirror.test.ts apps/server/src/preview/BrowserCookieMirror.ts apps/server/src/preview/CookieMirrorRoute.test.ts apps/server/src/preview/CookieMirrorRoute.ts apps/server/src/preview/ServerBrowser.test.ts apps/server/src/preview/ServerBrowser.ts apps/server/src/preview/ServerBrowserStream.test.ts apps/server/src/preview/ServerCookieMirror.integration.test.ts apps/server/src/preview/ServerCookieMirror.ts apps/server/src/preview/ServerCookieMirrorProfiles.ts apps/server/src/server.ts apps/web/src/components/featureMap/featureMap.mermaid.test.tsx apps/web/src/components/settings/ChromeCookieMirrorStatus.tsx apps/web/src/components/settings/IntegrationsSettings.browser.test.tsx apps/web/src/components/settings/IntegrationsSettings.tsx apps/web/src/connection/runtime.ts apps/web/src/hooks/useSettings.test.ts apps/web/src/hooks/useSettings.ts apps/web/src/rpc/cookieMirrorConnection.ts apps/web/src/rpc/cookieMirrorStatus.ts apps/web/vite.config.ts packages/client-runtime/src/rpc/session.test.ts packages/client-runtime/src/rpc/session.ts packages/contracts/src/auth.ts packages/contracts/src/browserCookieMirror.test.ts packages/contracts/src/browserCookieMirror.ts packages/contracts/src/browserProfile.test.ts packages/contracts/src/browserProfile.ts packages/contracts/src/index.ts packages/contracts/src/ipc.ts packages/contracts/src/settings.ts packages/shared/src/authScopeOptions.ts packages/shared/src/browserCookieMirror.test.ts packages/shared/src/browserCookieMirror.ts packages/shared/src/desktopBootstrapToken.test.ts packages/shared/src/desktopBootstrapToken.ts
node_modules/.bin/vp fmt --check apps/desktop/src/backend/DesktopLocalEnvironmentAuth.ts apps/desktop/src/ipc/DesktopIpcHandlers.ts apps/desktop/src/ipc/channels.ts apps/desktop/src/ipc/methods/cookieMirror.ts apps/desktop/src/ipc/methods/preview.test.ts apps/desktop/src/ipc/methods/preview.ts apps/desktop/src/main.ts apps/desktop/src/preload.ts apps/desktop/src/preview/BrowserImport/BrowserImport.ts apps/desktop/src/preview/BrowserImport/ChromiumKeys.ts apps/desktop/src/preview/ChromeCookieKey.test.ts apps/desktop/src/preview/ChromeCookieKey.ts apps/desktop/src/preview/ChromeCookieSource.test.ts apps/desktop/src/preview/ChromeCookieSource.ts apps/desktop/src/preview/CookieMirror.test.ts apps/desktop/src/preview/CookieMirror.ts apps/desktop/src/preview/CookieMirrorDestination.test.ts apps/desktop/src/preview/CookieMirrorDestination.ts apps/desktop/src/preview/CookieMirrorDpop.test.ts apps/desktop/src/preview/CookieMirrorDpop.ts apps/desktop/src/preview/CookieMirrorGrant.test.ts apps/desktop/src/preview/CookieMirrorGrant.ts apps/desktop/src/preview/CookieMirrorMetadata.test.ts apps/desktop/src/preview/CookieMirrorMetadata.ts apps/desktop/src/preview/CookieMirrorSocket.test.ts apps/desktop/src/preview/CookieMirrorSocket.ts apps/desktop/src/preview/DesktopCookieMirror.test.ts apps/desktop/src/preview/DesktopCookieMirror.ts apps/desktop/src/preview/ElectronCookieMirror.integration.test.ts apps/desktop/src/preview/ElectronCookieMirror.ts apps/desktop/src/preview/PartitionScope.ts apps/desktop/src/settings/DesktopAppSettings.test.ts apps/desktop/src/settings/DesktopAppSettings.ts apps/server/src/auth/EnvironmentAuth.test.ts apps/server/src/auth/EnvironmentAuth.ts apps/server/src/auth/PairingGrantStore.test.ts apps/server/src/auth/PairingGrantStore.ts apps/server/src/preview/BrowserCookieMirror.test.ts apps/server/src/preview/BrowserCookieMirror.ts apps/server/src/preview/CookieMirrorRoute.test.ts apps/server/src/preview/CookieMirrorRoute.ts apps/server/src/preview/ServerBrowser.test.ts apps/server/src/preview/ServerBrowser.ts apps/server/src/preview/ServerBrowserStream.test.ts apps/server/src/preview/ServerCookieMirror.integration.test.ts apps/server/src/preview/ServerCookieMirror.ts apps/server/src/preview/ServerCookieMirrorProfiles.ts apps/server/src/server.ts apps/web/src/components/featureMap/featureMap.mermaid.test.tsx apps/web/src/components/settings/ChromeCookieMirrorStatus.tsx apps/web/src/components/settings/IntegrationsSettings.browser.test.tsx apps/web/src/components/settings/IntegrationsSettings.tsx apps/web/src/connection/runtime.ts apps/web/src/hooks/useSettings.test.ts apps/web/src/hooks/useSettings.ts apps/web/src/rpc/cookieMirrorConnection.ts apps/web/src/rpc/cookieMirrorStatus.ts apps/web/vite.config.ts docs/fork-features.md docs/fork.md docs/map.md docs/user/browser-import.md packages/client-runtime/src/rpc/session.test.ts packages/client-runtime/src/rpc/session.ts packages/contracts/src/auth.ts packages/contracts/src/browserCookieMirror.test.ts packages/contracts/src/browserCookieMirror.ts packages/contracts/src/browserProfile.test.ts packages/contracts/src/browserProfile.ts packages/contracts/src/index.ts packages/contracts/src/ipc.ts packages/contracts/src/settings.ts packages/shared/package.json packages/shared/src/authScopeOptions.ts packages/shared/src/browserCookieMirror.test.ts packages/shared/src/browserCookieMirror.ts packages/shared/src/desktopBootstrapToken.test.ts packages/shared/src/desktopBootstrapToken.ts scripts/fork-upstream-edits.txtBefore-fix command results:
Rebase conflict: only Complete rebase range-diff1: b91408ed5d ! 1: 58c2d38c9b feat(desktop): mirror Chrome logins to connected environments
@@ docs/fork.md: with its existing Electron `chromeria` profile. Development keeps
## docs/map.md ##
@@ docs/map.md: flowchart TD
- %% PBI: #460 PR #470
+ %% PBI: #460 PR #470 PR #527
T3C --> PBI
+ BLM["Chrome login mirror"]
@@ packages/shared/src/browserCookieMirror.ts (new)
+}
## scripts/fork-upstream-edits.txt ##
-@@ scripts/fork-upstream-edits.txt: packages/provider-core/src/server/ProviderContinuationRequests.ts
- packages/provider-muse/src/server/adapter.ts
- packages/provider-pi/src/server/adapter.ts
+@@ scripts/fork-upstream-edits.txt: packages/provider-pi/src/server/adapter.ts
apps/server/src/mcp/toolkits/pullRequests/handlers.test.ts
+ apps/mobile/src/lib/threadActivity.ts
+ apps/web/src/session-logic.ts
+
+# Chrome login mirror (#520)
+apps/desktop/src/ipc/methods/preview.test.ts
2: ad8633a771 = 2: 0199098523 fix(preview): resolve cookie mirror review findings
3: 6d084c1ba2 = 3: c83579bfe1 fix(shared): keep cookie mirror URL helper private
4: 382a5803d3 ! 4: c9b0ce69a2 fix(preview): preserve session logouts and desktop authority
@@ docs/fork-features.md: sources and reasons.
"apps/web/src/components/settings/ChromeCookieMirrorStatus.tsx",
"apps/web/src/rpc/cookieMirrorConnection.ts",
"apps/web/src/rpc/cookieMirrorStatus.ts",
+@@ docs/fork-features.md: sources and reasons.
+ "packages/client-runtime/src/rpc/session.ts",
+ "packages/contracts/src/browserProfile.test.ts",
+ "packages/contracts/src/browserProfile.ts",
+- "packages/shared/src/authScopeOptions.ts"
++ "packages/shared/src/authScopeOptions.ts",
++ "packages/shared/src/desktopBootstrapToken.test.ts",
++ "packages/shared/src/desktopBootstrapToken.ts"
+ ],
+ "sharedFiles": [
+ "apps/desktop/src/ipc/DesktopIpcHandlers.ts",
@@ docs/fork-features.md: sources and reasons.
"apps/server/src/server.ts",
"apps/server/src/ws.ts",
@@ docs/fork-features.md: sources and reasons.
"docs/map.md",
"packages/contracts/src/auth.ts",
@@ docs/fork-features.md: sources and reasons.
- "packages/contracts/src/ipc.ts",
- "packages/contracts/src/rpc.ts",
"packages/contracts/src/settings.ts",
-- "packages/shared/package.json"
-+ "packages/shared/package.json",
-+ "packages/shared/src/desktopBootstrapToken.test.ts",
-+ "packages/shared/src/desktopBootstrapToken.ts"
+ "packages/shared/package.json"
],
- "keywords": [
- "cookie mirror",
@@ packages/shared/src/desktopBootstrapToken.ts: function windowIndex(nowMs: number
return expected.length === presented.length && NodeCrypto.timingSafeEqual(expected, presented);
});
}
+
+ ## scripts/fork-upstream-edits.txt ##
+@@ scripts/fork-upstream-edits.txt: apps/mobile/src/lib/threadActivity.ts
+ apps/web/src/session-logic.ts
+
+ # Chrome login mirror (#520)
++packages/shared/src/desktopBootstrapToken.test.ts
++packages/shared/src/desktopBootstrapToken.ts
+ apps/desktop/src/ipc/methods/preview.test.ts
+ apps/desktop/src/ipc/methods/preview.ts
+ apps/desktop/src/preview/BrowserImport/BrowserImport.ts
Pairing answer and one-time cavallo setup:
t3 auth pairing create --home-dir <server-home> --base-url <reachable-server-origin> --label cavallo --scope orchestration:read --scope orchestration:operate --scope settings:write --scope providers:manage --scope environment:maintain --scope preview:operate --scope diagnostics:read --scope terminal:read --scope terminal:operate --scope source-control:write --scope filesystem:read --scope filesystem:write --scope relay:read --scope access:read --scope access:write --scope relay:write --scope preview:mirror-cookies
Surfaces: desktop, server, contracts and shared authenticated-connection code apply; Electron Settings uses shared web code. Web-only/mobile have no Chrome source or desktop-main IPC, so source/destination mirroring does not apply there. Providers and agents consume the server browser without receiving cookie batches. No version bump. Delivery: code, commits, lease push and PR update complete; independent current-head review, production builds/installation, merge and live proof remain planner-owned. T3 Connect-only mirroring is not delivered because its mint grants no dedicated authority; use scoped direct pairing for live proof. DBSC sign-ins remain per environment. Mac process/source behavior, scan cost, live grok.com login, logout/relaunch and offline catch-up are not claimed proved by Linux synthetic tests. Artifacts for the planner to build/install from the independently reviewed head:
Requirements and who asked: The #520 planner's Opus/Grok round-2 findings, CI failures and merge-free rebase request, preserving the approved cookie-mirror design. |
|
What: The requested map comparison passes on both the pushed #530 head and current origin/main; CI on the PR head is green. Verified on 2026-10-19, Europe/Warsaw. Branch and remote are both Fresh comparison command in each checkout: node_modules/.bin/vp test run apps/web/src/components/featureMap/featureMap.mermaid.test.tsx
The ACP test and component have no diff against main. The exact file passed 8/8 on both branches; a controlled 300 ms debounce experiment reproduced the reported assertion on main. Evidence and the separate pre-existing issue are in #536. No ACP source or test change was included in #530. Current-head CI: Lint, Build and Typecheck, Test Web, package tests, all eight Server test shards and the final Check are SUCCESS. The Fork Stack Model also passed. Optional EAS/web preview/native static analysis jobs were skipped as configured. The real Electron/Playwright adapter proof remains the explicit opt-in 2 files / 2 tests PASS command and environment documented in the PR body and full proof record. Credential setup is unchanged: the local renderer bootstrap cannot mint mirror authority. Default direct and automatic T3 Connect pairings lack Requirements and who asked: The planner requested an explicit origin/main map comparison, complete round-2 status, exact proof, a merge-free rebase and scope setup instructions. |
|
Independent review round 3 at Grok 4.7 round 3 did not run: Remaining Low, not blocking: a Chrome quit and relaunch within one poll interval can propagate Chrome's startup removal of last session's session cookies ( Not yet proven: live install and the grok.com acceptance on bestia and Rocky. |
Agent work on this PREstimated cost unknown · 3 responses · 10 sessions · 3.5 h wall time
Flags: 2 human corrections · 2 large tool outputs · 7 repeated commands · 3 repeated failures · 8 repeated reads · 11 repeated skill loads · 1 test edited after a failure · 3 unpriced responses Details: snapshot, prices, coverage, counters
Token counters by model (native counter semantics; never added across semantics):
Generated tokens (reasoning and other output are disjoint; other output includes code, tool calls and replies):
Selected rates (USD per million tokens). These rates value the report at the selected schedule date; they do not establish historical prices or subscription spending.
Other output and reasoning are priced without double counting inclusive native output. Missing rates remain unknown. Local measurement from native records; usage totals are not billing. Updated in place by |
What: macOS Chrome login changes reach persistent desktop profiles and explicitly authorized environment browsers at
c9b0ce69a2ab9da0278ec3cf1b74986c41594bff.Why: One-time imports miss later changes, and review exposed ownership, session-removal and credential-boundary defects in the continuous path.
So what: The planner reviews this rebased head, arranges scoped direct pairings, then builds and installs it on cavallo, bestia and Rocky for live account proof.
Refs #520 (closes after live proof on bestia and Rocky)
Implements the approved #520 design and review refinements, including an argv key command for ad-hoc signed Mac builds. This approved detour supports Promachos using accounts across machines. CI on the current head is green; independent current-head review remains planner-owned.
preview:mirror-cookiescredential, live owner/parent checks and destination identity authorize writes. Renderer IPC names only an environment ID; main resolves its saved authenticated destination, owns the private grant/socket and returns the current connection state. The unusedpreview.enableCookieMirrorRPC is removed completely. Server services apply CDP writes/deletes on existing persistent contexts and persist a profile catalog for restart while the Mac is off.Remote credentials do not gain mirror permission automatically. Direct pairing can carry the dedicated scope when the server issues it explicitly. T3 Connect's current environment mint uses standard scopes only; its automatic session cannot enable mirroring. This PR does not change the cloud mint protocol. For live proof, the planner must issue a direct pairing URL for each server with the standard scopes plus
preview:mirror-cookies; on cavallo, paste those URLs into Settings > Connections > Add environment. A new direct pairing updates the existing environment's route/credential. The planner also sets the Bao argv indesktop-settings.json. No further mirror toggle is required.Surface check: desktop, server, contracts and shared connection code apply. Shared web code supplies Electron's settings status. Web-only and mobile clients have no native Chrome source or desktop-main IPC, so they are not mirror sources/destinations. Providers and scheduled tasks keep using the environment browser without cookie-payload access. Map/fork ownership metadata is updated. No version bump.
Validation: 1,792 tests in 43 focused files, 10 browser tests in 2 files, all six affected-package typechecks, scoped lint on 73 TypeScript files (two existing schema-hoisting warnings), touched-file formatting (78 supported files),
vp run knip:check,scripts/fork-check.shand registry validation passed. The compiler test now compiles the component without an opt-out; the map test waits for its render callback instead of polling with a one-second deadline. ACP's exact test passes here and on main; a controlled 300 ms debounce experiment reproduces its timing failure on main, tracked separately in #536, with no ACP changes here.The real adapter tests are opt-in and a default CI run skips them. They were run explicitly on Linux with Node 26.8.2, Electron 44.4.5 (embedded Node 24.21.0), Playwright 1.60.0 and Chromium 152.0.7977.82 against isolated synthetic profiles:
CHROMERIA_TEST_ELECTRON=/tmp/chromeria-520-electron44/electron CHROMERIA_TEST_CHROMIUM=/usr/bin/chromium node_modules/.bin/vp test run apps/desktop/src/preview/ElectronCookieMirror.integration.test.ts apps/server/src/preview/ServerCookieMirror.integration.test.tsResult: 2 files / 2 tests PASS, including fractional expiry and exact partition-key sibling preservation. These tests also ran enabled in the 43-file suite. No install, deployment, live Keychain read or real user cookie was used.
Rebased four topic commits onto
origin/mainatd17be12f8a951bd4ccba1dc641065b9b4c6ca48c, preserving merge-free history. The sole conflict wasscripts/fork-upstream-edits.txt; both main's entries and #520's block were retained. A final inventory correction assigns the two changed upstream bootstrap-token files to #520 and allowlists them. Pushed with an explicit lease on6d084c1ba2ff3935fae1d67e181f0f07bbf246d9.Upstream first: findings on #520. No continuous upstream mirror was found; #12845 changes only one-time POSIX import preflight, so no upstream commit was ported.
The planner builds these artifacts from the independently reviewed head and verifies embedded
t3codeCommitHash:release/Chromeria-0.1.0-arm64.zip, containingChromeria.apprelease-cli/t3-0.1.0-linux-x64.tar.gz, full runtime with client and externalsrelease-cli/t3-0.1.0-darwin-arm64.tar.gz, full runtime with client and externalsNo production builds, installation, deployment, merge or live site acceptance were performed. macOS source/encryption and polling-cost proof, grok.com login, logout/relaunch and offline catch-up remain planner-owned. DBSC sites require separate sign-in. Earlier synthetic Settings screenshots remain local at
/tmp/chromeria-520-settings-before.pngand/tmp/chromeria-520-settings-after.png; the GitHub asset upload failed, and no PR-only images were committed. Retain this worktree for independent review.Requirements and who asked: The user and approved #520 decisions, refined by Opus/Grok reviews and the planner's CI reports: preserve ownership, propagate live session sign-outs, prevent relaunch logouts, separate bootstrap authority and pass scoped proof.
Deleted: The dead enable RPC, renderer minting of local mirror credentials, profile-label overwrites, session-cookie blanket non-removal and a timing-dependent map observer.
Bottleneck: Prove process continuity and credential authority across Chrome, Electron and server profiles before live account use.
Checked myself: Failing-before regressions, 1,792 focused and 10 browser tests, both real adapters, six typechecks, scoped lint/format/Knip, fork ownership checks, the rebase range-diff and the pushed GitHub head.
Implemented with GPT-6.1 Sol through the Codex harness.