hero_livekit_admin [[dependencies]] lacks socket_name gate; dep key-form differs between lab and herolib parsers #46

Closed
opened 2026-06-08 10:30:25 +00:00 by sameh-farouk · 0 comments
Member

Correction (this issue was filed inaccurately — fixed below)

The original claim "missing [[dependencies]]" is wrong. crates/hero_livekit_admin/service.toml does declare the dependency:

[[dependencies]]
repo       = "lhumina_code/hero_livekit"
crate_name = "hero_livekit_server"
bin_name   = "hero_livekit_server"

And lab resolves it correctly: dep_to_binary_name (service_manager.rs:2077) picks bin_namehero_livekit_server, so ensure_dependency_running orders the admin after the server on the lab start path.

The real (smaller) inconsistencies

  1. No socket-readiness gate. hero_collab_admin declares socket_name = "rpc.sock"; the hero_livekit admin omits it. So the dependency gates on the server binary, not on rpc.sock being ready. Add socket_name = "rpc.sock" to match.

  2. Key-form split between the two parsers (the important one). The file uses the full-name keys crate_name / bin_name / socket_name, which match lab's CanonicalDep (service/model.rs:12-13, "no serde renames"). But herolib_core's Dependency struct expects crate / bin / socket (#[serde(rename="crate")]). So hero_lib's parser sees only repo and drops the target — the dependency is invisible to the hero_lib/hero_proc parser. Works today only because lab is the enforcer; it will silently no-op when hero_proc#135 makes the supervisor read [[dependencies]] itself. This is a repo-wide (and likely suite-wide, incl. hero_collab) schema split — see the duplication/cleanup issue.

Fix

  • Add socket_name = "rpc.sock" to the admin dependency.
  • Reconcile the dependency key form across lab CanonicalDep and herolib_core Dependency (broader; tracked separately).
## Correction (this issue was filed inaccurately — fixed below) The original claim "missing `[[dependencies]]`" is **wrong**. `crates/hero_livekit_admin/service.toml` **does** declare the dependency: ```toml [[dependencies]] repo = "lhumina_code/hero_livekit" crate_name = "hero_livekit_server" bin_name = "hero_livekit_server" ``` And **lab resolves it correctly**: `dep_to_binary_name` (`service_manager.rs:2077`) picks `bin_name` → `hero_livekit_server`, so `ensure_dependency_running` orders the admin after the server on the lab start path. ## The real (smaller) inconsistencies 1. **No socket-readiness gate.** `hero_collab_admin` declares `socket_name = "rpc.sock"`; the hero_livekit admin omits it. So the dependency gates on the server binary, not on `rpc.sock` being ready. Add `socket_name = "rpc.sock"` to match. 2. **Key-form split between the two parsers (the important one).** The file uses the full-name keys `crate_name` / `bin_name` / `socket_name`, which match **lab's** `CanonicalDep` (`service/model.rs:12-13`, "no serde renames"). But **herolib_core's** `Dependency` struct expects `crate` / `bin` / `socket` (`#[serde(rename="crate")]`). So hero_lib's parser sees only `repo` and drops the target — the dependency is **invisible to the hero_lib/hero_proc parser**. Works today only because lab is the enforcer; it will silently no-op when hero_proc#135 makes the supervisor read `[[dependencies]]` itself. This is a repo-wide (and likely suite-wide, incl. hero_collab) schema split — see the duplication/cleanup issue. ## Fix - Add `socket_name = "rpc.sock"` to the admin dependency. - Reconcile the dependency key form across lab `CanonicalDep` and herolib_core `Dependency` (broader; tracked separately).
sameh-farouk changed title from hero_livekit_admin service.toml is missing [[dependencies]] on hero_livekit_server rpc.sock (inconsistent with hero_collab_admin) to hero_livekit_admin [[dependencies]] lacks socket_name gate; dep key-form differs between lab and herolib parsers 2026-06-08 10:38:25 +00:00
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
lhumina_code/hero_livekit#46
No description provided.