- check configured key status through the settings API
- dismiss first-run modal with a dedicated local storage flag
- treat .env.local as the local OpenAI key source
Generated with Claude Code
- remove legacy contexts surfaces from the app, MCP bridge, standalone server, and docs
- keep getContext and retrieveQueryContext while aligning the simplified graph-only contract
- harden dev startup migration behavior and disable the accidental chat surface in open source
Generated with Codex
- add server-side .env.local OpenAI key management for the open-source app
- route AI features through the preferred local key path and lazy-load embed recovery
- rewrite README and docs for current MCP setup, schema, and fully-local guidance
Generated with Claude Code
- port the read-only map exploration behavior and focus wiring from the private repo
- align the OS map pane with the shipped focused-node and overview interactions
Generated with Claude Code
- remove unsafe standalone startup FTS rebuild behavior
- add integrity classification and degraded FTS handling in the OS database runtime
- add clean-db FTS repair script for rebuildable corruption recovery
Generated with Claude Code
- align os MCP/runtime/docs with ra-h contract
- add safe direct node lookup and context-optional flows
- gate edge and context writes behind confirmation
- add external retrieval and confirmation-gated writeback tools across MCP surfaces
- port direct-search-first retrieval support and supporting ranking/query updates
- update MCP docs and skills to treat agent memory files as optional reinforcement
Generated with Claude Code
- enforce canonical dimensions across app and MCP surfaces
- prioritize title-first node search in UI and query tools
- add regression tests for ranking and dimension validation
- increase base typography and relative date formatting
- add card polish, empty states, and skeleton loaders
- center the nodes pane content like the focus panel
- replace hardcoded dark colors in shared light mode components
- fix focused skill and inline node label readability in light mode
Generated with Codex
- Folder cards: off-black bg (--rah-bg-folder), compact 80px height
- Icon + name in footer, green pill badge for node count
- Description snippet shown below name when set
- Hover-only edit/delete actions
- Add --rah-bg-folder CSS variable to both themes
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- make source the canonical field across os routes, tools, ui, and mcp
- align fresh-install schema, search, and embedding flows with source-first ingestion
Generated with Claude Code
Remove padlock button from dimensions pane, priority-toggle behaviour
from node dimension tags, and all supporting state/functions.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Top actions (collapse/search/add/refresh) stay at top.
View items (nodes/skills/map/etc) sit in a flex:1 middle
section, vertically centered with a subtle top border separator.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- SkillCard: hardcoded dark bg/border/text → CSS vars
- map-styles.css: migrate all hardcoded hex to CSS vars so map
canvas, nodes, edges, and minimap respond to theme
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Replace dark hex values with CSS custom properties across all panel,
card, modal, and focus components so light mode renders correctly.
Backgrounds, borders, and text colors now respond to data-theme attribute.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add CSS custom property token system to globals.css (dark + light variants)
- Add anti-FOUC inline script in layout.tsx head to apply stored theme before hydration
- Create useTheme hook (src/hooks/useTheme.ts) backed by usePersistentState
- Add Sun/Moon toggle button to LeftToolbar above Settings
- Wire useTheme into ThreePanelLayout and pass theme/onThemeToggle to LeftToolbar
- Migrate hardcoded hex values to CSS vars in LeftToolbar and ThreePanelLayout
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Rename `content` → `notes` in searchNodes and getNodes output schemas
to match what the handlers actually return (was causing validation errors)
- Rename `schema` → `stats` key in rah_get_context outputSchema and
structuredContent return (schema key name confused MCP SDK validator,
caused getContext failures for external users like Linux)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>