PR #25220 runtime verification, 2026-10-28 UTC main: 4e4d4ba395 (github/main fetched this turn) PR: bbf48d99aca1f6113a9f6ff06c94f3cd88e6673d Commands: git worktree add ../main github/main; timeout 600 vp i Each server: setsid nohup timeout ... unshare --user --map-root-user --uts sh -c 'hostname ; exec vp run dev --home-dir --no-seed' > 2>&1 & Only one dev server ran at a time; captured process group terminated between runs. main server/web: 16733/8693. PR server/web: 13773/5733. Playwright 1.60.0, /usr/bin/google-chrome, 1440x1000. Created a project through Local folder for a real git repository. Created a thread and sent a real Codex gpt-6.1-sol turn through the composer on each revision. Both returned: usage identity verification ready. Opened Usage, selected Tokens, refreshed, inspected actual server.getUsageSummary WebSocket responses. No mocked provider, synthetic transcript, demo data, or stubbed pricing. actual hostname | override | returned fingerprint.hostId | saved usage-host-id verify-main-a | absent | verify-main-a | absent verify-main-b | absent | verify-main-b | absent verify-pr-a | absent | verify-pr-a | verify-pr-a verify-pr-b | absent | verify-pr-a | verify-pr-a verify-pr-c | " physical-host " | physical-host | verify-pr-a verify-pr-d | absent | verify-pr-a | verify-pr-a Observed server responses: {"at":"2026-10-28T07:17:07.414Z","codex":{"fingerprint":{"hostId":"verify-main-a","provider":"codex","resolvedHomePath":"/home/user/.codex/sessions","volumeId":"64769:1581671"},"status":"ok","scannedFiles":2,"skippedFiles":0,"malformedRecords":0,"distinctSessions":2,"message":null},"buckets":[{"model":"gpt-6.1-sol","records":24,"sessions":2,"totals":{"uncachedInputTokens":54801,"cachedInputTokens":1394816,"cacheCreationTokens":0,"outputTokens":4153,"reasoningTokens":234}}]} {"at":"2026-10-28T07:20:28.938Z","codex":{"fingerprint":{"hostId":"verify-main-b","provider":"codex","resolvedHomePath":"/home/user/.codex/sessions","volumeId":"64769:1581671"},"status":"ok","scannedFiles":2,"skippedFiles":0,"malformedRecords":0,"distinctSessions":2,"message":null},"buckets":[{"model":"gpt-6.1-sol","records":27,"sessions":2,"totals":{"uncachedInputTokens":57406,"cachedInputTokens":1616640,"cacheCreationTokens":0,"outputTokens":4940,"reasoningTokens":346}}]} {"at":"2026-10-28T07:25:15.970Z","codex":{"fingerprint":{"hostId":"verify-pr-a","provider":"codex","resolvedHomePath":"/home/user/.codex/sessions","volumeId":"64769:1581671"},"status":"ok","scannedFiles":3,"skippedFiles":0,"malformedRecords":0,"distinctSessions":3,"message":null},"buckets":[{"model":"gpt-6.1-sol","records":38,"sessions":3,"totals":{"uncachedInputTokens":71723,"cachedInputTokens":2438400,"cacheCreationTokens":0,"outputTokens":6766,"reasoningTokens":477}}]} {"at":"2026-10-28T07:27:50.586Z","codex":{"fingerprint":{"hostId":"verify-pr-a","provider":"codex","resolvedHomePath":"/home/user/.codex/sessions","volumeId":"64769:1581671"},"status":"ok","scannedFiles":3,"skippedFiles":0,"malformedRecords":0,"distinctSessions":3,"message":null},"buckets":[{"model":"gpt-6.1-sol","records":41,"sessions":3,"totals":{"uncachedInputTokens":75638,"cachedInputTokens":2704512,"cacheCreationTokens":0,"outputTokens":7763,"reasoningTokens":684}}]} {"at":"2026-10-28T07:32:47.018Z","codex":{"fingerprint":{"hostId":"physical-host","provider":"codex","resolvedHomePath":"/home/user/.codex/sessions","volumeId":"64769:1581671"},"status":"ok","scannedFiles":3,"skippedFiles":0,"malformedRecords":0,"distinctSessions":3,"message":null},"buckets":[{"model":"gpt-6.1-sol","records":45,"sessions":3,"totals":{"uncachedInputTokens":80680,"cachedInputTokens":3071744,"cacheCreationTokens":0,"outputTokens":8775,"reasoningTokens":967}}]} {"at":"2026-10-28T07:36:27.635Z","codex":{"fingerprint":{"hostId":"verify-pr-a","provider":"codex","resolvedHomePath":"/home/user/.codex/sessions","volumeId":"64769:1581671"},"status":"ok","scannedFiles":3,"skippedFiles":0,"malformedRecords":0,"distinctSessions":3,"message":null},"buckets":[{"model":"gpt-6.1-sol","records":49,"sessions":3,"totals":{"uncachedInputTokens":82806,"cachedInputTokens":3460992,"cacheCreationTokens":0,"outputTokens":9749,"reasoningTokens":1311}}]} PASS: main reproduces changed fingerprint with same persisted history path and volume. PASS: PR preserves fingerprint across actual Linux UTS hostname changes and restarts. PASS: trimmed override applies without overwriting saved identity; removing override restores saved identity. PASS: real provider answer, history scan, refresh, cost/tokens switching, model details, thread persistence. Usage includes this verification agent's real Codex session too; totals grow as verification proceeds. Not verified: native mobile/Electron clients, macOS/Windows, relay/tunnel or simultaneous connected environments, hard-link failure/read-only filesystems and concurrent server startup in the real app. Limits API on local Codex proxy reports JSON-RPC -32600 on main. Subscription limits cannot be verified with this proxy. No changes made. No local automated suite rerun; existing GitHub head checks have no failures/pending checks (some optional checks skipped, approvability neutral).