WorkspaceConfigBar in src/app-detail.tsx passes domainKey=undefined when rendering chips on an App workspace. That means cycling a framework/lens on an app currently mutates the GLOBAL default, not a per-app override.
Why we deferred: cli-bridge.ts's runChatTurn resolves framework/lens by basename(cwd), and an app's cwd is the underlying domain folder. So plumbing per-app resolution requires:
- A new key shape in config — `appFrameworks?: Record<string, FrameworkId>` keyed on the app id (not the cwd basename)
- Threading the app id through runChatTurn so it can be passed to resolveResponseFramework
- UI: showing "· app" vs "· domain" scope hint on the chip (without resurrecting the noise we removed earlier)
Filed because apps are currently collapsed (SHOW_APPS=false in app.tsx). When apps come back this should be done in the same commit that re-enables them.
Mentioned in commit messages: 19b10d3 (per-domain framework), 144db75 (per-domain lens), b2ed7f7 (apps collapsed).
WorkspaceConfigBar in src/app-detail.tsx passes domainKey=undefined when rendering chips on an App workspace. That means cycling a framework/lens on an app currently mutates the GLOBAL default, not a per-app override.
Why we deferred: cli-bridge.ts's runChatTurn resolves framework/lens by basename(cwd), and an app's cwd is the underlying domain folder. So plumbing per-app resolution requires:
Filed because apps are currently collapsed (SHOW_APPS=false in app.tsx). When apps come back this should be done in the same commit that re-enables them.
Mentioned in commit messages: 19b10d3 (per-domain framework), 144db75 (per-domain lens), b2ed7f7 (apps collapsed).