Skip to content

feat: Model Aliases with Chaining and Circular Detection (F07)#94

Merged
leocamello merged 3 commits intomainfrom
feature/f07-model-aliases
Feb 8, 2026
Merged

feat: Model Aliases with Chaining and Circular Detection (F07)#94
leocamello merged 3 commits intomainfrom
feature/f07-model-aliases

Conversation

@leocamello
Copy link
Owner

Summary

Enhances the existing model alias functionality from F06 with:

  • Alias chaining (max 3 levels): gpt-4llama-largellama3:70b
  • Circular alias detection at config load time
  • DEBUG logging for alias resolution

Changes

Core Implementation

  • src/routing/mod.rs: Updated resolve_alias() to support iterative chaining with max 3 levels
  • src/config/routing.rs: Added validate_aliases() function for circular detection
  • src/config/error.rs: Added CircularAlias error variant
  • src/config/mod.rs: Integrated validation into config load

Tests

  • 14 new unit tests for alias chaining and circular detection
  • 3 new integration tests for E2E alias routing
  • All 305 tests passing

Example Usage

[routing.aliases]
"gpt-4" = "llama-large"
"llama-large" = "llama3:70b"
# Request for "gpt-4" routes to "llama3:70b"

Closes

Closes #88
Closes #89
Closes #90
Closes #91
Closes #92
Closes #93

Testing

cargo test
cargo clippy --all-targets -- -D warnings
cargo fmt --all -- --check

F07: Model Aliases - Enhancement to existing F06 alias functionality:
- Alias chaining up to 3 levels (gpt-4 → llama-large → llama3:70b)
- Circular alias detection at config load
- DEBUG logging for alias resolution

Includes: spec.md, plan.md, tasks.md, requirements-validation.md (54 passed, 11 N/A)
…gging

- Add alias chaining support (max 3 levels) in resolve_alias()
- Add validate_aliases() for circular alias detection at config load
- Add CircularAlias error variant
- Add DEBUG level logging for alias resolution
- Add comprehensive unit and integration tests

Tests: All 305 tests passing (14 new unit, 3 integration)

Closes #88
Closes #89
Closes #90
Closes #91
Closes #92
Closes #93
@leocamello leocamello added enhancement New feature or request P1 Phase 1 Priority model-aliases F07: Model Aliases feature labels Feb 8, 2026
@leocamello leocamello merged commit aaf5be2 into main Feb 8, 2026
8 checks passed
@leocamello leocamello deleted the feature/f07-model-aliases branch February 8, 2026 20:46
leocamello added a commit that referenced this pull request Feb 17, 2026
* docs(f07): add Model Aliases spec with chaining and circular detection

F07: Model Aliases - Enhancement to existing F06 alias functionality:
- Alias chaining up to 3 levels (gpt-4 → llama-large → llama3:70b)
- Circular alias detection at config load
- DEBUG logging for alias resolution

Includes: spec.md, plan.md, tasks.md, requirements-validation.md (54 passed, 11 N/A)

* feat(f07): implement alias chaining, circular detection, and DEBUG logging

- Add alias chaining support (max 3 levels) in resolve_alias()
- Add validate_aliases() for circular alias detection at config load
- Add CircularAlias error variant
- Add DEBUG level logging for alias resolution
- Add comprehensive unit and integration tests

Tests: All 305 tests passing (14 new unit, 3 integration)

Closes #88
Closes #89
Closes #90
Closes #91
Closes #92
Closes #93

* docs(f07): complete verification checklist (109 passed, 86 N/A)
leocamello added a commit that referenced this pull request Feb 17, 2026
* docs(f07): add Model Aliases spec with chaining and circular detection

F07: Model Aliases - Enhancement to existing F06 alias functionality:
- Alias chaining up to 3 levels (gpt-4 → llama-large → llama3:70b)
- Circular alias detection at config load
- DEBUG logging for alias resolution

Includes: spec.md, plan.md, tasks.md, requirements-validation.md (54 passed, 11 N/A)

* feat(f07): implement alias chaining, circular detection, and DEBUG logging

- Add alias chaining support (max 3 levels) in resolve_alias()
- Add validate_aliases() for circular alias detection at config load
- Add CircularAlias error variant
- Add DEBUG level logging for alias resolution
- Add comprehensive unit and integration tests

Tests: All 305 tests passing (14 new unit, 3 integration)

Closes #88
Closes #89
Closes #90
Closes #91
Closes #92
Closes #93

* docs(f07): complete verification checklist (109 passed, 86 N/A)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request model-aliases F07: Model Aliases feature P1 Phase 1 Priority

Projects

None yet

1 participant