Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 44 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,50 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

## [6.3.0] - 2025-12-27

### Added

- **Provider Override Support** - New `--provider` CLI flag to force specific AI provider
- Override default model routing for any command
- Supports: anthropic, openai, gemini, openrouter, ollama, mlx
- Example: `convergio --provider openai "analyze this code"`

- **Ollama Model Selection** - New `--ollama-model` CLI flag for local model control
- Specify which Ollama model to use when running locally
- Example: `convergio --provider ollama --ollama-model llama3.2 "explain this"`

- **Extended Workflow Monitor** - Support for complex multi-stage workflows
- Sequential workflows: step-by-step execution with dependencies
- Pipeline workflows: streaming data through processing stages
- Conditional workflows: branching based on runtime conditions
- Phased workflows: grouped stages with phase-level monitoring

### Fixed

- **Critical: Delegation Infinite Loop** - Fixed race condition in agent delegation
- Prevented infinite loops when delegating tasks between agents
- Fixed Ollama memory explosion caused by runaway delegation chains
- Added maximum delegation depth protection (default: 5 levels)

- **OpenAI Realtime WebSocket** - Improved voice session handling
- Better connection state management
- Proper cleanup on session termination
- Fixed memory leaks in WebSocket callbacks

### Changed

- **Compiler Warning Suppression** - Added flags for safe warning types
- `-Wno-format-nonliteral` for intentional dynamic format strings
- `-Wno-gnu-zero-variadic-macro-arguments` for standard variadic macro patterns
- Removed unused `is_delegation_request` function to clean codebase

### Documentation

- Updated workflow orchestration documentation with new workflow types
- Added examples for provider override usage
- Documented Ollama integration patterns

## [6.2.0] - 2025-12-26

### Added
Expand Down
2 changes: 2 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,8 @@ CFLAGS = $(ARCH_FLAGS) \
-Wall -Wextra -Wpedantic \
-Wno-unused-parameter \
-Wno-overlength-strings \
-Wno-format-nonliteral \
-Wno-gnu-zero-variadic-macro-arguments \
-ffast-math \
-fvectorize \
-mllvm -enable-machine-outliner=never \
Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
6.2.0
6.3.0
18 changes: 0 additions & 18 deletions src/router/intent_router.c
Original file line number Diff line number Diff line change
Expand Up @@ -168,24 +168,6 @@ static const char* check_switch_intent(const char* input) {
return NULL; // Switch intent but couldn't identify agent
}

// Check if input is a delegation request (separate from routing)
// Returns true if this is a delegation request that needs marker enforcement
static bool is_delegation_request(const char* input) {
char lower[256];
size_t len = strlen(input);
if (len >= sizeof(lower))
len = sizeof(lower) - 1;
for (size_t i = 0; i < len; i++) {
lower[i] = (char)tolower((unsigned char)input[i]);
}
lower[len] = '\0';

return (strstr(lower, "delega") || strstr(lower, "delegate") ||
strstr(lower, "coordina") || strstr(lower, "orchestra") ||
strstr(lower, "chiedi a") || strstr(lower, "ask ") ||
strstr(lower, "fai analizzare") || strstr(lower, "fai fare"));
}

// Quick pattern check before calling LLM (optimization)
static const char* quick_pattern_route(const char* input, bool* is_delegation) {
// Convert to lowercase for matching
Expand Down
Loading