feat(profile): agent accent color + identity surface#398
Open
patschmittdev wants to merge 1 commit into
Open
Conversation
Split the agent-profile vertical out of feat/webgl-ambient-background.
Stacks on feat/mind-skills (AgentSurface consumes skills.listForMind):
- MindProfileService.setAccentColor: persists a validated #rrggbb hex to
<mind>/.chamber/accent-color (or clears it); reads it back into the profile
- mindProfile:setAccentColor IPC across preload + browser shim + electron-types
- AgentProfile.accentColor type; AgentProfileSummary.accentColor (optional in
the store summary, matching the chat-polish slice)
- AgentProfileModal: accent color picker; renders AgentSurface
- AgentSurface: identity/tools/skills tabs for a mind
- useMindProfiles threads accentColor through profile summaries
Also carries the additive LensViewManifest.description slice (AgentSurface
reads view.description; same optional field added independently in lens-polish).
Verification: tsc clean, lint clean, MindProfileService accent tests + the
AgentProfileModal suite pass. One unrelated pre-existing failure remains
('rejects symlinked profile files') -- identical to master, fails only due to
Windows symlink EPERM (needs admin/developer mode), not from this change.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
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
Agent accent color + identity surface (AgentProfileModal + per-mind profile saving), split off
feat/webgl-ambient-background. Stacked on mind-skills (#397), which is on the foundation (#389).Contents (over mind-skills)
AgentProfileModal: per-agent identity surface (accent color, id).MindProfileService: persists the mind'sSOUL.mdprofile; path-safety rejects symlinked profile files to prevent symlink-escape writes (security boundary).Security note for review:
MindProfileServicewrites the mindSOUL.mdand validates the target path, rejecting symlink escapes. Worth a focused look.Stack
Validation
npm run lint-- green (tsc, eslint, dependency-cruiser, yaml, md).MindProfileService > rejects symlinked profile files:fs.symlinkSyncthrowsEPERMin the test setup because symlink creation needs admin on Windows, so the service code is never reached. Environmental, passes on Linux CI (same caveat as feat(ui): WebGL ambient background with day/night crossfade #386 / feat(voice): Azure Speech voice subsystem (dictation + hands-free, STT/TTS) #387).