- Playbook Exchange now highlights local playbooks with blue “Local” badge 🟦
- Added new screenshot documenting the Local badge UI state 🖼️
- Marketplace manifest results now include per-playbook `source` metadata 🧾
- Manifest handling now merges official and local sources consistently 🔀
- Network failures now return empty merged manifest instead of error 📡
- HTTP fetch failures now degrade gracefully to empty manifest result 🧯
- Marketplace tests updated for dual-read cache + local manifest flow 🧪
- InputArea now expects pre-filtered `thinkingSessions` for better performance ⚡
- ThinkingStatusPill mock now matches real conditional rendering behavior 🎭
- Added `onManifestChanged` stub to Maestro test setup for new hook 🪝
- Add comprehensive documentation for local manifest feature
- Create example local-manifest.json with custom playbook structure
- Implement local manifest reading and merging with official manifests
- Add file watcher for hot reload on local manifest changes
- Support local filesystem paths (absolute and tilde-prefixed)
- Add "Local" badge to distinguish custom playbooks in UI
- Expose manifest change event through preload API
- Add source field to playbook type for origin tracking