microsoft / microsoft/amplifier
app-cli: routing.matrix injects hooks-routing with no source: — module never downloads, routing silently disabled
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 3.1k
- Forks
- 261
- Avg merge
- 3h 28m
- Merged PRs (30d)
- 13
Description
(Filed here because microsoft/amplifier-app-cli has issues disabled — this is an app-cli runtime bug.)
Setting routing.matrix in settings.yaml makes app-cli inject a hooks-routing entry into the mount plan with no source: field, appended after Bundle.prepare() has run (amplifier_app_cli/runtime/config.py, the "Routing matrix config injection" block). The module is in neither ~/.amplifier/registry.json nor the CLI environment, so it never downloads and the hook silently never mounts.
No foundation bundle mounts it either — grep -rn routing over bundles/anchors returns nothing, and amplifier run uses anchors by default.
Result: amplifier routing show prints a perfect role→model table while every delegation runs on the root session's model.
Why it hides well: a critique delegation often resolves to the same model the root session already uses — the obvious spot-check passes by coincidence. It only becomes visible when delegating to an agent whose frontmatter model_role maps to a different model than the root session (e.g. anchors:builder → coding), and the delegation comes back on the root model anyway. Confirmed via the session events.jsonl (llm:request model per delegation), not the model's self-report.
Ask: either resolve a real source: for the injected hook entry (the routing-matrix bundle pins one — git+https://github.com/microsoft/amplifier-module-hooks-routing@main), or fail loudly at boot when a mount-plan entry has no resolvable source — anything but silently disabling the feature the settings key just enabled.
Workaround: a minimal user app bundle (~/.amplifier/bundles/routing-hook.md) that mounts hooks-routing with a pinned source:, registered via bundle.app in settings — restores routing for amplifier run delegations.
🤖 Generated with Claude Code
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in amplifier_app_cli/runtime/config.py at the “Routing matrix config injection” block, then reproduce with routing.matrix enabled and inspect session events.jsonl for each delegation’s llm:request model. Done means the injected hooks-routing entry has a resolvable source or app-cli fails loudly at boot, and delegations use the configured model role rather than the root model.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- backend, cli
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 68/100