Unify role providers and composed skills in .agents/roles.kdl #196
Labels
No labels
autonomy
async-consult
autonomy
epic
autonomy
headless
autonomy
live-collab
coherence-core
priority
P0
priority
P1
priority
P2
priority
P3
priority
P4
qa-fixture
role/ai
role/creator
role/design
role/director
role/engineer
role/exec
role/human
role/ops
role/qa
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
coilyco-flight-deck/agent-compose#196
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Outcome
Make
.agents/roles.kdlthe single authored role graph for both repository-provider inclusion and composed-skill selection.Move product-native role-provider declarations out of the separate
role_providers_fileYAML path. Keep provider resolution and skill selection as distinct internal phases while presenting one coherent authoring model.Problem
Role composition is currently split across two canonical inputs:
.agents/roles.kdlselects role-composed skills.config/role-providers.yamlselects repository providers for each role.The second file is difficult to discover because it describes agent behavior but lives outside
.agents/. It is also projected into host configuration through a special symlink even though the mapping is product-native and shared across Kai's personal hosts rather than host-specific deployment tuning.The split makes one role's effective capability graph harder to inspect and maintain. For example, Ops receives Infrastructure and Deploy through the YAML file while its composed skills are selected in KDL.
Proposed authoring model
Extend
.agents/roles.kdlwith named provider declarations and explicit role references:Named providers replace YAML anchors and keep repository paths and selectors defined once. Provider identifiers should be document-local so multiple trusted root catalogues cannot collide accidentally.
Runtime model
Unify authoring without flattening the resolver:
.agents/roles.kdl.Only trusted root manifests should be allowed to introduce repository providers. Imported providers must not recursively widen the provider graph unless a future explicit contract permits it.
Validation and explanation
Fail closed on:
Preserve full provenance in
compose --explain,describe, and semantic diff output. A trace should make edges such asrole ops -> AOSK provider deploy -> selected cataloguevisible.Migration
role_providers_file, but fail when legacy and KDL provider declarations are both active..agents/roles.kdl.role_providers_filefrom the host schema after migration.Host configuration should retain genuinely host-level inputs such as
projects_root, trusted catalogue roots, harness load points, and machine-specific overlays.Acceptance criteria
.agents/roles.kdlsupports named provider declarations with path, required-state, and optional skill selectors.role_providers_fileafter migration.