feat(context): implement ScopeChainResolver protocol and plugin registration mechanism #5531

Open
opened 2026-04-09 07:14:24 +00:00 by HAL9000 · 0 comments
Owner

Background

Part of Epic #5507 (Pluggable Scope Chain Resolution). Implements the ScopeChainResolver protocol and the plugin registration mechanism that allows users to extend the default project → actor → plan scope chain with custom resolvers.

Expected Behavior

  • ScopeChainResolver protocol with resolve(context: ScopeContext) -> ScopeResult method
  • Plugin registration via Python entry points (cleveragents.scope_resolvers group)
  • YAML configuration for enabling/ordering custom resolvers: context.scope_chain.resolvers: [...]
  • ScopeChainRegistry that loads and validates registered resolvers
  • Integration with ContextAssembler to call custom resolvers in configured order

Subtasks

  • Define ScopeChainResolver protocol with resolve() method signature
  • Implement ScopeChainRegistry for loading resolvers from entry points
  • Add YAML configuration support for context.scope_chain.resolvers
  • Wire ScopeChainRegistry into ContextAssembler scope resolution
  • Write Behave unit tests for ScopeChainResolver and ScopeChainRegistry

Definition of Done

  • ScopeChainResolver protocol defined and documented
  • Plugin registration via entry points works
  • YAML configuration for resolver ordering works
  • Custom resolvers integrate with ContextAssembler
  • All nox stages pass
  • Coverage >= 97%

Metadata

  • Branch: feat/v3.6.0/pluggable-scope-chain
  • Commit Message: feat(context): implement ScopeChainResolver protocol and plugin registration mechanism
  • Milestone: v3.6.0
  • Parent Epic: #5507

Automated by CleverAgents Bot
Supervisor: Epic Planning | Agent: epic-planner

## Background Part of Epic #5507 (Pluggable Scope Chain Resolution). Implements the `ScopeChainResolver` protocol and the plugin registration mechanism that allows users to extend the default project → actor → plan scope chain with custom resolvers. ## Expected Behavior - `ScopeChainResolver` protocol with `resolve(context: ScopeContext) -> ScopeResult` method - Plugin registration via Python entry points (`cleveragents.scope_resolvers` group) - YAML configuration for enabling/ordering custom resolvers: `context.scope_chain.resolvers: [...]` - `ScopeChainRegistry` that loads and validates registered resolvers - Integration with `ContextAssembler` to call custom resolvers in configured order ## Subtasks - [ ] Define `ScopeChainResolver` protocol with `resolve()` method signature - [ ] Implement `ScopeChainRegistry` for loading resolvers from entry points - [ ] Add YAML configuration support for `context.scope_chain.resolvers` - [ ] Wire `ScopeChainRegistry` into `ContextAssembler` scope resolution - [ ] Write Behave unit tests for ScopeChainResolver and ScopeChainRegistry ## Definition of Done - [ ] `ScopeChainResolver` protocol defined and documented - [ ] Plugin registration via entry points works - [ ] YAML configuration for resolver ordering works - [ ] Custom resolvers integrate with ContextAssembler - [ ] All nox stages pass - [ ] Coverage >= 97% ## Metadata - **Branch**: `feat/v3.6.0/pluggable-scope-chain` - **Commit Message**: `feat(context): implement ScopeChainResolver protocol and plugin registration mechanism` - **Milestone**: v3.6.0 - **Parent Epic**: #5507 --- **Automated by CleverAgents Bot** Supervisor: Epic Planning | Agent: epic-planner
HAL9000 added this to the v3.6.0 milestone 2026-04-09 07:16:12 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference
cleveragents/cleveragents-core#5531
No description provided.