diff --git a/docs/specification.md b/docs/specification.md index 4accaad8b..375ff9fb7 100644 --- a/docs/specification.md +++ b/docs/specification.md @@ -29074,7 +29074,7 @@ When the sidebar is hidden, the conversation takes the full terminal width: │ └─────────────────────────────────────────────────────────────────────────────────────┘ │ │ feature-devclaude-4-sonnetthink: high2 projects │ $0.12 │ ├──────────────────────────────────────────────────────────────────────────────────────────────┤ -│ F1 Help │ shift+tab Sidebar │ tab Persona │ ctrl+tab Preset │ ctrl+s Sessions │ ctrl+q Quit │ +│ F1 Help │ shift+tab Sidebar │ tab Persona │ ctrl+t Preset │ ctrl+s Sessions │ ctrl+q Quit │ └──────────────────────────────────────────────────────────────────────────────────────────────┘ Key elements in this layout: @@ -29132,7 +29132,7 @@ When the sidebar is visible (shift+tab from hidden), it docks to the right at 32 │ └────────────────────────────────────────────────────────┘ │ │ │ feature-devclaude-4-sonnetthink: med2 proj │ $0.12 │ │ ├─────────────────────────────────────────────────────────────┴────────────────────────────────┤ -│ F1 Help │ shift+tab Sidebar │ tab Persona │ ctrl+tab Preset │ ctrl+s Sessions │ ctrl+q Quit │ +│ F1 Help │ shift+tab Sidebar │ tab Persona │ ctrl+t Preset │ ctrl+s Sessions │ ctrl+q Quit │ └──────────────────────────────────────────────────────────────────────────────────────────────┘ Key elements in this layout: @@ -29229,7 +29229,7 @@ A **persona** is a TUI-only abstraction that bundles: 2. **Base arguments** — default arguments passed to the actor on every invocation 3. **Scoped projects** — projects always included in the session's context 4. **Scoped plans** — plans always included in the session's context -5. **Argument presets** — named argument overrides cycled with `ctrl+tab` +5. **Argument presets** — named argument overrides cycled with `ctrl+t` 6. **Display metadata** — short name, accent color, description Personas are stored as YAML files in `~/.config/cleveragents/personas/` and are strictly a Presentation-layer concept — they never appear in the domain model, A2A protocol, or database schema. @@ -29252,18 +29252,18 @@ The PersonaBar always shows the current state: |--------------------|-------|--------------| | Persona name | `$text-primary` on `$primary 10%` bg | `tab` cycle | | Actor name | `$text-secondary` | `tab` cycle | -| Preset label | `$text-warning` (non-default) / `$text-muted` (default) | `ctrl+tab` cycle | +| Preset label | `$text-warning` (non-default) / `$text-muted` (default) | `ctrl+t` cycle | | Scope indicator | `$text-muted` | Persona change or `/scope:add/remove` | | Session cost | `$secondary 70%`, right-aligned | After each actor response | #### Persona Cycling -`tab` cycles through personas in the configured cycle list. `ctrl+tab` cycles through the current persona's argument presets: +`tab` cycles through personas in the configured cycle list. `ctrl+t` cycles through the current persona's argument presets: ``` -tab: persona_1 → persona_2 → persona_3 → persona_1 → ... -ctrl+tab: default → think: high → think: max → quick → default → ... +tab: persona_1 → persona_2 → persona_3 → persona_1 → ... +ctrl+t: default → think: high → think: max → quick → default → ... ``` When cycling, the PersonaBar updates immediately. The actor binding for the session is updated — subsequent prompts use the new persona's actor and scope. @@ -29647,7 +29647,7 @@ The PersonaEditorModal is used for creating and editing personas: │ ── Scoped Plans ──────────────────────────────────────────────────────────── │ │ [ ] fix-auth-bug (01HXM8C2) [ ] refactor-models (01HXM9D3) │ │ │ -│ ── Argument Presets (ctrl+tab cycling) ───────────────────────────────────── │ +│ ── Argument Presets (ctrl+t cycling) ───────────────────────────────────── │ │ ┌────────────────────────────────────────────────────────────────────────────────────┐ │ │ │ 1. default │ (base arguments) │ │ │ │ 2. think: high │ thinking_effort=high │ │ @@ -29796,7 +29796,7 @@ Notifications appear as a single-line Flash bar above the prompt, auto-dismissin │ Navigation │ │ shift+tab Cycle sidebar: hidden → visible → fullscreen │ │ tab Cycle to next persona │ -│ ctrl+tab Cycle to next argument preset │ +│ ctrl+t Cycle to next argument preset │ │ ctrl+[/] Switch session tab │ │ escape Close overlay / sidebar / return to prompt │ │ │ @@ -30402,7 +30402,7 @@ Hotkeys vary by the current screen and focused widget. The help panel (`F1`) alw | `ctrl+enter` | Submit prompt (multi-line mode) | | `shift+enter` / `ctrl+j` | Insert newline (switch to multi-line mode) | | `tab` | Cycle to next persona | -| `ctrl+tab` | Cycle to next argument preset | +| `ctrl+t` | Cycle to next argument preset | | `up` (at row 0) | Previous prompt history entry | | `down` (at last row) | Next prompt history entry | | `@` | Open Reference Picker overlay | @@ -30764,8 +30764,8 @@ These keys set the default context policy for all projects. Project-level contex | `context.summarize.model` | string | *(uses actor's model)* | `CLEVERAGENTS_CTX_SUMMARY_MODEL` | Model to use for context summarization. When unset, the active actor's own model is used. Set this to a faster/cheaper model (e.g., a smaller variant) to reduce summarization cost. | | `context.strategies.enabled` | list | `["simple-keyword", "semantic-embedding", "breadth-depth-navigator"]` | `CLEVERAGENTS_CTX_STRATEGIES` | Ordered list of ACMS context strategies enabled globally. Strategies are run in parallel and their results fused by the Context Assembly Pipeline. | | `context.strategies.custom.*` | object | *(none)* | — | Registration block for custom context strategies. Each key under `custom` names a strategy; the value specifies its `module`, `class`, `max_quality`, and optional `config`. | -| `context.strategies.arce.model` | string | *(uses actor's model)* | `CLEVERAGENTS_CTX_ARCE_MODEL` | Model used by the ARCE (Autonomous Reasoning Context Extraction) strategy for its internal reasoning loop. | -| `context.strategies.arce.max-rounds` | integer | `3` | `CLEVERAGENTS_CTX_ARCE_ROUNDS` | Maximum number of search-refine rounds the ARCE strategy performs before returning results. | +| `context.strategies.arce.model` | string | *(uses actor's model)* | `CLEVERAGENTS_CTX_ARCE_MODEL` | Model used by the ARCE (Adaptive Recursive Context Expansion) strategy for its internal reasoning loop. | +| `context.strategies.arce.max-rounds` | integer | `5` | `CLEVERAGENTS_CTX_ARCE_ROUNDS` | Maximum number of search-refine rounds the ARCE strategy performs before returning results. | | `context.strategies.breadth-depth-navigator.max-hops` | integer | `4` | `CLEVERAGENTS_CTX_BDN_HOPS` | Maximum graph traversal depth for the breadth-depth-navigator strategy. | | `context.budget.response-reserve-tokens` | integer | `4096` | `CLEVERAGENTS_CTX_RESPONSE_RESERVE` | Number of tokens reserved from the model's context window for the response. Subtracted before computing the context budget. | | `context.budget.tool-definition-estimate` | integer | *(auto-computed)* | `CLEVERAGENTS_CTX_TOOL_ESTIMATE` | Estimated tokens consumed by tool definitions in the prompt. When unset, computed from the active skill set. | @@ -45486,15 +45486,15 @@ Vector similarity search. Finds semantically related content even without exact The graph-aware strategy that uses the depth/breadth projection system. Works with the UKO graph to provide structurally-aware context at any detail depth. Supports focus items, hop traversal, and detail depth gradients. This is the primary strategy for code-aware context. Quality score: 0.85. -##### Strategy: `arce` (Analyze, Retrieve, Contextualize, Execute) +##### Strategy: `arce` (Adaptive Recursive Context Expansion) -The sophisticated multi-modal pipeline. Combines text, vector, and graph search with intent analysis and actor-type-aware patterns. This is the "kitchen sink" strategy that produces the highest quality results but requires all backends. Quality score: 0.95. +The iterative multi-pass refinement strategy. Scores fragments using a composite of relevance, detail depth, and keyword diversity, then iteratively refines rankings until convergence (score improvement < threshold) or the iteration limit is reached. Quality score: 0.95. -Actor-type-specific graph traversal patterns: - -- **Strategy actors**: Broader, shallower traversal. Emphasis on module boundaries and dependency structures. Prioritizes `uko:Container` and `uko:Boundary` nodes. -- **Execution actors**: Narrower, deeper traversal. Emphasis on implementation details, function bodies, and test coverage. Prioritizes `uko:Atom` nodes. -- **Estimation actors**: Focus on size metrics, complexity indicators, and historical data. Prioritizes temporal data. +> **Note**: The current implementation uses word-overlap scoring as a practical approximation. The full implementation (requiring all backends) will add LLM-based intent analysis and actor-type-aware graph traversal patterns: +> +> - **Strategy actors**: Broader, shallower traversal. Emphasis on module boundaries and dependency structures. Prioritizes `uko:Container` and `uko:Boundary` nodes. +> - **Execution actors**: Narrower, deeper traversal. Emphasis on implementation details, function bodies, and test coverage. Prioritizes `uko:Atom` nodes. +> - **Estimation actors**: Focus on size metrics, complexity indicators, and historical data. Prioritizes temporal data. ##### Strategy: `temporal-archaeology`