chore(conductor): Add new track 'Agent Personas: Unified Profiles & Tool Presets'

This commit is contained in:
2026-03-09 23:59:11 -04:00
parent 73f6be789a
commit bed131c4bf
5 changed files with 78 additions and 0 deletions

View File

@@ -101,6 +101,10 @@ This file tracks all major tracks for the project. Each track has its own detail
*Link: [./tracks/external_editor_integration_20260308/](./tracks/external_editor_integration_20260308/)* *Link: [./tracks/external_editor_integration_20260308/](./tracks/external_editor_integration_20260308/)*
*Goal: Add support to open files modified by agents in external editors (10xNotepad/VSCode) for native diffing and manual editing during the tool approval flow.* *Goal: Add support to open files modified by agents in external editors (10xNotepad/VSCode) for native diffing and manual editing during the tool approval flow.*
4. [ ] **Track: Agent Personas: Unified Profiles & Tool Presets**
*Link: [./tracks/agent_personas_20260309/](./tracks/agent_personas_20260309/)*
*Goal: Consolidate model settings, prompts, and tool presets into a unified "Persona" model with granular MMA assignment.*
--- ---
### Model Providers ### Model Providers

View File

@@ -0,0 +1,5 @@
# Track agent_personas_20260309 Context
- [Specification](./spec.md)
- [Implementation Plan](./plan.md)
- [Metadata](./metadata.json)

View File

@@ -0,0 +1,8 @@
{
"track_id": "agent_personas_20260309",
"type": "feature",
"status": "new",
"created_at": "2026-03-09T23:55:00Z",
"updated_at": "2026-03-09T23:55:00Z",
"description": "Agent Personas: Unified Profiles & Tool Presets consolidation."
}

View File

@@ -0,0 +1,28 @@
# Implementation Plan: Agent Personas - Unified Profiles
## Phase 1: Core Model and Migration
- [ ] Task: Audit `src/models.py` and `src/app_controller.py` for all existing AI settings.
- [ ] Task: Write Tests: Verify the `Persona` dataclass can be serialized/deserialized to TOML.
- [ ] Task: Implement: Create the `Persona` model in `src/models.py` and implement the `PersonaManager` in `src/personas.py` (inheriting logic from `PresetManager`).
- [ ] Task: Implement: Create a migration utility to convert existing `active_preset` and system prompts into an "Initial Legacy" Persona.
- [ ] Task: Conductor - User Manual Verification 'Phase 1: Core Model and Migration' (Protocol in workflow.md)
## Phase 2: Granular MMA Integration
- [ ] Task: Write Tests: Verify that a `Ticket` or `Track` can hold a `persona_id` override.
- [ ] Task: Implement: Update the MMA internal state to support per-epic, per-track, and per-task Persona assignments.
- [ ] Task: Implement: Update the `WorkerContext` and `ConductorEngine` to resolve and apply the correct Persona before spawning an agent.
- [ ] Task: Implement: Add "Persona" metadata to the Tier Stream logs to visually confirm which profile is active.
- [ ] Task: Conductor - User Manual Verification 'Phase 2: Granular MMA Integration' (Protocol in workflow.md)
## Phase 3: Hybrid Persona UI
- [ ] Task: Write Tests: Verify that changing the Persona Selector updates the associated UI fields using `live_gui`.
- [ ] Task: Implement: Add the Persona Selector dropdown to the "AI Settings" panel.
- [ ] Task: Implement: Refactor the "Manage Presets" modal into a full "Persona Editor" supporting model sets and linked tool presets.
- [ ] Task: Implement: Add "Persona Override" controls to the Ticket editing panel in the MMA Dashboard.
- [ ] Task: Conductor - User Manual Verification 'Phase 3: Hybrid Persona UI' (Protocol in workflow.md)
## Phase 4: Integration and Advanced Logic
- [ ] Task: Implement: Logic for "Preferred Model Sets" (trying next model in set if provider returns specific errors).
- [ ] Task: Implement: "Linked Tool Preset" resolution (checking for the preset ID and applying its tool list to the agent session).
- [ ] Task: Final UI polish, tooltips, and documentation sync.
- [ ] Task: Conductor - User Manual Verification 'Phase 4: Integration and Advanced Logic' (Protocol in workflow.md)

View File

@@ -0,0 +1,33 @@
# Specification: Agent Personas - Unified Profiles & Tool Presets
## Overview
Transition the application from fragmented prompt and model settings to a **Unified Persona** model. A Persona consolidates Provider, Model (or a preferred set of models), Parameters (Temp, Top-P, etc.), Prompts (Global, Project, and MMA-specific components), and links to Tool Presets into a single, versionable entity.
## Functional Requirements
- **Persona Data Model:**
- **Scoped Inheritance:** Supports **Global** and **Project-Specific** personas. Project personas with matching names override global versions.
- **Configuration Sets:** A persona can define a single model/provider or a **Preferred Model Set** (allowing for fallback or quick toggling between compatible models like `gemini-3-flash` and `gemini-3.1-pro`).
- **Linked Tool Presets:** Personas reference external **Tool Presets** (to be implemented in a parallel track) to define agent capabilities.
- **Granular MMA Assignment:**
- **Tier 1 (Strategic):** Assigned at the per-epic level.
- **Tier 2 (Architectural):** Assigned at the per-track level.
- **Tier 3 (Execution):** Assigned at the per-task level, allowing for "Specialized Workers" (e.g., a "Security Specialist" worker for sensitive tasks).
- **Tier 4 (QA):** Selectable by Tier 2 or Tier 3 agents during their workflow.
- **Hybrid UI/UX:**
- **Persona Templates:** The AI Settings panel will retain granular controls (Provider, Model, Prompts) but add a primary **Persona Selector**.
- **Live Binding:** Selecting a persona populates all granular fields as a template. Users can then override specific values (e.g., swapping the model) without permanently modifying the persona.
- **Persona Editor Modal:** A dedicated high-density interface for managing the persona registry.
## Non-Functional Requirements
- **Extensibility:** The schema must be flexible enough to incorporate future "Agent Bias" and "Memory Tuning" parameters.
- **Backward Compatibility:** Existing `manual_slop.toml` files must be migrated or shimmed to ensure no loss of existing prompt settings.
## Acceptance Criteria
- [ ] A Persona can be saved, edited, and deleted in both Global and Project scopes.
- [ ] Selecting a Persona correctly updates the UI state for prompts and model parameters.
- [ ] MMA workers can be spawned with a specific Persona ID, verified via Tier Streams.
- [ ] The system handles "Linked Tool Presets" correctly, even if the linked preset is missing (graceful fallback).
## Out of Scope
- Implementing the "Tool Presets" themselves (this track only handles the *link* and integration).
- Multi-persona "Teams" (handled in future orchestration tracks).