feat(capability): Phase 3 - corvus-composer with AgentManifest schema#511
Conversation
…schema
Implements Phase 3A (Agent Manifest) and Phase 3B (AgentComposer):
- Creates with:
- AgentManifest TOML schema (serializable Rust structs)
- Validation rules per PRD (R1-R7):
- R1: At least one provider
- R2: At least one channel
- R3: Default provider must be enabled
- R4: Enabled capabilities must be known
- R5: Memory backend must be valid
- R6: Security sandbox must be valid
- R7: Tool restrictions must be subset
- ValidationError enum for structured errors
- CapabilityReport for introspection
- Known capability registries (providers, channels, tools, backends)
- Implements AgentComposer that:
- Parses manifests from TOML string or file
- Validates against PRD requirements
- Provides required_capabilities() introspection
- Provides validate_with_warnings() for non-blocking issues
- Adds crate to workspace and wires into main corvus crate
Note: Registry resolution delegating to bootstrap (not implemented in composer)
Deploying corvus with
|
| Latest commit: |
7f76df5
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://2eb03721.corvus-42x.pages.dev |
| Branch Preview URL: | https://feature-capability-architect-ta0v.corvus-42x.pages.dev |
|
Important Review skippedAuto reviews are limited based on label configuration. 🚫 Review skipped — only excluded labels are configured. (2)
Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
📝 WalkthroughWalkthroughThis PR establishes a modular trait abstraction layer by creating seven new workspace crates ( Changes
Sequence DiagramsequenceDiagram
participant User
participant AgentComposer as Agent Composer
participant Validator as Validator
participant Report as Capability Report
participant Builder as Agent Builder
User->>AgentComposer: from_toml(manifest_str)
AgentComposer->>Validator: validate()
Validator->>Validator: Check required providers/channels
Validator->>Validator: Verify defaults exist & enabled
Validator->>Validator: Validate against KNOWN_* lists
Validator->>Validator: Check sandbox/memory backends
Validator->>Validator: Verify tool_restrictions ⊆ enabled tools
Validator-->>AgentComposer: Result<(), ValidationError>
AgentComposer->>Report: populate_from_manifest()
AgentComposer-->>User: AgentComposer { manifest, reports }
User->>AgentComposer: into_agent_builder()
AgentComposer->>Builder: new() with capabilities
Builder-->>User: Result<B>
Estimated code review effort🎯 4 (Complex) | ⏱️ ~75 minutes Possibly related PRs
Suggested labels
Suggested reviewers
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
✅ Contributor ReportUser: @yacosta738
Contributor Report evaluates based on public GitHub activity. Analysis period: 2025-04-11 to 2026-04-11 |
|



Summary
Implements Phase 3A (Agent Manifest) and Phase 3B (AgentComposer) of the capability-based architecture.
What Changed
Created
crates/corvus-composer/with:AgentManifestTOML schema (serializable Rust structs with serde)ValidationErrorenum for structured errorsCapabilityReportfor introspection viarequired_capabilities()Implements
AgentComposerthat:required_capabilities()returningCapabilityReportvalidate_with_warnings()for non-blocking issuesinto_agent_builder()placeholder (delegates to bootstrap)Added crate to workspace (
Cargo.toml) and wired into maincorvuscrate (lib.rs)Not Changed
AgentBuilder(kept as low-level assembly interface).claude/directoryTests
All 8 corvus-composer tests pass:
parse_minimal_manifestvalidate_requires_providersvalidate_requires_channelsvalidate_requires_default_in_providersvalidate_unknown_providervalidate_tool_restrictions_subsetrequired_capabilitieswarnings_for_empty_toolsValidation
cargo fmt --check✅cargo clippy✅cargo test -p corvus-composer✅ (8 tests)cargo test✅ (3478 tests)