yoi/.yoi/tickets/20260609-082209-001/resolution.md

1.9 KiB

Merged and closed.

Implementation:

  • Added explicit Profile/resolved Manifest feature configuration 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 features
  • 2fd37af fix: align pod feature flag naming
  • 507863f fix: lock project role feature surfaces
  • 656048a test: cover project role feature profiles
  • merge: c71a272 merge: gate tool surfaces by profile features

Review:

  • Earlier reviews requested feature.pods naming, 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 --lib
  • cargo test -p manifest feature --lib
  • cargo test -p pod project_role_tool_surfaces_keep_task_disabled_and_pods_role_scoped --test controller_test
  • cargo test -p pod feature --tests
  • cargo test -p tools --test integration
  • cargo fmt --check
  • git diff --check
  • cargo run -q -p yoi -- ticket doctor
  • cargo check --workspace
  • nix build .#yoi