Skip to content

feat(personas): PersonaLibrary and PersonaSandbox (#19)#39

Merged
SaharBarak merged 1 commit into
mainfrom
feat/persona-library-sandbox
Feb 6, 2026
Merged

feat(personas): PersonaLibrary and PersonaSandbox (#19)#39
SaharBarak merged 1 commit into
mainfrom
feat/persona-library-sandbox

Conversation

@SaharBarak
Copy link
Copy Markdown
Owner

Summary

Implements Issue #19: Persona Marketplace - Library & Sandbox

Changes

PersonaLibrary Component

  • Grid/List Views: Toggle between grid cards and list view
  • Search & Filter: Search personas by name/role/traits, filter by role type
  • Sorting: Sort by name, role, or recent
  • Bulk Actions: Select multiple personas for batch export
  • Import/Export: JSON import modal, export all or selected
  • Persona Actions: Edit, duplicate, archive, delete, test in sandbox
  • Full RTL Support: Hebrew translations and RTL layout

PersonaSandbox Component

  • Multi-Persona Testing: Test multiple personas simultaneously
  • Comparison Modes: Side-by-side (up to 3) and carousel views
  • Test History: Track prompts and responses
  • Suggested Prompts: Quick-start prompts for testing
  • Export Tests: Export test sessions as JSON
  • Copy Responses: Quick copy to clipboard

Epic

Part of Persona Marketplace (#3)

Screenshots

Components ready for integration - UI follows existing design patterns

Testing

  • TypeScript compiles
  • RTL support verified
  • Integration with persona store (pending store creation)

@SaharBarak SaharBarak added frontend Frontend tasks epic-3 Epic: Persona Marketplace labels Feb 5, 2026
@SaharBarak
Copy link
Copy Markdown
Owner Author

APPROVED - Ready to merge

- PersonaLibrary: Grid/list view with search, filter, sort
  - Role-based filtering (strategist, creative, analyst, critic, custom)
  - Bulk selection for export
  - Import/export JSON functionality
  - Archive and delete actions
  - Full Hebrew RTL support

- PersonaSandbox: Test persona responses
  - Side-by-side comparison mode
  - Carousel mode for multiple personas
  - Test history with export
  - Suggested prompts
  - Copy response functionality

Part of Epic: Persona Marketplace (#3)
@SaharBarak SaharBarak force-pushed the feat/persona-library-sandbox branch from 83e1430 to bdca7ae Compare February 6, 2026 08:22
@SaharBarak SaharBarak merged commit 138ebdf into main Feb 6, 2026
1 check passed
@SaharBarak SaharBarak deleted the feat/persona-library-sandbox branch February 6, 2026 08:23
SaharBarak added a commit that referenced this pull request Apr 14, 2026
…e persistence

- Add `-m, --mode <mode>` flag to `forge start`, plumbed through SessionConfig.mode
  to ModeController so all 8 deliberation modes are reachable from the CLI:
  copywrite, idea-validation, ideation, will-it-work, site-survey, business-plan,
  gtm-strategy, custom.

- Default `forge start` agent runner switched from CLIAgentRunner (which needed
  ANTHROPIC_API_KEY) to ClaudeCodeCLIRunner (shells out to the authenticated
  `claude` binary). Honors the README's "no API key lock-in" promise. Falls back
  to CLIAgentRunner only when ANTHROPIC_API_KEY is explicitly set.

- Set `autoRunPhaseMachine: !options.human` on the orchestrator. With `--no-human`
  there's nobody to drive phases manually, so the orchestrator now drives the
  phase state machine itself — sessions actually progress instead of stalling.

- EDAOrchestrator system messages (research halt / complete / error) now check
  `session.config.language` and emit English by default. `getAgentName()` only
  appends the Hebrew name when language is Hebrew.

- SessionPersistence: `getSenderName()` is language-aware too. `updateSession()`
  now triggers an immediate `saveIncremental()` on every message instead of
  waiting for the polling timer — every agent message lands on disk within ms.
  Auto-save fallback dropped from 30s to 5s.

- Markdown renderer: added HTML-entity decoder covering &quot; &apos; &amp; &lt;
  &gt; &nbsp; &#39; &#34; plus generic &#NNN; / &#xHEX; entities. Applied at
  every text-emitting case in renderInlineToken + renderCodeBlock + the block
  fallback. Fixes &quot;... &#39;...&#39;&quot; leaking through to the TUI and
  the saved transcript.md.

- CLI now prints transcript path and raw-events path at session start so the
  user always knows where the full conversation lives.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

epic-3 Epic: Persona Marketplace frontend Frontend tasks

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant