Skip to content

feat(profile): agent accent color + identity surface#398

Open
patschmittdev wants to merge 1 commit into
feat/mind-skillsfrom
feat/agent-profile
Open

feat(profile): agent accent color + identity surface#398
patschmittdev wants to merge 1 commit into
feat/mind-skillsfrom
feat/agent-profile

Conversation

@patschmittdev

Copy link
Copy Markdown
Collaborator

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's SOUL.md profile; path-safety rejects symlinked profile files to prevent symlink-escape writes (security boundary).
  • Per-agent accent color tokens applied across chat/chatroom surfaces.

Security note for review: MindProfileService writes the mind SOUL.md and validates the target path, rejecting symlink escapes. Worth a focused look.

Stack

refactor/ui-foundation #389
 └─ mind-skills #397
     └─ agent-profile (this)

Validation

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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant