Skip to content

Add blume-search extension - #30493

Closed
olavblj wants to merge 1 commit into
raycast:mainfrom
olavblj:ext/blume-search
Closed

Add blume-search extension#30493
olavblj wants to merge 1 commit into
raycast:mainfrom
olavblj:ext/blume-search

Conversation

@olavblj

@olavblj olavblj commented Aug 24, 2026

Copy link
Copy Markdown

Description

Screencast

Checklist

- chore: release v1.0.67
- chore: release v1.0.67
- Measure agent hours as work done, not how long a tab stayed open (#737)
- Add 1.0.64 email broadcast images (#742)
- Remove two stray screenshot files named -
- Redesign the first-run wizard around what the machine knows (#735)
- Website hotfix 2
- Website hotfix attempt 1
- Add Blume Wrapped: weekly recap cards (#722)
- Let the router deploy read AUTH_ISSUERS (#733)
- Make the first-run wizard gate fail closed (#730)
- Accept the issuer the auth service actually stamps (#732)
- fix(auth): preserve session security across clients (#717)
- Make PR review service-neutral and assign capability fallbacks (#731)
- docs(review): close reviewer fallback gaps
- docs(review): block when task posting fallback fails
- docs(review): make PR review service-neutral
- Merge pull request #726 from blumepage/codex/add-copywriting-skill
- clarify social copy skill routing
- fix(auth): deploy code and secrets atomically (#728)
- fix copywriting skill default prompt
- Add operator trigger for Web Lab host refresh (#727)
- First-run experience for users with no agent, and a managed model route (#721)
- Put the first-run surface in Storybook
- Verify tokens against the issuer auth actually stamps
- Add copywriting skill
- Fix Web Lab preview helper drift (#724)
- Give the resize test time for a login shell
- Merge pull request #725 from blumepage/codex/fix-storybook-auth-play-race
- Stop telling a signed-in user to sign in
- fix(ui-preview): avoid Storybook auth play race
- Merge remote-tracking branch \'origin/main\' into claude/blume-first-run-redesign-0f60da
- Merge pull request #576 from blumepage/agent/ui-preview-storybook
- Point the deployment contract at the renamed step
- Add repository PR review process (#723)
- fix(ui-preview): preserve base comparison build
- Accept a carriage return as a line boundary
- Say what the terminal actually produced when a wait times out
- fix(ui-preview): close local auth bypasses
- Run terminals in the user\'s shell, not /bin/sh
- fix(ui-preview): preserve component button styles
- Wait for the shell\'s reply, not its echo
- Merge main: artifact sync, device-bound tokens, catalog cleanup
- fix(ui-preview): cover latest shared components
- Merge remote-tracking branch \'origin/main\' into agent/ui-preview-storybook
- Fix the money and blast-radius findings from review
- feat(ui-preview): deploy authenticated preview
- Keep credential drops out of git
- Merge pull request #649 from blumepage/codex/artifact-sync
- Make the irreversible step the one CI enforces
- Collect a name when collecting a VAT number
- Merge remote-tracking branch \'origin/main\' into codex/artifact-sync
- Merge pull request #720 from blumepage/codex/claude-usage-terminal-command
- fix(ui-preview): encrypt preview sessions
- fix(ui-preview): gate documentation app locally
- Stop a merge from deploying live billing
- Let the router own its customer in test mode only
- Deploy each target to the Stripe world it belongs to
- Show Claude install steps during onboarding
- Deploy the router from CI, with secrets that sync themselves
- fix: persist runner sync state through storage
- feat(ui-preview): link composition consumers to stories
- Detect missing Claude CLI with stale credentials
- fix: reconcile runner metadata after main merge
- chore: address review performance warnings
- Merge remote-tracking branch \'origin/main\' into codex/artifact-sync
- fix(ui-preview): always reset auth submission state
- chore(ui-preview): refresh catalog after main merge
- Merge remote-tracking branch \'origin/main\' into agent/ui-preview-storybook
- feat(ui-preview): gate Storybook behind Blume auth
- Decide the currency and tax questions
- Merge remote-tracking branch \'origin/main\' into codex/claude-usage-terminal-command
- Improve Claude usage setup and menu bar defaults
- Model devices, installations, and runtime sessions
- Merge pull request #719 from blumepage/codex/fix-postiz-hostname
- Move Stripe from the sandbox to the real account
- Fix missing menu bar tray icons under the resvg rasterizer (#696)
- Refuse to run Stripe in the wrong world
- chore(ui-preview): refresh generated catalog after main merge
- Merge remote-tracking branch \'origin/main\' into agent/ui-preview-storybook
- Keep the Stripe key in one place
- docs: use canonical Postiz hostname
- Add the Stripe customer column to the auth database
- Merge pull request #689 from blumepage/claude/setup-details-redesign-4da1b6
- Let the auth service own the Stripe customer
- Give an invalid draft a way out
- Install the Pi that is actually maintained
- Stop asking a human for a public key
- Point the desktop app at the router that exists
- Add admin user details and synced items
- Point the router at its D1 database
- Merge remote-tracking branch \'origin/main\' into claude/setup-details-redesign-4da1b6
- Replace sync preview back action with skip
- Merge pull request #714 from blumepage/codex/revert-harness-pr-690
- Mirror the real PostHog flag definitions
- Revert "Merge pull request #690 from blumepage/codex/harness-parser-certification"
- Create Blume\'s feature flags from PostHog, not by hand
- Merge pull request #690 from blumepage/codex/harness-parser-certification
- fix harness certification review findings
- Assert rejected writes leave existing content intact
- Never seed or save a draft from another file\'s content
- Make router provisioning one command
- Move the guarded write route out of the legacy write predicate
- Fail closed on older runners and match markdown\'s click-to-edit
- Close the remaining compare-and-write gaps
- Make setup file saves a compare-and-write across both runtimes
- Address review findings on the setup detail page card
- Redesign the setup artifact detail page and share its content card
- Simplify synced item settings layout
- Show filenames in single-file sync previews
- Put sync location in preview timeline
- Give newcomers a managed Pi route, billed through Blume
- Merge remote-tracking branch \'origin/main\' into codex/harness-parser-certification
- Align sync preview controls with suggestions
- fix: configure git identity for Raycast publishing (#694)
- Prebuild harness parser before certification tests
- Show sync operations in settings card
- Reuse change review components for sync
- Serialize harness certification files
- Group sync location controls
- Make sync settings a page
- Track Augment mutation evidence
- Present missing synced directories as folders
- Track Augment LevelDB certification evidence
- Show content diffs in sync previews
- Keep scoped review within service limit
- Keep preview deploys green during comment outages
- chore: release v1.0.66
- fix: publish public Raycast extension (#693)
- Stabilize full PR test concurrency
- fix(ci): make preview and parser suites deterministic
- test(ci): exercise transient comment recovery
- fix(ci): retry preview comment reconciliation
- chore(review): scope full review below service limit
- fix(ui): address harness review performance warnings
- fix(admin): expose undeployed harness schema transparently
- style(harness-lab): normalize certification sources
- feat(harness-lab): add Linux TUI calibration tracks
- test: enforce capture-gated registry routes
- fix: keep capture-gated routes non-exact
- fix: gate unaudited native harness formats
- fix: keep parser certification consumers type-safe
- fix: keep Kiro CLI capture gate semantically empty
- feat: certify harness parsers and integrate admin monitoring
- Preview sync placement automatically
- Let the suggestion row scroll, and tuck the status inside the bubble
- fix: publish Raycast from stable update feed (#691)
- Show the command a terminal is running
- Fix Improve analytics and processing history (#651)
- Add safe artifact sync reconciliation
- Stop asking about tools Blume cannot read
- Gate Cloud Improve with PostHog (#692)
- Require login only for new installations (#688)
- Preserve synced folder boundaries
- Make the terminal behave like a terminal
- Handle rolling device endpoint deploys
- Give the terminal dialog a single bar
- Condense sync settings subtitle
- Align synced items with artifact lists
- Float the terminal as a minimisable dialog, and truly leave Blume
- Close artifact sync review edge cases
- Let users finish in their own terminal, and say where a key comes from
- Parallelize independent path checks
- Propose real project folders instead of an empty picker
- Preserve local sync state on remote failures
- Close artifact sync review edge cases
- Harden artifact sync runtime boundaries
- Guide first-run users all the way to a first session
- Validate device timestamps consistently
- Model account devices as stable installations
- Preserve artifact sync state while offline
- Merge remote-tracking branch \'origin/main\' into codex/artifact-sync
- Fix signed-out artifact sync state
- chore: release v1.0.65
- fix(release): preserve tag gate YAML (#686)
- chore: release v1.0.64
- fix(release): verify protected tags locally (#685)
- chore: release v1.0.63
- Use hero screenshot as social card and update meta title (#680)
- Merge remote-tracking branch \'origin/main\' into codex/artifact-sync
- fix(release): replace stale canary runners (#654)
- Authorize runner artifact sync paths
- Retire stalled release runners before deploy (#653)
- Reject dangling VPS sync destinations
- Fix missing synced artifact discovery
- Reserve Web Lab runner ports across deployments (#652)
- Let the terminal report command completion and suggest what to run next
- Keep setup terminals usable after the command finishes
- Harden sync path and move semantics
- Fix sync coverage regression fixture
- Allow slower Web Lab runner startup (#650)
- Validate desktop sync paths
- Harden artifact sync boundaries
- Turn the first-run welcome into a branching wizard with in-app terminal
- Bundle artifact sync in Electron main
- Merge remote-tracking branch \'origin/main\' into codex/artifact-sync
- Merge remote-tracking branch \'origin/codex/embedded-terminal-page\' into claude/blume-first-run-redesign-0f60da
- Add first-run welcome wizard for machines without agent sessions
- Fix Electron 43 cross-platform release builds (#648)
- Add cross-system artifact sync
- Move login setting into System page (#645)
- Accept current Gateway ZDR audit evidence (#646)
- Fix canary release and align Cloud Improve context (#644)
- Add local Blume search for Raycast (#642)
- Remove global todo-list integration (#643)
- Link Web Lab and Electron deployments in admin cards (#641)
- chore: release v1.0.62
- chore: release v1.0.61
- Wire hero subtitle experiment into the landing hero (#639)
- Add referral share experiment flow (#604)
- Classify rejected Gateway ZDR token order (#636)
- Classify rejected Gateway suffix semantics (#631)
- Add booking thank-you page (#634)
- Fix Terms of Service placeholders (#633)
- Classify rejected Gateway suffix structure (#630)
- Refine rejected Gateway attempt diagnostics (#629)
- Classify rejected Gateway requested clauses (#628)
- Diagnose invalid Gateway ZDR suffixes (#627)
- Diagnose prefixed Gateway ZDR evidence (#626)
- Classify Cloud Gateway ZDR prefix evidence (#625)
- Stage Cloud Gateway ZDR grammar diagnostics (#624)
- Diagnose Cloud Gateway ZDR evidence (#623)
- Accept omitted Gateway provider model identity (#622)
- Accept omitted Gateway attempt model identity (#621)
- Diagnose Cloud Gateway attempt metadata (#620)
- Allow omitted Gateway resolved model metadata (#619)
- Classify missing Cloud model metadata safely (#618)
- Classify Cloud resolved model shape safely (#617)
- Diagnose Cloud resolved model metadata safely (#616)
- diagnose(cloud): classify provider metadata drift (#615)
- Fix Cloud Gateway attempt metadata verification (#614)
- Fix Cloud Gemini ZDR routing through Vertex (#613)
- Record live Cloud ZDR certification blocker (#612)
- Diagnose Cloud provider policy certification safely (#611)
- fix: classify Gateway certification failures safely (#610)
- feat: certify Cloud provider privacy route (#609)
- docs: record Cloud trusted-main deployment proof (#608)
- Fix main LLM candidate deployment (#606)
- Fix trusted release environment validation (#605)
- Inherit installed account sessions in desktop dev (#602)
- Track suggestion activation and run first-enable analysis (#601)
- Add Cloud suggestion processing (#603)
- Reduce idle desktop resource usage and add dev profiles (#600)
- Fix production errors identified in PostHog (#599)
- Open inactive agents from detail routes (#596)
- Make PR sub-agent review conditional (#597)
- Enable social login in desktop dev (#598)
- Merge pull request #595 from blumepage/optimize-coderabbit-limit
- docs: deduplicate Blume PR review policy
- Add login-required PostHog experiment (#593)
- chore: release v1.0.60
- Prevent Improve worker failures from quitting Blume (#590)
- Stop emitting request lifecycle telemetry for list-ready-conversations (#591)
- Merge pull request #583 from blumepage/suggestion-ai-editing
- fix(improve): preserve long inline revision edits
- fix(improve): preserve revision across namespaces
- Merge remote-tracking branch \'origin/main\' into suggestion-ai-editing
- fix(improve): rerun after suggestion revision
- chore: release v1.0.59
- Add BlurReveal wrapper and blur the usage tab account email (#586)
- Scope improve cluster and signal reads to the run\'s agent-set namespace (#584)
- test(improve): cover feedback upload eligibility
- Merge remote-tracking branch \'origin/main\' into suggestion-ai-editing
- Replace native menu bar menu with custom popover (#579)
- fix(improve): clear stale inline edit validation
- fix(improve): scope revision claims and edit validation
- fix(improve): harden suggestion revision boundaries
- fix(improve): bound revision context and preserve relations
- fix(improve): validate runner revision messages
- feat(improve): revise suggestions with AI feedback
- Add project tracking exclusions (#578)
- Refine shared settings and configurable list styles (#580)
- feat(ui-preview): add authenticated Storybook preview
- Prettify and syntax-highlight tool-call input/output (#568)
- Add Teamtailor careers integration (#563)
- fix(release): authenticate versioned web lab (#574)
- fix(sidecar-ui): steady the agent log and sequence agent list motion (#570)
- test(auth): verify non-admin CI access is denied (#572)
- feat(auth): extend Better Auth to every dashboard, and verify sessions via JWKS (#571)
- feat(desktop): honor PostHog flag overrides in all build channels (#566)
- fix(terminal): address automated review findings
- fix(terminal): preserve retries across navigation
- fix(terminal): parallelize worker shutdown
- Merge remote-tracking branch \'origin/main\' into codex/embedded-terminal-page
- fix(terminal): harden lifecycle and output replay
- Add GitHub sign-in and account pages (#562)
- Add Claude creative preview loop (#561)
- feat(desktop): add embedded terminal pages
- Feature-flag accounts and shared feature request board (#549)
- Fix feedback chat email identity and reply delivery (#560)
- feat(desktop): add local PostHog flag controls (#528)
- Give category avatars a flat background from one of three picked sets (#553)
- Fix footer logo optical alignment (#559)
- fix(website): keep landing flower in sync across SSR (#534)
- Add setup artifact deletion actions (#537)
- add Blume marketing materials skill (#556)
- Add selector discovery to Web Lab screenshots (#550)
- chore: release v1.0.58
- fix: require Developer ID G2 signing (#548)
- Make suggestion diffs toggle from the code area (#535)
- Polish artifact tree row alignment (#545)
- Show plugin names and harden preview cleanup (#543)
- Allow Web Lab Workers to reach release runners (#542)
- Collapse tool activity in recent conversations (#538)
- Organize project artifacts into expandable folders (#536)
- Improve suggestion details and dismissal feedback (#527)
- Restore the landing page petal effect (#532)
- Self-host Postiz with a native Sanity publishing channel (#530)
- feat(brand): one canonical Blume lockup everywhere (#520)
- docs(review): bound adversarial PR review loop (#533)
- feat(web-lab): add screenshot studio and capture CLI (#526)
- Wire landing registration emails to feedback chat (#529)
- Expand the setup-audit catalog to v2: plugins, scope, enforcement, parity (#531)
- Fix boot identity race, share event bursts, and referral claim telemetry (#507)
- fix(desktop): filter shutdown noise from render-process-gone telemetry (#523)
- Add the context-engineering setup audit (v1) (#516)
- Send feedback chat replies to registered emails (#525)
- feat(avatars): gradient category backgrounds instead of a flat wash (#519)
- fix(desktop): fail fast with a clear notice when window.api is missing (#522)
- Redesign suggestion details and add safe mock suggestions (#496)
- fix hanging test (#515)
- fix(website): SEO quick wins — complete blume.page → blume.codes migration (#469)
- Merge pull request #506 from blumepage/danny/remove-dead-scorer-events
- feat(website): add closed-loop blog social analytics (#493)
- Merge pull request #505 from blumepage/codex/fix-claude-background-agent-status
- chore(website): remove dead instruction-scorer event constants
- Fix Claude background agent session status
- Merge pull request #502 from blumepage/fix/ipc-offline-network-error-telemetry
- Merge pull request #504 from blumepage/danny/repair-instrumentation
- Merge pull request #503 from blumepage/danny/improve-quota-retry-guard
- fix(desktop): confirm offline IPC failures
- Stop leaking route params as super properties; add onboarding step telemetry
- Skip improve force-retry on plan-quota and ENOENT failures
- fix(desktop): count offline network IPC failures as telemetry, not errors
- Merge pull request #501 from blumepage/danny/fix-walkjsonl-stack-overflow
- Fix stack overflow in walkJsonl on huge session directories
- Merge pull request #500 from blumepage/danny/restore-to-open-confirmation
- Show a confirmation after undoing or restoring a suggestion
- Remove petals from skeleton loading states (#494)
- feat(desktop): surface ready updates in footer (#490)
- fix(admin): persist shared-password login (#487)
- Add feature-flagged Sanity blog (#443)
- Animate agent list changes with calm destination motion (#448)
- Remove Autonoma integration (#481)
- Remove obsolete preview QA hooks (#485)
- Merge pull request #419 from blumepage/codex/macos-updater-announcements
- Merge remote-tracking branch \'origin/main\' into codex/ready-pr419
- Merge pull request #442 from blumepage/codex/updater-certification-bootstrap
- Fix stem-attached bluebell gravity (#484)
- Add Blume MCP continuity integration (#421)
- fix: reject announcement redirects
- Merge remote-tracking branch \'origin/main\' into codex/ready-pr442
- Merge remote-tracking branch \'origin/main\' into codex/ready-pr419
- Merge pull request #477 from blumepage/codex/fix-wallpaper-downloads
- Gate phone sharing on Electron runtime
- Align website wallpaper action with browser download
- Fix wallpaper exports and nested menu flicker
- fix: harden announcement rollout and runner retries
- Merge remote-tracking branch \'origin/main\' into codex/ready-pr442
- Merge remote-tracking branch \'origin/main\' into codex/ready-pr419
- Merge remote-tracking branch \'origin/main\' into codex/ready-pr419
- Merge pull request #482 from blumepage/codex/flower-wallpaper-continuity
- Merge remote-tracking branch \'origin/main\' into codex/ready-pr442
- Add continuous anchored flower wallpapers
- Merge pull request #478 from blumepage/codex/match-dock-icon-flower
- Match macOS Dock icon to selected flower
- Add shared flower petal rewards (#447)
- Fix Claude question sessions shown as running (#444)
- Merge pull request #470 from blumepage/danny/dev-format-read-only-file-viewer
- Merge pull request #471 from blumepage/danny/fix-improve-pipeline-test-types
- Fix typecheck errors in improve pipeline orchestration tests
- Add read-only dev-format file reads to the dev explorer
- chore: release v1.0.57
- Refine landing journey flower crowns (#457)
- Email launch (#459)
- Remove scorer tools from website (#456)
- Merge pull request #454 from blumepage/danny/fix-improve-codex-multi-message-parse
- Merge pull request #455 from blumepage/danny/improve-agent-worker-request-telemetry
- Add content-free improve agent worker request telemetry.
- Fix codex report parsing failing on prose agent messages
- Merge pull request #453 from blumepage/codex/fix-updater-logger-error
- fix: preserve native updater errors in logging
- Merge pull request #452 from blumepage/danny/agent-setup-tweaking
- Restore guarded Autonoma rolling-result summary in AGENTS.md
- minor improvements to agent setup based on running blume\'s advice on itself
- Fix showcase flower click target (#449)
- Fix landing flower avatar backgrounds (#445)
- Default launch at login with Settings control (#437)
- docs(web-lab): document announcement recovery scenario
- fix(ci): isolate certification dispatch inputs
- fix(ci): preserve preview policy contract
- ci(updater): add isolated macOS certification
- docs(updater): cover affected stable Electron baseline
- test(web-lab): route recovery seed through worker
- test(web-lab): seed recovery announcement deterministically
- Merge remote-tracking branch \'origin/main\' into codex/macos-updater-announcements
- test(web-lab): seed announcement recovery sessions
- Refine Autonoma PR test lifecycle (#439)
- Merge remote-tracking branch \'origin/main\' into codex/macos-updater-announcements
- Merge remote-tracking branch \'origin/main\' into codex/macos-updater-announcements
- Block merges on missing Autonoma evidence (#435)
- Fix stable setup discovery and polish shared project UI (#431)
- Merge pull request #433 from blumepage/danny/untitled-session-recovery
- fix: absorb Claude session-id fallback rows and stop rendering uuid titles
- Fix deployment registry Access authentication (#425)
- chore: release v1.0.56
- Alias discontinued PR canary feed
- Migrate live admin email settings to blume.codes (#381)
- Fix canary update version state
- fix: close announcement release readiness gaps
- fix: authenticate canary main verification (#422)
- Merge remote-tracking branch \'origin/main\' into codex/macos-updater-announcements
- Add artifact inventory and type-aware detail pages (#420)
- Merge remote-tracking branch \'origin/main\' into codex/macos-updater-announcements
- feat: redesign incremental improvement processing workflow (#412)
- fix(desktop): install Electron runtime during setup
- Add release bundle deployment dashboard and manual canary flow (#408)
- fix(website): scope Vercel workspace install
- Merge origin/main into codex/macos-updater-announcements
- feat: add targeted product announcements
- Default Web Lab to VPS and filter self-run conversations (#418)
- Improve referral flow (#415)
- Extract reusable Blume flow package (#411)
- Isolate stable and canary desktop releases (#409)
- Remove obsolete UI preview apps (#413)
- fix(desktop): harden macOS updater migration
- Polish onboarding, settings, and setup interactions (#410)
- Merge pull request #384 from blumepage/danny/hide-empty-global-artifacts
- hide empty global artifacts sections for cleanliness/simplicity
- Merge pull request #406 from blumepage/danny/harness-skills
- claude display improvement
- Add harness-support skills
- Minimum fix for the new signal kind model (#403)
- docs: map harness feature surface
- Refine sidecar navigation and compact layouts (#395)
- Better terminal failure feedback (#400)
- Refine category flower avatars (#393)
- Stabilize active conversation ordering (#392)
- Preview project avatars with lighter category backgrounds (#390)
- Improvement settings formulation updates (#389)
- Refine signal analytics design (#370)
- New smart timing model (#388)
- Fix Claude usage authentication guidance (#387)
- Normalize project avatar sizing and corners (#385)
- test(app-core): keep conversation fixture aligned
- Provider aware onboarding (#379)
- Add dev background process diagnostics (#380)
- Fix renderer re-render fan-out and dev profiling (#378)
- Connect Web Lab PR previews to Autonoma (#330)
- Add entity page components (#382)
- Polish category flower heads: uniform size, in-family colors, better bells (#373)
- Make signal analytics only use turns from non-controlled agents (#377)
- Small agent improval (#374)
- Better numbers on analyzed messages (#372)
- Add conversation actions menu and cross-harness handoff (#352)
- Merge pull request #371 from blumepage/danny/web-lab-snapshots-include-session-file
- Include content of session jsonl file in web lab snapshots
- Sql migration drop improve data (#366)
- Simplify Improve beta banner (#367)
- Onboarding agent with signals (#364)
- Windows support and planner harness rundir (#361)
- Merge pull request #356 from blumepage/claude/avatars-flowers
- Merge remote-tracking branch \'origin/main\' into claude/avatars-flowers
- Replace @blumepage/dicebear-flowers with @blume/avatars-flowers
- Add @blume/avatars-flowers: deterministic flower avatar package
- Add signal analytics and cohort comparison (#346)
- Merge pull request #354 from blumepage/codex/fix-journey-flower-buttons
- fix(website): restore showcase flower selection
- Merge pull request #316 from blumepage/codex/blume-admin-panel
- Merge pull request #351 from blumepage/codex/redesign-waitlist-email
- Redesign landing page download email
- Document Railway-hosted Chatwoot topology
- Merge pull request #345 from blumepage/codex/resolve-cogsur-round-by-post
- Resolve CogSur manual orders by post
- Focus edges for selected architecture nodes
- Merge pull request #343 from blumepage/codex/repeat-cogsur-manual-orders
- Allow repeated CogSur manual orders
- Use GitHub logo for Actions node
- Deduplicate crossing overpass arcs
- Merge pull request #342 from blumepage/codex/fix-cogsur-manual-request
- Fix CogSur manual order validation
- Fix hybrid vertex crossing jumps
- Let CogSur product picker escape dialog
- Add manual CogSur comment text list
- Generalize architecture layout editing
- Fix admin dashboard brand marks
- Add manual CogSur external agent orders
- Place local external nodes near dependencies
- Reduce architecture route overlap
- Fix architecture layout ranking
- Fix architecture layout fallback
- Merge remote-tracking branch \'origin/main\' into codex/blume-admin-panel
- Merge pull request #335 from blumepage/codex/fix-cogsur-rendering
- Align Cogsur PNG test types
- Address Cogsur review feedback
- Fix Cogsur media and agent comments
- Merge pull request #329 from blumepage/codex/fix-ios-wordmark-clipping
- Scope mobile showcase CSS checks
- Use SN Pro for mobile showcase controls
- Polish mobile showcase controls
- Strengthen wordmark sizing regression
- Prevent iPhone wordmark clipping
- Merge pull request #328 from blumepage/codex/fix-mobile-header
- Keep app preview header logo visible
- User pain merge new architecture (#301)
- Merge pull request #327 from blumepage/codex/restore-agents-preview
- Refine website preview presentation
- Restore animated Agents preview
- Merge pull request #320 from blumepage/codex/fix-claude-parser-identities
- Harden Claude auxiliary cleanup
- Fix Claude auxiliary session identities
- Merge pull request #319 from blumepage/codex/fix-agent-view-flicker
- Strengthen reload stability regression
- Fix conversation view flicker during ingest
- Address admin panel review findings
- Merge main into codex/blume-admin-panel
- Build Blume admin operations console
- Merge pull request #315 from blumepage/codex/fix-privacy-copy
- Refine journey privacy language
- Fix journey privacy copy
- Merge pull request #314 from blumepage/codex/pr-area-labels
- Merge pull request #310 from blumepage/codex/global-search
- Handle optional Web Lab feedback failures
- Automate PR area labels
- Merge remote-tracking branch \'origin/main\' into codex/global-search
- Handle stale search focus and invalid limits
- Merge pull request #311 from blumepage/codex/website-shared-ui
- restore landing preview choreography
- Merge remote-tracking branch \'origin/main\' into codex/global-search
- Harden legacy identity and read-only search
- restore landing feedback back navigation
- Add keyboard search filter navigation
- fix Vercel website build output
- Merge remote-tracking branch \'origin/main\' into codex/website-shared-ui
- Keep focused transcripts current
- configure Vercel monorepo linkage
- Replace desktop previews with Web Lab PR previews (#309)
- Clarify explicit dev conversation titles
- revert journey step typography
- fix feedback header and journey typography
- fix landing feedback chat mode
- Resolve dev labels from checkout paths
- Reject orphaned subagent dev labels
- fix website review findings
- Resolve dev labels from exact Codex tasks
- Merge remote-tracking branch \'origin/main\' into codex/global-search
- Fix search navigation and runtime isolation
- Remove journey copy preview page
- Add Blume website with shared product previews
- Merge pull request #299 from blumepage/codex/parse-nested-codex-todos
- Address adversarial architecture and performance review
- Address search review feedback
- Cover boot ingest notification bursts
- Fix Improve refresh flicker
- Add global and contextual search
- Coarsen compact activity timestamps
- Align runner failure reason boundaries
- Fix downstream conversation summary typing
- Fix terminal conversation status and compact metadata
- Detect Codex null-final failures
- Fix project setup file authorization handoff
- Address parser parity review findings
- Fix canonical parser parity on large and child transcripts
- perf: streamline Claude lineage parsing
- Merge remote-tracking branch \'origin/main\' into codex/parse-nested-codex-todos
- fix: deduplicate cloned Claude conversations
- Add configurable onboarding guide (#305)
- fix review findings for identity refresh parity
- Make architecture compliance explicitly blocking
- Align project status bubbles with compact cards
- Keep canonical owners for Cursor worktrees
- Merge remote-tracking branch \'origin/main\' into codex/parse-nested-codex-todos
- Fix optional transcript pagination flags
- Paginate long views and fix Web Lab parity
- Address project identity review
- Unify project worktree lists
- Merge pull request #304 from blumepage/codex/upgrade-dicebear-flowers-v2
- Upgrade flower avatars to DiceBear v2
- fix: stabilize canonical project names
- fix: address conversation refresh review
- fix: align transcript steps and project identity
- Merge pull request #302 from blumepage/codex/menu-bar-usage-dropdown
- Improve menu bar usage dropdown
- fix: keep active conversation details fresh
- fix: show Codex todo progress
- Merge pull request #286 from blumepage/codex/improve-setup-overview-ui
- perf(setup): accelerate project artifact scans
- Merge remote-tracking branch \'origin/main\' into codex/improve-setup-overview-ui
- feat(setup): redesign project inventory and loading
- Merge pull request #297 from blumepage/codex/idle-user-stopped-conversations
- fix stopped Claude conversations showing as running
- Merge remote-tracking branch \'origin/main\' into codex/improve-setup-overview-ui
- Merge pull request #293 from blumepage/codex/fix-dev-conversation-preflight
- Merge pull request #295 from blumepage/codex/fix-conversation-state-classification
- Merge remote-tracking branch \'origin/main\' into codex/improve-setup-overview-ui
- Merge pull request #296 from blumepage/codex/harden-settings-boundary-fixture
- Fix setup summary cancellation and workspace identity
- Make parser signal supersession source-aware
- Surface settings lock worker failures
- Guard workspace link parent symlinks
- Merge pull request #291 from blumepage/codex/fix-settings-menu-bar-hang
- Bound settings adapter regression process
- Persist lightweight project setup summaries
- Keep active Codex turns running after refresh
- Harden workspace package isolation
- Merge remote-tracking branch \'origin/main\' into codex/fix-settings-menu-bar-hang
- Display home-relative project paths
- Fix settings retry at SQLite connection boundary
- Refine project hovercard trigger
- Fix conversation error state classification
- Merge remote-tracking branch \'origin/main\' into codex/improve-setup-overview-ui
- Merge pull request #294 from blumepage/codex/shared-flower-unlocks
- Share flower unlocks across desktop and Web Lab
- Clarify scalable concurrency guidance
- Address setup architecture review
- Harden settings retry regression coverage
- Fix desktop dev conversation preflight
- Merge main architecture into setup redesign
- Prevent settings writes from blocking Electron
- Merge pull request #292 from blumepage/codex/add-blume-architecture-skill
- Require desktop performance incident updates
- Add Blume architecture skill
- Merge pull request #172 from blumepage/claude/wonderful-mendel-cf987f
- Fix Web Lab conversation details layout
- Restore sidecar UI and conversation parity
- Fix macOS conversation watcher deadlock
- Address setup review feedback
- Restore complete shared conversation search
- Restore shared agent routing boundaries
- Notify shells when shared settings change
- Keep acknowledged conversations idle
- Simplify global setup inventory
- Restore shared settings navigation parity
- Refresh shared Improve views live
- Restore shared conversation route parity
- Integrate project show more row
- Restore native menu bar parity
- Share menu bar preferences UI
- Restore shared agent card preferences
- Revert "Unify the app design language"
- Share product UI settings keys
- Merge remote-tracking branch \'origin/main\' into claude/wonderful-mendel-cf987f
- Unify the app design language
- Refine setup harness selector
- Show git project metadata in setup header
- Add project and worktree setup list
- Prevent project preview layout shifts
- Fix wordmark font loading in worktrees
- Align project setup header
- Improve global setup navigation
- Simplify setup interface
- Fix web-lab acknowledgement and session recovery
- Improve setup overview and project identity
- chore: release v1.0.54
- Merge pull request #284 from blumepage/codex/fix-posthog-release-race
- Make PostHog source map injection idempotent
- Update latest main reconciliation status
- Merge latest main through shared architecture
- Merge pull request #266 from blumepage/codex/running-conversations-page
- Document PR 172 recovery readiness
- Upload shared Improve lifecycle feedback
- Align transcript search case normalization
- Share controlled Improve developer surface
- Route desktop Improve through controlled agents
- Run controlled Improve agents in web runner
- Tighten controlled Improve adapter types
- Batch transcript search by newest turn
- Expose controlled agent task types
- Add shared Node controlled agent runtime
- Share controlled Improve tool handlers
- Address legacy CodeRabbit review findings
- Guard shared product host boundaries
- Address CodeRabbit follow-up review
- Share Improve suggestion display feedback
- Adapt desktop SQLite migration driver
- Open shared settings in web shell
- Restore controlled Improve agent core
- Restore conversation refresh protocol coverage
- Expand desktop migration upgrade coverage
- Unify legacy desktop SQLite storage access
- Keep shared settings entry point available
- Share conversation title actions across hosts
- Merge remote-tracking branch \'origin/main\' into codex/running-conversations-page
- Polish conversation transcript and menu settings
- Restore shared Improve control plane policy
- Restore shared Insights eval tooling
- Restore incremental conversation refresh updates
- Fix shared path identity and Improve regression coverage
- Merge origin/main into shared architecture branch
- Clear stale Codex todos on new turns
- Unify conversation timelines and cap transcript page payloads
- Fix Codex todo refresh for large sessions
- Classify conversation state live for deferred Codex transcripts
- Move launch at login to settings
- Fix conversation refresh contention
- Reset Claude task todos on user turns
- Merge pull request #280 from blumepage/codex/fix-canary-blocked-feed-metadata-20260712
- Prevent updater download failures from crashing desktop
- Fix blocked desktop feed fallbacks
- Merge pull request #276 from blumepage/codex/fix-desktop-download-helper-20260712
- Fix stable desktop download fallback
- Block accidental internal canary release
- Block accidental release in download helpers
- Block accidental desktop release 1.0.53
- Revert "chore: release v1.0.53"
- chore: release v1.0.53
- Fix web-lab runner response caching
- Guard web-lab conversation reloads
- Prevent conversation reload starvation
- Speed up inactive conversation loading
- Add web-lab live projection test hooks
- Fix web-lab host reload after session changes
- Use Claude session state for running conversations
- Use Claude session state for approval waits
- Add live tail updates for active transcripts
- Fix web-lab conversation state projection
- Fix web-lab conversation state projection
- Fix conversation refresh performance regression
- Fix live recent activity freshness
- Fix agents list hydration test mock
- Keep recent activity live while agents run
- Keep active conversation timestamps fresh
- Add granular menu bar content settings
- Add browser screenshot troubleshooting skill
- Show recent activity chronologically
- Default menu bar usage off
- Keep conversation activity fresh while parsing
- Ignore command-only Claude transcripts
- Show relative recent activity times
- Refresh agent activity on conversation updates
- Address agent settings follow-up review
- Preserve provider rename titles in shared ingest
- Address agent view settings review
- Merge pull request #267 from blumepage/codex/agent-view-config
- Add web lab rename title test case
- Align compact card status action
- Deduplicate agent project context props
- Address agent view PR feedback
- Add configurable agent card views
- Install bubblewrap on web lab VPS
- Polish menu bar dropdown and status header
- Use real PTY for web lab terminals
- Merge branch \'main\' of github.com:blumepage/sidecar-prototype into codex/running-conversations-page
- Address CodeRabbit review feedback
- Use dedicated web lab runner VPS
- Add menu bar usage and conversation details
- Hide local runtime in deployed web lab
- Name the web lab VPS runtime
- Normalize web lab runner label aliases
- Recognize web lab runner VPS alias
- Label web lab VPS runtime
- Embed web lab menu bar logo asset
- Fix local web lab runtime controls
- Tidy web lab menu bar controls
- Add selectable web lab runtimes
- Darken web lab menu bar
- Share menu bar conversation row rendering
- Remove web lab menu labels
- Share menu bar tray icon renderer
- Share menu bar rendering with web lab
- Port batched agents list hydration
- feat(web-lab): simulate menu bar status
- fix(web-lab): recover stale runner state
- fix(sidecar-ui): use tree icon for worktrees
- docs: clarify completed todo card expectation
- fix(sidecar-ui): collapse completed todo progress
- docs: tighten web-lab testing guidance
- Batch agents list hydration (#260)
- Batch agents list hydration
- Fix web-lab terminal control sequencing
- Fix web-lab conversation liveness projection
- Merge pull request #257 from blumepage/codex/wonderful-mendel-main-sync
- Merge wonderful-mendel updates into PR branch
- Fix suggestion query regression fixture
- Add web-lab parser validation cases
- Fix shared architecture review gaps
- Show completed todo lists on finished cards
- Require conversation refresh worker
- Port menu bar conversation row rendering
- Mark main sync branch pushed
- Track wonderful-mendel parity sync
- Move web-lab snapshots into terminal rail
- Add web-lab parser validation skill case
- Add web-lab TUI snapshot capture
- Move web-lab snapshots into terminal rail
- Allow feature flags when tracking is disabled
- Add web-lab parser validation skill case
- Defer local insights eval runner references
- Port insights control storage schema
- Port improve app-core main parity
- Allow feature flags when tracking is blocked (#256)
- Allow feature flags when tracking is blocked
- Track main parity follow-up tasks
- Restore insights control artifacts
- Add web-lab TUI snapshot capture
- Run conversation refresh ingest in utility worker
- Run parser binding off the Electron main process
- Bound conversation startup discovery in app core
- Render menu bar status badges like main
- Delay conversation backfill after boot ingest
- Port native menu bar status parity
- Port settings subpage analytics parity
- Port desktop release hardening parity
- Port native shortcut and pinned hit area parity
- Gate menu bar status item behind PostHog flag (#255)
- Add menu bar status item (#254)
- Merge pull request #226 from blumepage/codex/shared-product-migration
- Prioritize inactive project labels
- Mark PR readiness tracker complete
- Tighten PR readiness tracking
- Tune conversation title size
- Centralize Gelica heading weights
- Use medium Gelica conversation titles
- Let Gelica heading weights apply
- Try bold Gelica conversation titles
- Tune conversation title weight and clipping
- Center conversation title row content
- Align conversation title row
- Use medium weight for Gelica headings
- Use shared Gelica heading font
- Add CodeRabbit architecture review guardrails
- Tune conversation title size
- Soften conversation title typography
- Reuse conversation card header in detail views
- Guard duplicate web-lab terminal tabs
- Tidy web-lab tab controls and inactive metadata
- Add web-lab SQLite DB inspector
- Tidy inactive card metadata layout
- Refine inactive history card chrome
- Fix completed tool activity state
- Document bounded web-lab agent tests
- Refine inactive card metadata layout
- Focus inactive conversation cards on titles
- Fix web-lab inactive fixture mutations
- Reuse agent card for inactive history
- Scope web-lab projects to active session
- Fix web-lab project worktree identity
- Support terminal control key tokens
- Add web-lab terminal controls
- Add web-lab VPS preflight and deploy scripts
- Fix web-lab conversation card parity
- Remove terminal-driven conversation refresh
- Align web-lab parser contract with desktop
- Fix web-lab Claude conversation ingest
- chore: release v1.0.52
- Desktop perf: move transcript parsing off the main process, bound startup scanning (#247)
- Fix web-lab parity feature gaps
- Sanitize web-lab runner proxy headers
- Route web-lab runner requests through Worker
- Proxy web-lab runner through Worker
- Add Cloudflare web-lab deploy
- Onboarding agent in framework (#239)
- Fix web-lab runner ingest parity
- Fix stable canary baseline release (#237)
- Add web-lab visual parity harness
- Avoid broad VPS setup snapshots
- Fix web-lab VPS conversation ingest
- Update Hostinger lab VPS recovery status
- Document Hostinger VPS inventory
- [codex] Build MCP improvement agent control plane (#225)
- Bound VPS runner SSH connect timeout
- Align web-lab chrome with Blume theme
- Fix web-lab inactive detail parity
- Restore rich inactive conversation detail
- Allow runner SQLite beside legacy desktop DB
- Fix setup project and web-lab parity
- Tighten web lab host parity
- Update shared migration review guardrails
- Guard desktop sqlite legacy storage reads
- Align runner and web host review surface
- Fix parser identity and apply path review issues
- Fix stale parser terminal state projection
- Fix Claude parser failure projection
- Fix active agent state projection
- Fix stale agent visibility and codex project fallback
- Address shared migration review comments
- Address shared migration review findings
- Mark PR readiness checklist complete
- Fix parser remap and desktop row guards
- Merge wonderful mendel base into migration PR
- Track PR merge readiness plan
- Mark migration goal complete
- Finalize shared migration audit
- Add e2e warm deep-link proof path
- Mark close trigger pushed in tracker
- Add e2e native close trigger
- Quarantine legacy conversation parsers
- Mark quit IPC guard pushed in tracker
- Update migration tracker after quit IPC guard
- Guard desktop IPC during native quit
- Mark data safety proof pushed in tracker
- Update migration tracker after data safety proof
- Add desktop migration data preservation test
- Mark parser fix pushed in migration tracker
- Update migration tracker after Electron smoke
- Fix parser compact UTF-8 truncation
- Update migration tracker after validation smoke
- Update migration tracker after provider parity
- Add provider projection parity fixtures
- Update migration tracker after parser cleanup
- Remove session JSONL fallback parsing
- Add Codex live parser-binding fixture
- Update canonical parser boot log
- Update migration tracker after startup policy slice
- Move desktop startup policy to app core
- Align migration checklists with current boundaries
- Update migration tracker after setup slice
- Move desktop setup facade policy to app core
- Delete stale Improve service entrypoint
- Clarify migration progress tracker
- Update migration tracker after Improve projection slices
- Route desktop Improve suggestions through shared adapter
- Share web Improve projections and progress events
- Update migration tracker after settings IPC slice
- Move desktop settings IPC policy to app core
- Track desktop Improve adapter worker
- Track web Improve and settings IPC workers
- Update migration tracker after Improve and Claude slices
- Preserve Claude task ids in canonical parser
- Move runner Improve suggestion actions to app core
- Track next shared migration workers
- Update migration tracker after Cursor and window slices
- Move native window bounds policy to app core
- Require canonical parser for Cursor sessions
- Remove stale Codex parser telemetry helper
- Track native window bounds worker
- Track active migration agents
- Track Cursor fallback deletion worker
- Add Cursor parser binding coverage
- Track Cursor parser prerequisite worker
- Require canonical parser for Claude sessions
- Track Claude Cursor parser findings
- Track Claude Cursor parser explorers
- Require canonical parser for OMP sessions
- Track OMP fallback deletion worker
- Add OMP live parser binding coverage
- Track OMP parser coverage worker
- Require canonical parser for Pi sessions
- Move usage provider key policy to app core
- Track usage policy worker
- Remove Codex TypeScript parser fallback
- Track Codex parser fallback cut
- Declare desktop sidecar host dependency
- Track parser fallback deletion explorer
- Wire runner Improve runs through shared signal pipeline
- Track runner Improve pipeline worker
- Add shared Improve signal pipeline storage
- Add OMP parser projection parity fixture
- Track active migration worker wave
- Add Pi parser projection parity fixture
- Track shared migration takeover checklist
- Add runner Improve extraction adapter
- Add Codex parser projection parity fixture
- Mark shared web Improve run PR update
- Route web Improve runs through shared use case
- Track web Improve shared run worker
- Fix web lab Tailwind build dependency
- Mark web Improve apply evidence PR update
- Mark web Improve apply evidence committed
- Enable web Improve apply evidence routes
- Mark Improve metadata PR update complete
- Track web Improve apply parity worker
- Persist shared Improve suggestion metadata
- Track web Improve parity worker queue
- Mark setup context tracker items complete
- Update migration tracker after setup context
- Use setup store for Improve setup context
- Update migration tracker with sidecar verification
- Track next shared-product migration batch
- Update migration tracker after conversation refresh cut
- Route runner conversation ingest through app-core refresh
- Certify desktop native adapter boundaries
- Update migration tracker with shared boundary evidence
- Update migration tracker after boundary proofs
- Certify desktop usage provider boundary
- Guard native harness execution boundary
- Track next migration worker batch
- Update migration tracker after web Improve parity
- Route web Improve actions through runner
- Move project path identity into shared package
- Tighten desktop usage architecture guard
- Track parser parity verification
- Persist runner session lifecycle metadata
- Certify shared setup desktop boundary
- Move conversation boot ingest hooks into app core
- Move setup IPC error policy into app core
- Move IPC registration out of desktop entrypoint
- Track native bootstrap migration progress
- Move native bootstrap out of desktop entrypoint
- Mark latest migration checklist items complete
- Update migration takeover checklist
- Move Improve IPC policy into app core
- Move native deep links out of desktop entrypoint
- Default VPS runner storage to SQLite
- Move usage IPC policy into app core
- Move native lifecycle out of desktop entrypoint
- Make Improve helpers renderer-safe
- Fix unsupported usage login gating
- Move native window controller out of desktop entrypoint
- Move non-window IPC registration out of desktop entrypoint
- Move Improve IPC registration out of desktop entrypoint
- Move settings and DB IPC out of desktop entrypoint
- Move usage IPC registration out of desktop entrypoint
- Move referral activation gate to app core
- Update migration PM target queue
- Make Claude canonical parser authoritative
- Make Codex canonical parser authoritative
- Route Cursor conversations through canonical parser
- Move setup browser projection to app core
- Move improve sidecar view projection to app core
- Move usage report view projection to app core
- Move desktop improve facade composition to app core
- Move agent conversation view projection to app core
- Move runner improve settings to app core
- Certify remaining desktop adapters
- Move conversation IPC policy to app core
- Certify desktop LLM adapter
- Certify desktop improve adapter
- Move conversation background service to app core
- Certify desktop usage adapters
- Remove desktop conversation parser test facade
- Move desktop setup facade out of main
- Move harness self-run matching to projects identity
- Tighten desktop main architecture guard
- Move desktop identity host to app core
- Move desktop install host to app core
- Move desktop insights runtime to app core
- Move desktop conversation provider host to app core
- Move app shell settings policy to app core
- Move desktop setup use cases to app core
- Move Chatwoot support policy to app core
- Move referral client workflow to app core
- Consolidate desktop JSONL provider adapters
- Keep usage login execution in desktop adapter
- Route Claude sessions through canonical parser
- Update usage gap checklist for app usage host
- Move app usage host lifecycle to app core
- Move conversation main runtime to app core
- Move legacy override migration policy to app core
- Move conversation watch host to app core
- Delete thin Improve desktop wrappers
- Move Improve harness process runner to app core
- Move Blume home JSON store policy to app core
- Move LLM gateway policy to app core
- Move referral claim policy to app core
- Move app usage flush cadence to app core
- Move conversation ingest runtime to app core
- Inline install native adapters
- Inline Improve guidance adapter
- Inline Improve setup context adapter
- Move Improve settings persistence policy to app core
- Move conversation projection types to shared model
- Delete unused desktop auto-title wrapper
- Move Improve planning guidance into app core
- Inline conversation title file adapter
- Move desktop main tests to regressions
- Inline Improve harness registry adapter
- Move Claude keychain service name to app core
- Inline install filesystem adapter
- Delete install harness wrapper modules
- Consolidate local JSONL providers
- Move Improve desktop facade into app core
- Move harness install runtime into app core
- Track ninth-wave desktop migration reductions
- Move Improve main use cases into app core
- Move cached settings stores into app core
- Move Cursor composer state runtime into app core
- Track eighth-wave desktop migration reductions
- Move local JSONL provider host into app core
- Fix Improve run use-case test typing
- Move Improve run use cases into app core
- Track seventh-wave desktop migration reductions
- Move provider usage host orchestration into app core
- Move conversation title use cases into app core
- Track sixth-wave desktop migration reductions
- Move conversation resume dispatch into app core
- Move Claude install settings write plan into app core
- Fix Improve facade test typing
- Track fifth-wave desktop migration reductions
- Move provider usage fetch projection into app core
- Move Improve main facade into app core
- Fix ingest plan test narrowing
- Track fourth-wave desktop migration reductions
- Move conversation ingest payload planning into app core
- Move Improve run composition into app core
- Delete desktop usage setup telemetry wrapper
- Track third-wave desktop migration reductions
- Fix watch runtime event source typing
- Move Claude usage auth probe policy into app core
- Move Improve harness capture policy into app core
- Move conversation watch setup into app core
- Track Claude external state runtime migration
- Move Claude external state runtime into app core
- Track auto-title runtime migration
- Move auto-title queue runtime into app core
- Track second-wave desktop migration reductions
- Move Improve suggestion actions into app core
- Move OMP session provider policy into app core
- Track settings subpage analytics (#229)
- Delete unused desktop usage connect wrapper
- Update desktop migration gap checklist
- Move provider usage HTTP runtime into app core
- Move Cursor session provider policy into app core
- Move install and improve apply runtimes into app core
- Document larger parallel migration tracks
- Move Claude session provider policy into app core
- Move Codex session provider policy into app core
- Move Improve scheduler runtime into app core
- Move session JSONL provider policy into app core
- Move Improve view use cases into app core
- Move conversation watcher runtime into app core
- Fix conversation use case test helper typing
- Move Improve pipeline orchestration into app core
- Move conversation refresh use cases into app core
- Move provider usage runtime orchestration into app core
- Delete desktop title regeneration wrapper
- Move Cursor usage flow into app core
- Move Codex usage flow into app core
- Move OMP provider iteration policy into app core
- Delete Pi transcript provider shim
- Move Improve promote and plan policy into app core
- Reuse session JSONL provider for Pi transcripts
- Move Claude usage flow into app core
- Delete desktop setup browser shims
- Move Improve prompt payload mapping into app core
- Move Improve signal payload mapping into app core
- Move Claude transcript meta policy into app core
- Move Improve harness registry into app core
- Move conversation request defaults into app core
- Move conversation transcript option projection into app core
- Move Cursor disk sub-agent prompt projection into app core
- Move Electron setup version stamp into setup model
- Move Improve extraction failure shaping into app core
- Move Codex usage fetch flow into app core
- Move Cursor state path planning into app core
- Move parser malformed telemetry projection into app core
- Move Codex refresh attempt policy into app core
- Move Cursor composer cache policy into app core
- Move Claude direct refresh policy into app core
- Move Improve CLI adapter factory into app core
- Move Cursor usage request planning into app core
- Move fixture harness result shaping into app core
- Reuse setup install state types in app core
- Move Claude Keychain read error policy into app core
- Move parser harness match validation into binding
- Delete Pi parser adapter wrapper
- Move Claude credential cache projection into app core
- Move Improve scheduler projection into app core
- Move app usage window mode projection into app core
- Move harness CLI override policy into catalog
- Move Claude Keychain credential projection into app core
- Move conversation watch index into app core
- Move provider login projection into app core
- Move deep-link telemetry projection into app core
- Reuse shared Improve harness JSON serialization
- Move deep-link route parsing into app core
- Move Improve evidence projection into app core
- Move Improve planning operation projection into app core
- Move session JSONL source meta policy into app core
- Move harness CLI JSON run policy into app core
- Move provider usage auth retry policy into app core
- Update desktop main migration checklist
- Delete desktop canonical parser projection wrapper
- Move Improve view mappers into app core
- Update parallel migration integrator workflow
- Move Claude Desktop title writeback projection into app core
- Move startup install gate into app core
- Move Cursor approval config projection into app core
- Move provider usage unwrap policy into app core
- Move public settings guard into app core
- Move provider usage request planning into app core
- Move conversation branch projection into app core
- Move Improve harness run specs into app core
- Move provider login launch planning into app core
- Move OMP source planning into app core
- Move install state codec into setup model
- Document parallel migration integrator workflow
- Move app usage runtime tracking into app core
- Move Improve clustering reconciliation into app core
- Move OMP source version projection into app core
- Move Improve planning selection into app core
- Move provider parsed conversation projection into app core
- Move install copy target projection into harness catalog
- Move Improve harness trace shaping into app core
- Reuse shared install error outcomes
- Move Claude usage projection into app core
- Move conversation watch ignore policy into app core
- Move Cursor transcript eligibility into app core
- Document parallel migration PM cadence
- Move fixture harness builders into app core
- Move Codex usage projection into app core
- Move Cursor usage projection into app core
- Move install copy root resolution into harness catalog
- Move install copy metadata into harness catalog
- Move harness CLI policy into app core
- Move terminal launch planning into app core
- Move referral request policy into app core
- Move identity profile projection into app core
- Move usage footer harness metadata into catalog
- Move canonical parser adapter into app core
- Move Codex auth refresh projection into app core
- Move harness runs path identity into shared package
- Move conversation read service into app core
- Move conversation title actions into app core
- Move conversation list projection into app core
- Move Claude credential cache policy into app core
- Move Claude CLI usage helpers into app core
- Move install harness outcome policy into app core
- Point insights regression at shared packet builder
- Move dev display naming into app core
- Move improve picker filtering into app core
- Move improve guidance fallback into app core
- Guard parser shadow flag removal
- Delete desktop improve queue wrapper
- Guard deleted desktop product wrappers
- Move usage login policy into app core
- Move improve packet reader into app core
- Move improve retrieval ports into app core
- Move parser projection into app core
- Route Codex provider through parser binding
- Guard desktop db folder boundary
- Delete desktop conversation git shim
- Route OMP provider through parser binding
- Use harness catalog in improve metadata
- Move desktop migrations to storage sqlite
- Route Pi provider through parser binding
- Move git labels and web-lab tabs to shared packages
- Document parallel migration agent workflow
- Move conversation ingest out of db folder
- Move legacy override adapter out of db ingest
- Move legacy override parsing to app core
- Delete desktop db row types
- Move legacy overrides to storage
- Delete unused desktop db repositories
- Delete desktop improve repository
- Move improve cluster mutations to storage
- Move improve clustering reads to storage
- Move improve promotion cluster reads to storage
- Move improve signal writes to storage
- Move improve suggestion writes to storage
- Move improve duplicate writes to storage
- Move improve harness call writes to storage
- Move improve run creation to storage
- Move improve run updates to storage
- Move improve pipeline signal reads to storage
- Move improve dedupe reads to storage
- Move improve index reads to storage
- Move improve duplicate reads to storage
- Move improve suggestion state to storage
- Move improve run detail reads to storage
- Move improve run view reads to storage
- Move improve signal list reads to storage
- Move improve pipeline lookups to storage
- Move improve promotion reads to storage
- Move improve candidate cluster reads to storage
- Move improve packet reads to storage
- Move last activity parsing to app core
- Move conversation view fanout to storage
- Move conversation action lookups to storage
- Route improve scheduler reads through storage
- Move conversation row reads to storage
- Move conversation existence check to storage
- Move desktop project list reads to storage
- Move active user turn reads to storage
- Move conversation transcript reads to storage
- Move improve suggestion views to app core
- Delete unused desktop source repository
- Move conversation action writes to storage
- Move stale conversation aging to storage
- Route provider title apply through storage
- Move skipped conversation ingest writes to storage
- Route desktop conversation replacement through storage
- Move conversation persistence policy into domain model
- Move ingest row indexing into app core
- Move transcript replacement mapping into app core
- Move conversation replacement projection into app core
- Use app core source cursor projection in ingest
- Move skipped ingest projection into app core
- Route ingest source checkpoints through storage port
- Move Claude summary aggregation into app core
- Move OMP parent sub-agent enrichment into app core
- Move Cursor summary aggregation into app core
- Move Codex summary aggregation into app core
- Move session JSONL summary aggregation into app core
- Move Improve harness output parsing into app core
- Move Improve planning source turns into app core
- Move Improve harness adapter selection into app core
- Move conversation ingest skip planning into app core
- Move Improve view mappers into app core
- Move session title append file flow into app core
- Move Claude external state discovery into app core
- Move Claude external state parsing into app core
- Move Claude block projections into app core
- Move Cursor block projections into app core
- Move session jsonl projections into app core
- Move Codex response item projection into app core
- Reuse app core setup browser in runner
- Wire terminal resize through web runner
- Move Cursor disk subagent projection into app core
- Reuse shared Cursor parser for subagent prompts
- Move Claude session line parsing into app core
- Move Cursor session line parsing into app core
- Move Codex session line parsing into app core
- Move todo replacement planning into app core
- Move session JSONL line parsing into app core
- Move OMP child subagent projection into app core
- Move OMP subagent merge policy into app core
- Move provider stop marker policy into app core
- Move ingest cursor lookup to sources repository
- Move Cursor todo display policy into app core
- Move improve setup context into app core
- Move install policy into app core
- Isolate Cursor composer state reader
- Route web transcripts through shared storage
- Route Electron setup artifacts through shared storage
- Move desktop setup browser into app core
- Route web setup browser through runner scanners
- Route web improve settings through app core
- Move transcript persistence projection to app core
- Move conversation persistence policy to app core
- Route web harness list through runner storage
- Route web usage through runner storage
- Share conversation watcher path policy
- Move conversation provider path fallbacks to app core
- Share conversation provider source types
- Route web setup changes through app core
- Move setup apply undo to app core
- Share setup file access enforcement
- Move source cursor freshness to storage port
- Move desktop meta storage to shared port
- Route desktop settings through storage port
- Route settings IPC through storage port
- Share global harness setup scan
- Share setup project scan composition
- Move setup project traversal to setup scanners
- Move Improve target allowlist to app core
- Move usage credential refresh policy to app core
- Share setup browser category listing
- Move title generation to app core
- Move dev format browsing to setup scanners
- Move resume row projection to app core
- Share transcript pagination limit policy
- Move Codex workspace display to app core
- Move conversation child view helpers to app core
- Use app core for app usage totals
- Share setup dev format path policy
- Share setup scan root policy
- Share setup path allowlist policy
- Share setup category grouping
- Move setup entry scanning into …
@raycastbot raycastbot added new extension Label for PRs with new extensions platform: macOS labels Aug 24, 2026
@raycastbot

Copy link
Copy Markdown
Collaborator

Congratulations on your new Raycast extension! 🚀

We're currently experiencing a high volume of incoming requests. As a result, the initial review may take up to 15 business days.

Once the PR is approved and merged, the extension will be available on our Store.

@greptile-apps

greptile-apps Bot commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR adds a macOS Raycast extension that launches Blume’s bundled local search helper and presents projects, conversations, messages, setup artifacts, and suggestions in a searchable list.

  • Adds helper discovery, process lifecycle management, protocol parsing, deep-link generation, and category filtering.
  • Adds focused tests, extension assets, package configuration, documentation, and initial release notes.

Confidence Score: 4/5

The preferred-application validation defect should be fixed before merging because the unrestricted picker can route helper startup through a non-Blume application; the remaining findings are submission and configuration issues.

The automatic discovery path restricts applications to supported Blume bundle IDs, but the preferred path bypasses that guard and passes the selected application directly into executable discovery and spawning.

Files Needing Attention: extensions/blume-search/src/blumeSearchClient.ts, extensions/blume-search/package.json, extensions/blume-search/CHANGELOG.md, extensions/blume-search/eslint.config.cjs, extensions/blume-search/src/search.tsx

Important Files Changed

Filename Overview
extensions/blume-search/src/blumeSearchClient.ts Resolves stable or canary Blume installations and creates the helper client, but trusts a preferred appPicker value without validating its bundle ID.
extensions/blume-search/src/helperProcessClient.ts Implements helper process startup, handshake fallback, request supersession, response limits, timeouts, parsing, and cleanup.
extensions/blume-search/src/protocol.ts Defines protocol-v1 request and result DTOs and validates helper response frames, with partial validation of category-specific fields.
extensions/blume-search/src/search.tsx Implements the searchable Raycast list, category filter, helper lifecycle, result actions, and error states while manually duplicating preference typing.
extensions/blume-search/src/searchModel.ts Maps result categories to assets, subtitles, filters, and stable or canary Blume deep links.
extensions/blume-search/package.json Declares the macOS view command, app picker, dependencies, and scripts but omits the required schema and screenshot metadata.
extensions/blume-search/CHANGELOG.md Adds initial release notes with a hardcoded date instead of the required merge-date placeholder.
extensions/blume-search/eslint.config.cjs Adds an ESLint v9 flat configuration without the repository-required defineConfig wrapper.

Fix all with Greploop Fix All in Claude Code Fix All in Cursor Fix All in Codex

Prompt To Fix All With AI
### Issue 1
extensions/blume-search/src/blumeSearchClient.ts:12
**Preferred app bypasses validation**

When a user selects a non-Blume application in the app picker, `resolveBlumeApplication` returns it without validating its bundle ID, so its path is used to locate and launch an executable under `ELECTRON_RUN_AS_NODE`, causing the wrong application to be launched or a misleading update error.

```suggestion
  if (preferred) {
    if (!preferred.bundleId || !BLUME_BUNDLE_IDS.includes(preferred.bundleId)) {
      throw new Error("Choose Blume or Blume Canary in extension preferences.");
    }
    return preferred;
  }
```

### Issue 2
extensions/blume-search/package.json:27
**View command lacks screenshots**

The new view-type command has no `metadata` folder containing Raycast-styled screenshots, leaving the extension without the Store presentation assets required for view commands.

### Issue 3
extensions/blume-search/CHANGELOG.md:1
**Changelog hardcodes release date**

The Initial Release heading hardcodes `2026-08-14` instead of `{PR_MERGE_DATE}`, preventing release automation from inserting the actual merge date.

```suggestion
## [Initial Release] - {PR_MERGE_DATE}
```

### Issue 4
extensions/blume-search/package.json:1-2
**Manifest omits schema declaration**

The new extension manifest omits the Raycast `$schema` reference, so contributors lose manifest-specific autocomplete and schema validation.

```suggestion
{
  "$schema": "https://www.raycast.com/schemas/extension.json",
  "name": "blume-search",
```

### Issue 5
extensions/blume-search/eslint.config.cjs:1-8
**ESLint config skips defineConfig**

This ESLint v9 flat configuration exports its array directly instead of using `defineConfig` from `eslint/config`, bypassing the repository’s supported normalization pattern for nested preset arrays.

```suggestion
const { defineConfig } = require("eslint/config");
const raycastConfig = require("@raycast/eslint-config");

module.exports = defineConfig([
  {
    files: ["src/**/*.{js,jsx,ts,tsx}"],
  },
  ...raycastConfig.flat(),
]);
```

### Issue 6
extensions/blume-search/src/search.tsx:25-30
**Preferences type is duplicated**

The command manually declares `Preferences` even though Raycast generates that type from the manifest, creating a second preference contract that can drift when the application preference changes.

---

For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.

Reviews (1): Last reviewed commit: "Add blume-search extension" | Re-trigger Greptile


const BLUME_BUNDLE_IDS = ["page.blume.sidecar", "page.blume.sidecar.canary"];
export async function resolveBlumeApplication(preferred?: Application): Promise<Application> {
if (preferred) return preferred;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Preferred app bypasses validation

When a user selects a non-Blume application in the app picker, resolveBlumeApplication returns it without validating its bundle ID, so its path is used to locate and launch an executable under ELECTRON_RUN_AS_NODE, causing the wrong application to be launched or a misleading update error.

Suggested change
if (preferred) return preferred;
if (preferred) {
if (!preferred.bundleId || !BLUME_BUNDLE_IDS.includes(preferred.bundleId)) {
throw new Error("Choose Blume or Blume Canary in extension preferences.");
}
return preferred;
}
Prompt To Fix With AI
This is a comment left during a code review.
Path: extensions/blume-search/src/blumeSearchClient.ts
Line: 12

Comment:
**Preferred app bypasses validation**

When a user selects a non-Blume application in the app picker, `resolveBlumeApplication` returns it without validating its bundle ID, so its path is used to locate and launch an executable under `ELECTRON_RUN_AS_NODE`, causing the wrong application to be launched or a misleading update error.

```suggestion
  if (preferred) {
    if (!preferred.bundleId || !BLUME_BUNDLE_IDS.includes(preferred.bundleId)) {
      throw new Error("Choose Blume or Blume Canary in extension preferences.");
    }
    return preferred;
  }
```

---

For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.

Fix in Claude Code Fix in Cursor Fix in Codex

"name": "search",
"title": "Search Blume",
"description": "Search everything indexed by Blume and open a result in the app.",
"mode": "view",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 View command lacks screenshots

The new view-type command has no metadata folder containing Raycast-styled screenshots, leaving the extension without the Store presentation assets required for view commands.

Rule Used: What: Extensions with view-type commands must incl... (source)

Prompt To Fix With AI
This is a comment left during a code review.
Path: extensions/blume-search/package.json
Line: 27

Comment:
**View command lacks screenshots**

The new view-type command has no `metadata` folder containing Raycast-styled screenshots, leaving the extension without the Store presentation assets required for view commands.

**Rule Used:** What: Extensions with view-type commands must incl... ([source](https://app.greptile.com/raycast/-/custom-context?memory=87059ac1-c601-487f-9f1c-bce8a3cb6209))

---

For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.

Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

Fix in Claude Code Fix in Cursor Fix in Codex

@@ -0,0 +1,6 @@
## [Initial Release] - 2026-08-14

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Changelog hardcodes release date

The Initial Release heading hardcodes 2026-08-14 instead of {PR_MERGE_DATE}, preventing release automation from inserting the actual merge date.

Suggested change
## [Initial Release] - 2026-08-14
## [Initial Release] - {PR_MERGE_DATE}

Rule Used: What: Changelog entries must use {PR_MERGE_DATE}... (source)

Prompt To Fix With AI
This is a comment left during a code review.
Path: extensions/blume-search/CHANGELOG.md
Line: 1

Comment:
**Changelog hardcodes release date**

The Initial Release heading hardcodes `2026-08-14` instead of `{PR_MERGE_DATE}`, preventing release automation from inserting the actual merge date.

```suggestion
## [Initial Release] - {PR_MERGE_DATE}
```

**Rule Used:** What: Changelog entries must use `{PR_MERGE_DATE}`... ([source](https://app.greptile.com/raycast/-/custom-context?memory=c2214c11-df56-490a-b1c0-09a385df481a))

---

For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.

Fix in Claude Code Fix in Cursor Fix in Codex

Comment on lines +1 to +2
{
"name": "blume-search",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Manifest omits schema declaration

The new extension manifest omits the Raycast $schema reference, so contributors lose manifest-specific autocomplete and schema validation.

Suggested change
{
"name": "blume-search",
{
"$schema": "https://www.raycast.com/schemas/extension.json",
"name": "blume-search",

Rule Used: What: Require Raycast extension projects to includ... (source)

Prompt To Fix With AI
This is a comment left during a code review.
Path: extensions/blume-search/package.json
Line: 1-2

Comment:
**Manifest omits schema declaration**

The new extension manifest omits the Raycast `$schema` reference, so contributors lose manifest-specific autocomplete and schema validation.

```suggestion
{
  "$schema": "https://www.raycast.com/schemas/extension.json",
  "name": "blume-search",
```

**Rule Used:** What: Require Raycast extension projects to includ... ([source](https://app.greptile.com/raycast/-/custom-context?memory=9c275ba8-ead2-4952-b909-12275352b16b))

---

For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.

Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

Fix in Claude Code Fix in Cursor Fix in Codex

Comment on lines +1 to +8
const raycastConfig = require("@raycast/eslint-config");

module.exports = [
{
files: ["src/**/*.{js,jsx,ts,tsx}"],
},
...raycastConfig.flat(),
];

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 ESLint config skips defineConfig

This ESLint v9 flat configuration exports its array directly instead of using defineConfig from eslint/config, bypassing the repository’s supported normalization pattern for nested preset arrays.

Suggested change
const raycastConfig = require("@raycast/eslint-config");
module.exports = [
{
files: ["src/**/*.{js,jsx,ts,tsx}"],
},
...raycastConfig.flat(),
];
const { defineConfig } = require("eslint/config");
const raycastConfig = require("@raycast/eslint-config");
module.exports = defineConfig([
{
files: ["src/**/*.{js,jsx,ts,tsx}"],
},
...raycastConfig.flat(),
]);

Rule Used: What: In ESLint v9+, defineConfig is exported fr... (source)

Prompt To Fix With AI
This is a comment left during a code review.
Path: extensions/blume-search/eslint.config.cjs
Line: 1-8

Comment:
**ESLint config skips defineConfig**

This ESLint v9 flat configuration exports its array directly instead of using `defineConfig` from `eslint/config`, bypassing the repository’s supported normalization pattern for nested preset arrays.

```suggestion
const { defineConfig } = require("eslint/config");
const raycastConfig = require("@raycast/eslint-config");

module.exports = defineConfig([
  {
    files: ["src/**/*.{js,jsx,ts,tsx}"],
  },
  ...raycastConfig.flat(),
]);
```

**Rule Used:** What: In ESLint v9+, `defineConfig` is exported fr... ([source](https://app.greptile.com/raycast/github/raycast/extensions/-/custom-context?memory=ded2e079-95d0-44a7-80b5-83bbe04916f5))

---

For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.

Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

Fix in Claude Code Fix in Cursor Fix in Codex

Comment on lines +25 to +30
interface Preferences {
application?: Application;
}

export default function SearchBlume(): React.JSX.Element {
const preferences = getPreferenceValues<Preferences>();

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Preferences type is duplicated

The command manually declares Preferences even though Raycast generates that type from the manifest, creating a second preference contract that can drift when the application preference changes.

Rule Used: What: Don't manually type getPreferenceValues() ... (source)

Prompt To Fix With AI
This is a comment left during a code review.
Path: extensions/blume-search/src/search.tsx
Line: 25-30

Comment:
**Preferences type is duplicated**

The command manually declares `Preferences` even though Raycast generates that type from the manifest, creating a second preference contract that can drift when the application preference changes.

**Rule Used:** What: Don't manually type `getPreferenceValues()` ... ([source](https://app.greptile.com/raycast/-/custom-context?memory=61aa4fa9-b8e8-41b4-8b27-f888b95b75af))

---

For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.

Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

Fix in Claude Code Fix in Cursor Fix in Codex

@olavblj olavblj closed this Aug 24, 2026
@olavblj
olavblj deleted the ext/blume-search branch August 24, 2026 18:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

new extension Label for PRs with new extensions platform: macOS

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants