Repository navigation
Conversation
…changes and agent tooling Operator-approved project tooling (plan decision PD-9): - boss-mobile agent team (.agent-team, native definitions for Claude Code, Codex, OpenCode, Kimi Code) and the lead-first routing note in AGENTS.md - prometheus-context-bootstrap hooks, rules and settings (.claude), versions.toml, UI/UX protocol - KBD orchestrator state for phase rebrand-the-boss-mobile-ui and the eleven OpenSpec rebrand changes - .prometheus session logs and knowledge notes - Compass configuration and human-readable graph reports; the large graph, store and snapshots are gitignored and regenerated by `compass update .` Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… through it Adds src/shared/branding (product name, company, app ids, URL scheme, website/repository/issues/docs/support, attribution, user-agent name, export watermark name) mirroring The Boss desktop's branding.ts, and routes the About screen, default headers, analytics app name, desktop-connection device name, GitHub token URL, Feishu/DingTalk client names and the export watermark name through it. The translation glossary now protects "The Boss". Technical contracts (packages, storage ids, protocol constants) are unchanged. OpenSpec change: rebrand-001-branding-module Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…s tokens Ports the desktop v2.2 palette (ember primary, brand ramp, cool neutral surface ladder, status families, link, ring, control-active, 10px radius) into the mobile token sources and native.css, adds WCAG 2.2 AA contrast assertions to design:check, removes two stale colour-literal allowlist entries, and records accessibility-driven deviations from the desktop in DEVIATIONS.md. OpenSpec change: rebrand-004-design-tokens Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Changes product-name values (never keys) in all 13 locales, renames the default agent to Boss Agent, points locale links at the The Boss website, and rebrands the agent runtime identity and tool descriptions via the branding module; tests asserting the old user agent now use the branding constant. OpenSpec change: rebrand-007-strings-app Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Vendors Space Grotesk, Inter, Roboto and JetBrains Mono (OFL, provenance in assets/fonts/README.md), adds display/ui/body/mono/eyebrow font-role tokens exported to native.css, and applies them to CherryUI dialog, section, content-state, bottom-sheet, button, chip, slider and markdown code while keeping the mobile type-size scale. Font registration in app.json follows in the app-identity change. OpenSpec change: rebrand-005-typography Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ith The Boss Brand assets (rebrand-003-visual-assets): imports the Brand Guide v2.2 vector sources with provenance, adds a reproducible generator (scripts/branding/generateBrandAssets.ts), regenerates the app icon and Android adaptive foreground, adds splash, notification and lockup assets, and switches the export watermark, About screen, onboarding logo animation and background-activity widget asset to The Boss mark. The old splash artwork is removed. Native strings (rebrand-008-strings-native): rebrands the iOS SystemIntegration string catalog, Swift fallbacks and Android string resources, extended from en/zh to all 13 app locales. Resource keys and native type names are unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…orting off - Name The Boss (Dev/Preview), slug the-boss-mobile, iOS tools.know-me.the-boss, Android tools.know_me.the_boss, derived app groups, widget and share-extension ids, URL scheme theboss from the branding module - Adaptive icon, splash, notification icon and brand fonts registered from the new assets; Geist Mono removed - Upstream EAS project and App Store Connect ids removed; Sentry plugin removed and Sentry/observe/insights disabled through one REPORTING_DISABLED switch (re-enable steps in docs/guides/local-builds.md) - docs/backend-services: inventory of Cherry-operated services and accounts the future The Boss backend must replace OpenSpec changes: rebrand-002-app-identity, rebrand-005-typography Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ng The Boss accounts Adds a catalog disabledReason that blocks new GitHub and Notion OAuth sign-ins in the backend and plugin screens with a localized explanation (13 locales); existing connections keep working. OAuth callbacks now derive from the theboss URL scheme and the Notion client_uri from the branding module. Analytics reporting is turned off through one documented switch. Exported HTML code blocks use JetBrains Mono instead of the removed Geist Mono. OpenSpec change: rebrand-002-app-identity Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…nd the activity logo Rewrites DESIGN.md for Brand Guide v2.2 (surfaces, ember accent, feedback roles, font roles with weight pairing, 10px radius, accessibility gate and documented deviations from the desktop), aligns the UI development guide, adds .impeccable.md design context, and replaces the Live Activity logo with The Boss mark. OpenSpec changes: rebrand-006-design-doc, rebrand-003-visual-assets Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…tension name Rebrands all iOS permission and usage descriptions (static Info.plist keys and plugin-configured strings) and localizes the 13 compiled keys into all 13 app languages through expo.locales (assets/branding/native-locales). The share extension now displays The Boss; native target and class names are unchanged. OpenSpec change: rebrand-002-app-identity Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…d references Rewrites the README after The Boss desktop (logo, links, AGPL attribution to Cherry Studio Mobile, technical-contract note), updates the AGENTS.md intro, and rebrands product mentions across AI, agent, chat, UI and build references, feature READMEs and issue templates while keeping upstream provenance links and technical names. Removes the last Cherry logo asset. OpenSpec change: rebrand-009-docs-readme Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KdvhiodHDEcGH2U52q1Feb
…rk-surface ledger Adds pnpm brand:check (scripts/brandCheck.ts with a reasoned allowlist) that fails on product-name or cherry-ai.com leftovers in locale values, native string catalogs, app.json and source string literals, wires it into PR CI, and documents how the fork consumes upstream (docs/contrib/upstream-merges.md, fork-surface.md, upstream-merge-log.md). OpenSpec change: rebrand-011-branding-guard Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KdvhiodHDEcGH2U52q1Feb
… brand:check Routes MCP, Notion and official-MCP client names through the branding module, rebrands WeCom tool copy, model-facing file-tool descriptions and attachment labels (now app-managed wording), the sidebar header and startup-cover attribution, and the Storybook brand note; drops PPIO's upstream docs link; changes the default agent avatar to 🤖 while still recognising the legacy 🍒; rebrands the docs index and lead-owned guides and records owners for paths created in this phase. pnpm brand:check now passes. OpenSpec change: rebrand-007-strings-app Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KdvhiodHDEcGH2U52q1Feb
…bile Follows the GitHub rename to Prometheus-AGS/the-boss-mobile (rebrand-010): REPOSITORY_URL, README and issue-template links, root package name (with the desktopSyncAudit check and fixtures), podspec and packages/ui metadata, data docs and the fork-surface ledger. publishGitcodeRelease now refuses to run unless BOSS_ALLOW_GITCODE_PUBLISH=1, since it targets upstream's GitCode repo. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KdvhiodHDEcGH2U52q1Feb
…f oxfmt McpRuntimeService.ts gained an unsorted ATTRIBUTION_NAME import in the leftover-cleanup commit. .compass/ and .kbd-orchestrator/ hold state that the compass and KBD runtimes rewrite on every run, so formatting them would fail format:check after each tool invocation. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KdvhiodHDEcGH2U52q1Feb
…er tasks Task ledger, OpenSpec task checkboxes, KBD projections and session knowledge logs for the completed builder work. Verifier and security gate tasks stay open until the final phase gate. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KdvhiodHDEcGH2U52q1Feb
… the backend Security gate follow-ups (operator decisions). The consent sheet no longer links to Cherry's privacy policy; getPrivacyPolicyUrl returns undefined until a Know Me Tools policy URL exists. plugins.connect() now applies the same sign-in pause as authorization.begin, so GitHub personal tokens are refused in the backend, not only in the UI. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KdvhiodHDEcGH2U52q1Feb
… catalog Tests still asserted Cherry copy and the cherrystudio-dev:// GitHub callback; fixtures now derive from PRODUCT_NAME and URL_SCHEME. The agent prompt reads "The current app language in The Boss is …". providers.json is regenerated after the ppio docs link removal. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KdvhiodHDEcGH2U52q1Feb
…ames brand:check source literals now also match cherryai.com(.cn), cherry-studio and cherrystudio. Only the @cherrystudio/ npm scope form is excluded, so a handle such as @cherrystudio is still reported. The 14 technical-contract hits are exempted by path-scoped allowlist entries, each with a reason reviewed by the security gate (security finding F8). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KdvhiodHDEcGH2U52q1Feb
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.
What this PR does
Before this PR: the app shipped as Cherry Studio mobile, with upstream identifiers, upstream icons and colors, upstream error reporting and analytics, and links to CherryHQ.
After this PR: the app is The Boss (
the-boss-mobile), matching the-boss desktop. This is the KBD phaserebrand-the-boss-mobile-ui(11 OpenSpec changes,rebrand-001…rebrand-011).src/shared/brandingis the single source for the product name, company, ids, URL scheme, URLs and user agent.tools.know-me.the-boss[.dev|.preview], Androidtools.know_me.the_boss, URL schemetheboss.boss.css) with a WCAG contrast gate indesign:check. Contrast deviations are listed inpackages/design-tokens/DEVIATIONS.md.assets/branding/**byscripts/branding/generateBrandAssets.ts..xcstringsand Androidvalues-*, and "Boss Agent" naming.REPORTING_DISABLED, the Sentry plugin is removed, andANALYTICS_REPORTING_DISABLED.disabledReason: 'boss-accounts-coming-soon').docs/backend-services/README.mdlists what The Boss backend has to replace.Prometheus-AGS/the-boss-mobile; links, root package name, podspec andpackages/uimetadata updated.publishGitcodeReleasenow needsBOSS_ALLOW_GITCODE_PUBLISH=1, because it publishes to upstream's GitCode repo.pnpm brand:check, with an allowlist and tests, runs in PR CI.docs/contrib/{upstream-merges,fork-surface,upstream-merge-log}.mdcover merge discipline with upstream.@cherrystudio/*packages,cherry.db, MMKV ids,cherry://file/,_cherry-remote._tcpprotocol constants, and theCherryStudioUI/CherryStrings/CherryShareExtensionnative names. Keeping them avoids data migrations and keeps upstream merges clean..prometheussession state, as the operator requested.Fixes #
Screenshots or videos
Pending. The device walkthrough by the verifier gate on iOS and Android is still open, and screenshots will be added before this PR leaves draft.
Why we need it and why it was done in this way
The following tradeoffs were made:
APP_ID, as the operator asked. The Android form uses underscores because application ids cannot contain hyphens. As a result the app installs alongside existing Cherry Studio builds rather than upgrading them.DEVIATIONS.md.The following alternatives were considered: renaming the technical contracts too. That was rejected because it forces data migrations and merge conflicts on every upstream sync.
Breaking changes
New store identities: bundle id and package. Existing Cherry Studio installs do not upgrade in place, and app data does not carry over. The URL scheme changes from
cherrystudio://totheboss://.Special notes for your reviewer
Local gate results for this head:
format:check,i18n:check(13 languages),design:check,ui:check-boundaries,brand:check(2169 files) anddocs:check-links(317 files).lint,packages:build/typecheckand Jest.FormData is not definedeven on unchanged suites. The same config passed on the fork's CI at this base.typecheck:apperrors seen locally all come from the unbuilt@cherrystudio/ai-*packages; the branch does not touch those packages.Security gate: pass with notes, no blockers. Open items:
personal_tokenconnect is not blocked by the backend sign-in guard; only the UI blocks it.appleTeamIdis still upstream's. It must change before the first TestFlight upload.brand:checkdoes not yet matchcherryai.com.cnorcherry-studio.Deferred:
docs/webrtc/still names the old repo. It must stay identical to the copy in the-boss, so both repos will be updated together.Checklist
maindocs/backend-services/README.md)Release note
🤖 Generated with Claude Code
https://claude.ai/code/session_01KdvhiodHDEcGH2U52q1Feb