[meta] broken: dispatcher.nu calls 47 deleted service_*.nu functions after d1825ad — service <name> <verb> non-functional on origin/development #245
Labels
No labels
prio_critical
prio_low
type_bug
type_contact
type_issue
type_lead
type_question
type_story
type_task
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
lhumina_code/hero_skills#245
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?
Symptom
On current origin/development of
hero_skills, everyservice <name> <verb>invocation (exceptservice code …andservice office …) routes to a function that no longer exists on disk. The dispatcher will fail withcommand not found: service_slides,service_mycelium,service_db, etc.What happened
Commit
d1825ad(despiegk, 2026-05-10 08:21, titled "feat: reorganize skills and enhance openrpc documentation") deleted 47service_*.nufiles pluspackages.nu:Left behind in
nutools/modules/services/:But
dispatcher.nuwas not updated to match — it still has 40+ match arms like:Only two services were migrated to call
labdirectly:Impact
git pulls their~/hero/code/hero_skillsruntime clone immediately loses the ability to start any service via the dispatcher.d1825ad) keep working.--allchain skips mycelium) and #244 (--target rootvalidator gap) — the source they reference no longer exists, but the bugs are still live for anyone on the runtime clone.Resolution options (despiegk's call)
A. Restore the deleted
service_*.nufiles untillabcovers themLowest-risk.
git revert d1825ad's deletion portion (keep the skills-reorganize portion). Restores parity with the runtime clone. Migration tolabcontinues incrementally, one service at a time, with the dispatcher arm flipped fromservice_Xtolab_build_serviceonly when the lab side is proven to work end-to-end (thecodearm is the existing template).B. Complete the migration in this branch
Rewrite every dispatcher arm to call
lab(or whatever the new entry point is). Requires thatlab service start <name>,lab service stop <name>,lab service status <name>cover everything the oldservice_X start/stop/statusdid per-service:--clearon proc,--instanceon mycelium and codescalers,--auth-modeon collab,--mode/--master-ipon compute,--embedderd/--userspaceon embedder, livekit flags on livekit, the slides/aibroker prereq chain, etc. Currentlylab servicelooks like a thin wrapper around build+start; the per-service flag surface and prereq orchestration is not visible incrates/lab/src/service/.C. Strip the dispatcher to only what lab supports today +
service_officeMost honest if the rest of the migration is months out.
serviceonly knowscodeandoffice; everything else becomes "uselab service <name>directly".Acceptance
service slides starteither succeeds (option A or B) or fails with a clear "not in dispatcher, uselab service slides start" message (option C).git pullwithout breaking their daily workflow.Refs
lab install <component>migration (sibling, not the cause)nutools/modules/services/dispatcher.nulines 105-330 — the orphaned match armsnutools/modules/services/service_office.nu— only surviving per-service modulecrates/lab/src/service/— current Rust service surface (build + start, no per-service flag handling)Signed-off-by: mik-tf