base red: Chromium ObjC contract for cef-156.0.15-cmux.43
Base red fix. Since 953dc952 (CEF: pin cef-156.0.15-cmux.43, pushed straight to feat-cmux-next), the Chromium ObjC contract check fails on every PR into feat-cmux-next (for example #34602). scripts/cmux-next/chromium-objc-contract.json was still marked reviewed for cef-154.0.34-cmux.38 (sha256 a4a408f2…), so the contract-only check refuses it against the pinned cmux.43 (sha256 3d782a39…).
What changed
Only reviewed_for and reviewed_sha256, set to the pinned engine. No selector entry, verdict, owner or application class changed.
Review of the new engine
This was a Chromium major bump (154.0.8037.98 -> 156.0.8078.80), so I re-ran the scan instead of only moving the pin fields. I ran scripts/cmux-next/check-cef-objc-contract.py --framework … on a fleet mini against its verified kept-cache copy of cef-156.0.15-cmux.43 (arm64 release; archive.json cmux_ref 3d323193349f, the manifest's fork_ref). This is the static otool / dyld_info scan, with no build:
- before
--write, the only failures were the two pin fields: 0 new selectors, 0 stale entries, 0 new NSApplication subclasses; --writereported0 new selectors and 0 new classes (unreviewed), 0 removed;- after it:
116 selectors for cef-156.0.15-cmux.43, 0 failure(s), with--frameworkand without it.
Chromium 156's BrowserCrApplication, CrApplication and AppController candidates are the same 116 as in cmux.38, and the NSApplication subclasses are the same four. No selector that our code implements went away, and no new one can reach CmuxApplication or AppDelegate, so no call site changes.
The per-entry reasons and the assumptions note still cite the cmux.28 scan addresses. The verdicts carry over because the candidate set is identical; the engine is stripped, so this PR did not re-disassemble each sender (the guarded and not-reachable call-site reasoning) on 156.
Risk: low. Two metadata fields in a CI contract, no app code.
🤖 Generated with Claude Code
Agent session: agent session
![Autofix with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/autofix-with-codesmith-dark-3x.png)
Open in [code]smith · Need help on this PR? Tag @codesmith-bot with what you need.
Summary by cubic
Fixes the base red on feat-cmux-next by updating the Chromium ObjC contract metadata to the pinned engine. chromium-objc-contract.json still marked cef-154.0.34-cmux.38 as reviewed, so the contract-only check rejected the pinned cef-156.0.15-cmux.43. Re-ran the --framework scan on the cmux.43 arm64 engine: same 116 selectors and same NSApplication subclasses as cmux.38 (0 new, 0 stale, 0 new classes), so only reviewed_for and reviewed_sha256 change.