Skip to content

feat: skill_routing role-capability conformance axis (ORRO #91, Depone-first) - #104

Merged
moonweave merged 1 commit into
mainfrom
feat/skill-routing-axis
Jul 21, 2026
Merged

feat: skill_routing role-capability conformance axis (ORRO #91, Depone-first)#104
moonweave merged 1 commit into
mainfrom
feat/skill-routing-axis

Conversation

@moonweave

Copy link
Copy Markdown
Contributor

First half of ORRO #91 (spec: ORRO docs/superpowers/specs/2026-07-21-skill-routing-conformance-design.md). Adds skill_routing as a third role-capability conformance axis, peer to tool_calls and write_scope.

A run declares role_capability_skill_routing: {forbidden_skills, preferred_skills, enforcement}; witnessd (later PR) emits a bound observed-skills.txt; Depone verifies the binding and re-derives whether any observed skill matches a forbidden entry, emitting ERR_ROLE_CAPABILITY_SKILL_ROUTING_VIOLATION.

Mirrors role_capability_write_scope exactly — new schema v110.role_capability_skill_routing, the SAME bound-observation/signature/trust-anchor machinery (_load_bound_run_intent + _validate_bound_observation), and the full fixture set (pass, pass_bound_observation, fail, fail_observation_unbound, fail_observation_tampered, fail_unsigned, fail_bad_signature, fail_no_trust_anchor). Trust lives in the tamper-evident binding, never a self-reported value.

enforcement: block (default) → violation blocks like write_scope; advisory → violation still reported (RoleCapabilityConformance status=fail) but filtered from the blocking set. A0/A1/A2 unchanged (conformance axis, not an assurance input).

Verification (independent, Opus): full suite 449 tests, only the 1 pre-existing failure, 0 new; forbidden matching (exact + glob), advisory non-blocking, v110-schema-required, unbound/tampered refutation all tested; mutation-checked (neutering the forbidden-match reddens the fail tests; neutering the bound-observation guard reddens the unbound/tampered refutation tests).

🤖 Generated with Claude Code

…skills, ORRO #91)

Co-Authored-By: Codex (gpt-5.5) <noreply@openai.com>
@moonweave
moonweave merged commit 91ebdda into main Jul 21, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant