1.9 KiB
1.9 KiB
Merged and closed.
Implementation:
- Added explicit Profile/resolved Manifest
featureconfiguration for Task, Memory, Web, Pods, Ticket, and Ticket orchestration tool surfaces. - Disabled features omit tools from the Worker tool schema instead of registering them and denying later.
- Core filesystem/process tools remain outside this feature grouping and continue to be controlled by scope/policy.
- Ticket lifecycle access and Ticket orchestration surfaces are separable.
- Web, Memory, Ticket, and Pod tools retain their existing fail-closed / authority / scope checks when enabled.
- Project role profiles now set explicit feature defaults:
- Orchestrator: Ticket lifecycle, Ticket orchestration, and Pods enabled; Task disabled.
- Intake: basic Ticket enabled; Ticket orchestration, Pods, and Task disabled.
- Coder/Reviewer/Companion: Ticket orchestration, Pods, and Task disabled; Ticket disabled in the current chosen defaults.
Commits:
f0f6cc9 feat: gate built-in tools by profile features2fd37af fix: align pod feature flag naming507863f fix: lock project role feature surfaces656048a test: cover project role feature profiles- merge:
c71a272 merge: gate tool surfaces by profile features
Review:
- Earlier reviews requested
feature.podsnaming, project role Task-disable defaults, and actual project role profile coverage. - Final review approved after
656048a; merge-ready with only small residual E2E coverage risk noted.
Post-merge validation:
cargo test -p manifest actual_project_role_profiles_resolve_explicit_feature_defaults --libcargo test -p manifest feature --libcargo test -p pod project_role_tool_surfaces_keep_task_disabled_and_pods_role_scoped --test controller_testcargo test -p pod feature --testscargo test -p tools --test integrationcargo fmt --checkgit diff --checkcargo run -q -p yoi -- ticket doctorcargo check --workspacenix build .#yoi