LLM Upgrade: intent_router semantic routing decisions #83
Labels
No labels
blocked:children
blocked:commit-ready-failed
blocked:depends-231
blocked:depends-236
blocked:depends-237
blocked:depends-238
blocked:depends-239
blocked:gate-fetch
blocked:gate-fetch
blocked:gate-lint
blocked:gate-research
blocked:needs-attention
blocked:needs-decision
blocked:no-changes
blocked:no-procedure
blocked:preflight
blocked:verify-failed
bug
enhancement
feature-request
high-priority
in-progress
lint-cleanup
needs-decompose
needs-triage
ops-retry
ops-task
phase-5
quickfix
security/medium
self-building
triage-approved
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Mark/mesh-seed#83
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
intent_routeruses hardcoded routing:Misses semantic routing opportunities:
Solution
Add LLM-assisted routing for ambiguous intents:
Semantic routing: When routing is ambiguous:
LLM query: "Given intent '{intent}' with payload '{payload}', which worker is best? Consider: cost ${budget}, deadline {deadline}s, quality tier '{quality_tier}'. Return worker_id with reasoning."
Gate logic: Use LLM routing when:
Integration:
_route_semantic()method to intent_routerFiles to Modify
runtime/intent_router.py- add_route_semantic(), integrate with existing routingAcceptance Criteria
⏸ Needs Decision
What needs to be decided?
blocked:needs-decisionlabel to route back to triage.Blocking factors:
Scope: small Risk: low Spec: partial Type: enhancement
Summary: Adds LLM-assisted semantic routing to intent_router for ambiguous routing decisions using user preference hints (budget, deadline, quality_tier).
Suggestion: Implement
_route_semantic()as a drop-in layer after RoutePlanner with strict fallback to score-based when LLM unavailable. Gate on confidence gap < threshold or presence of preference hints. However, note tension with #121 (remove LLM calls from infrastructure) — consider routing the ambiguity to a lightweight worker that makes the call instead of embedding the LLM call directly in intent_router.Rationale: Scope is small: single-file additive change (add _route_semantic to runtime/intent_router.py, gate logic, logging). Risk is low: existing bones→RoutePlanner path untouched, fallback to score-based selection guarantees no regression. Spec alignment is partial: routing decisions belong to infrastructure per AGENTS.md ('The substrate routes'), so the concept is aligned, but adding an LLM call to infrastructure conflicts with active effort #121 to remove LLM calls from infrastructure components. The suggestion mitigates this by proposing a worker-based delegation pattern.
To unblock: Remove the
blocked:needs-decisionlabel. The triage will apply the appropriate outcome based on your choice above.Approved — removing blocked:needs-decision. Triage failed to auto-approve, but this is low/medium risk, aligned.