feat: complete Creative mode - #2560
Merged
bobleer merged 4 commits intoAug 27, 2026
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
miniapp-dev/bitfun-frontend-devskillsType and Areas
Type: Feature / UI/UX / architecture / test
Areas: Rust core, product assembly, desktop/Tauri, web UI, CLI peer policy, packaging, docs
Motivation / Impact
Creative mode is now a real product mode rather than a coming-soon UI entry. Product-creation powers no longer appear by default in general coding, Cowork, or Claw modes. Packaged BitFun builds can safely let Creative edit the running client frontend while retaining a host-owned recovery path if the candidate UI is broken or the user does not confirm it.
Upgrade compatibility is additive: the workbench state schema defaults missing fields, preserves unreadable state for diagnosis, and never requires manual migration. A newly packaged frontend becomes the safe active revision after an app upgrade while retaining the previous valid revision for rollback.
Verification
Passed locally:
pnpm install --frozen-lockfilepnpm run prepare:mobile-webpnpm run frontend:build-all(also passed again after rebasing onto current upstream)pnpm --dir src/web-ui exec vitest run src/flow_chat/components/HarnessProfileSelector.test.tsx src/flow_chat/utils/chatInputExecutionLevelPolicy.test.ts src/infrastructure/api/adapters/peer-device-adapter.test.ts— 66 passedpnpm run i18n:auditpnpm --dir src/web-ui run gen:typespnpm run check:repo-hygienepnpm run check:core-boundariespnpm run check:core-boundaries:test— 138 passednode --test scripts/desktop-tauri-build.test.mjs— 14 passedcargo build -p bitfun-desktopcargo check -p bitfun-core --features product-fullcargo check -p bitfun-core --no-default-features --features tools-creationbitfun-frontend-devRemote scenario evidence:
core.creationare not assembled into these headless or narrow profiles; product-capability contracts passReviewer Notes
The full Web UI remains built normally, but official desktop packaging adds it as
frontend/dist; Tauri'sfrontendDistcontains only immutable bootstrap/recovery pages. At runtime the desktop adapter copies a fingerprinted bundled revision into app data and serves the active revision throughbitfun-ui://localhost/withno-storesemantics.The new Core host callback is an internal platform-neutral port. Its deletion condition is retirement or replacement of the packaged-frontend workbench; desktop-specific storage, windows, timers, and navigation remain in the desktop adapter.
Checklist