Skip to content

v1.2.0-preview.1 - Pulsar

Pre-release
Pre-release

Choose a tag to compare

@seiggy seiggy released this 11 Mar 02:53
· 473 commits to master since this release
64a6896

Release Notes - 1.2.0-preview.1

Release Date: March 11, 2026
Code Name: "Pulsar"


🔮 Overview

"Pulsar" introduces user-facing personalization to Lucia's orchestration layer. The headline feature lets users define a personality prompt that rewrites all agent responses through an LLM before delivery — giving Lucia a configurable voice, tone, and communication style without modifying the agents themselves.

🚀 Highlights

  • Personality Prompt — Configurable system prompt that rewrites the fan-in aggregated response through an LLM, giving Lucia a customizable personality (pirate speak, formal assistant, casual friend — you name it).
  • Separate Model Support — Personality rewriting can use a different (cheaper/faster) model than the orchestrator, selectable from a dropdown of configured chat-type providers.
  • Zero-Cost Opt-In — When no personality is configured, the pipeline is unchanged — no LLM call, no added latency.

✨ What's New

🎭 Personality Prompt (PR #80)

Users can now define a personality prompt on the /configuration page under the new Personality Prompt section. When set, the ResultAggregatorExecutor passes the composed multi-agent response through an LLM with the personality instructions as the system prompt, rewriting the output to match the desired tone.

  • PersonalityPromptOptions — New config model with Instructions (the personality system prompt) and ModelConnectionName (optional separate LLM for rewriting)
  • WorkflowFactory — Accepts IOptionsMonitor<PersonalityPromptOptions> for live config reload without restart. Conditionally resolves a separate IChatClient when ModelConnectionName is set, or falls back to the orchestrator's default model.
  • ResultAggregatorExecutor — After composing the raw message from agent responses, calls the personality LLM with system=instructions + user=composed message. Graceful fallback to raw message on LLM failure or empty response.
  • Resilient resolution — A misconfigured ModelConnectionName logs a warning and disables personality for that request instead of failing the entire orchestration pipeline.
  • Cancellation-safeOperationCanceledException propagates correctly through the personality rewrite path.

🖥️ Dashboard

  • Model provider dropdown — The ModelConnectionName field renders as a searchable dropdown populated from configured chat-type model providers, matching the pattern used in Agent Definitions.
  • Textarea field type — New textarea field type in the configuration page for multi-line prompt editing with vertical resize support.
  • Auto-discovery — The Personality Prompt section appears automatically in the configuration sidebar via schema API.

📊 Test Coverage

Area Unit Tests
Personality rewrite (enabled, disabled, fallback, cancellation) 7
Total New Tests 7

🔄 Upgrade Notes

  • No breaking changes — fully backward-compatible. Existing installations see no behavior change until a personality prompt is configured.
  • No restart required — personality prompt changes take effect immediately via IOptionsMonitor.
  • Optional model — leave ModelConnectionName empty to reuse the orchestrator's model, or select a dedicated model for personality rewriting.