feat(aidd-orchestrator): route by discovered capability, not hardcoded plugin

Open
#146 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
35/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Quiet
Tech stack
typescript

Research direction

Start with docs/ARCHITECTURE.md, then inspect the orchestrator routing and check-sdlc references described in the issue and the call sites in #406. Use #406 as the acceptance fixture and review #250's CI check. Done means plans are derived from installed capabilities, shown before execution, and degrade when a plugin is removed without naming a plugin directly.

Written by the indexing model from the issue text.

Description

Problem

The orchestrator's route is hardcoded. It names aidd-dev by address in its routing regexes and its check-sdlc step, which violates the cross-plugin orthogonality rule in docs/ARCHITECTURE.md — see #406, the concrete violation.

It has no choice today: nothing lets a skill discover, at runtime, what the installed plugins can do. So the pipeline is written down instead of derived.

Scope

An orchestrator that, on every request, reads what is available and proposes a plan, instead of replaying a fixed pipeline.

Its inputs:

  • The installed plugins — context, dev, pm, vcs, ui, plus stack and craftsmanship plugins (#148). It reads their skills and agents directly; no separate declaration contract.
  • The project — its state, its memory, its detected stack.
  • The request — what the user actually asked for.

Its output: an orchestration plan, presented, then run.

Acceptance criteria

  • The orchestrator names no plugin by address. Remove the hardcoded aidd-dev and the routing regexes of #406, and nothing breaks.
  • Installing a new plugin changes the plan it proposes, with no code change.
  • Uninstalling a plugin degrades the plan instead of breaking it.
  • The plan is shown before it runs.

Related

  • #406 — the violation this feature makes impossible. Its call sites are the acceptance fixture.
  • #250 — the CI check that stops the next violation from landing.
Dominant language
TypeScript
Stars
481
Forks
45
Avg merge
14h 36m
Merged PRs (30d)
110

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from ai-driven-dev/framework

All issues in ai-driven-dev/framework

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.