Conversation
🧪 BenchmarkShould we run the Virtual MCP strategy benchmark for this PR? React with 👍 to run the benchmark.
Benchmark will run on the next push after you react. |
Release OptionsSuggested: Minor ( React with an emoji to override the release type:
Current version:
|
There was a problem hiding this comment.
3 issues found across 14 files
Prompt for AI agents (unresolved issues)
Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.
<file name="apps/mesh/src/api/routes/decopilot/constants.ts">
<violation number="1" location="apps/mesh/src/api/routes/decopilot/constants.ts:170">
P2: Normalize `brand.domain` before composing URLs; otherwise values that already include a scheme produce malformed URLs.</violation>
</file>
<file name="apps/mesh/src/web/routes/onboarding.tsx">
<violation number="1" location="apps/mesh/src/web/routes/onboarding.tsx:64">
P2: `handleEmailSubmit` is never called, so the onboarding flow never transitions out of the initial "gathering" state. Add a trigger (button/form submission or auto-run once a session is available) to start the email-based flow; otherwise the page is stuck.</violation>
</file>
<file name="apps/mesh/src/web/views/settings/org-brand-context.tsx">
<violation number="1" location="apps/mesh/src/web/views/settings/org-brand-context.tsx:294">
P2: The page renders "No brand context" while the settings query is still loading or has failed, masking query state and misleading users.</violation>
</file>
Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.
| You are assisting the team at ${brand.name}. Always use this context to inform your responses — never call tools to look up information that is already provided here. | ||
|
|
||
| Company: ${brand.name} | ||
| Website: https://${brand.domain} |
There was a problem hiding this comment.
P2: Normalize brand.domain before composing URLs; otherwise values that already include a scheme produce malformed URLs.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At apps/mesh/src/api/routes/decopilot/constants.ts, line 170:
<comment>Normalize `brand.domain` before composing URLs; otherwise values that already include a scheme produce malformed URLs.</comment>
<file context>
@@ -143,6 +143,40 @@ Focus exclusively on:
+You are assisting the team at ${brand.name}. Always use this context to inform your responses — never call tools to look up information that is already provided here.
+
+Company: ${brand.name}
+Website: https://${brand.domain}
+Domain: ${brand.domain}
+Overview: ${brand.overview}
</file context>
| )} | ||
| </div> | ||
|
|
||
| {brand ? <BrandKitDisplay brand={brand} /> : <EmptyState />} |
There was a problem hiding this comment.
P2: The page renders "No brand context" while the settings query is still loading or has failed, masking query state and misleading users.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At apps/mesh/src/web/views/settings/org-brand-context.tsx, line 294:
<comment>The page renders "No brand context" while the settings query is still loading or has failed, masking query state and misleading users.</comment>
<file context>
@@ -0,0 +1,300 @@
+ )}
+ </div>
+
+ {brand ? <BrandKitDisplay brand={brand} /> : <EmptyState />}
+ </div>
+ </Page.Body>
</file context>
…ing route - Add brand_context column to organization_settings (migration 063) - Implement OrganizationSettingsStorage get/upsert with brand context - Add ORGANIZATION_SETTINGS_GET/UPDATE tools with brand context support - Add Brand Context settings page under Settings > Context - Add dynamic buildBrandContextPrompt() for decopilot prompt injection - Add onboarding route with email detection and org creation flow Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
3756622 to
a4a6eae
Compare
Summary
brand_contextcolumn toorganization_settings(migration 063) for storing org-level brand metadata (name, domain, colors, fonts, images)ORGANIZATION_SETTINGS_GET/ORGANIZATION_SETTINGS_UPDATEMCP tools with brand context supportbuildBrandContextPrompt()that accepts brand data as a parameter for decopilot prompt injection/onboardingroute with email-based org detection (corporate vs generic domain) and org creation flowTest plan
brand_contextcolumn is addedORGANIZATION_SETTINGS_UPDATEwith brand context payload and verify it persistsORGANIZATION_SETTINGS_GETand verify brand context is returned/onboardingand verify the email flow works (generic email → manual org name, corporate email → domain detection)buildBrandContextPrompt()returns empty string for null and formatted prompt for valid brand data🤖 Generated with Claude Code
Summary by cubic
Add org-level Brand Context with storage, tools, settings UI, and prompt injection, plus a redesigned onboarding flow that auto-detects or creates organizations, imports brand data from a website, and supports inline brand editing during setup.
New Features
ORGANIZATION_SETTINGS_GETandORGANIZATION_SETTINGS_UPDATE, and a new page at/$org/settings/brand-contextto view and edit company overview, logos, colors, fonts, and images.buildBrandContextPrompt()injects brand identity into decopilot prompts./onboarding: email domain detection with existing-org join or domain claim and workspace creation, optional?emailoverride for testing, website import to prefill brand context, and inline brand preview/edit before continuing.Migration
063-brand-contextto addbrand_contexttoorganization_settings.Written for commit a4a6eae. Summary will update on new commits.