[nu-demo] hero_slides has path dep on hero_lib but no service_lib clones it #127

Closed
opened 2026-04-23 23:14:09 +00:00 by mik-tf · 1 comment
Owner

Symptom

First-run service_slides install fails with:

failed to read /home/driver/hero/code0/hero_lib/crates/ai/Cargo.toml

Slides never builds on a fresh VM.

Root cause

hero_slides/Cargo.toml has a sibling-path dep:

herolib_ai = { path = "../hero_lib/crates/ai" }

but hero_skills has no service_lib.nu, so nothing clones hero_lib before the slides build. The service_install_all flow has no way to pull that dep in.

Demo workaround (applied 2026-04-23)

Manual git clone of hero_lib into ~/hero/code0/hero_lib, then re-ran service_slides install.

Proper fix

Pick one:
(a) Add a service_lib.nu module to hero_skills that clones hero_lib from Forge, and make service_slides's install step depend on it (same pattern other cross-repo deps use).
(b) Convert the path dep in hero_slides/Cargo.toml to a git dep pointing at hero_lib on development so cargo fetches it directly — no orchestration change needed.

Filed 2026-04-23 nu-shell demo bring-up. Signed-off-by: mik-tf

## Symptom First-run `service_slides install` fails with: ``` failed to read /home/driver/hero/code0/hero_lib/crates/ai/Cargo.toml ``` Slides never builds on a fresh VM. ## Root cause `hero_slides/Cargo.toml` has a sibling-path dep: ``` herolib_ai = { path = "../hero_lib/crates/ai" } ``` but hero_skills has no `service_lib.nu`, so nothing clones `hero_lib` before the slides build. The `service_install_all` flow has no way to pull that dep in. ## Demo workaround (applied 2026-04-23) Manual `git clone` of `hero_lib` into `~/hero/code0/hero_lib`, then re-ran `service_slides install`. ## Proper fix Pick one: (a) Add a `service_lib.nu` module to hero_skills that clones `hero_lib` from Forge, and make `service_slides`'s install step depend on it (same pattern other cross-repo deps use). (b) Convert the path dep in `hero_slides/Cargo.toml` to a git dep pointing at `hero_lib` on `development` so cargo fetches it directly — no orchestration change needed. Filed 2026-04-23 nu-shell demo bring-up. Signed-off-by: mik-tf
Author
Owner

Fixed via option (b) from the issue body — the path dep on hero_lib was converted to a git dep on development.

Verification (current hero_slides/crates/*/Cargo.toml):

hero_slides_rhai/Cargo.toml:12:   herolib_ai = { git = "https://forge.ourworld.tf/lhumina_code/hero_lib.git", branch = "development" }
hero_slides_lib/Cargo.toml:11:    herolib_ai = { git = "https://forge.ourworld.tf/lhumina_code/hero_lib.git", branch = "development" }
hero_slides_server/Cargo.toml:24: herolib_ai = { git = "https://forge.ourworld.tf/lhumina_code/hero_lib.git", branch = "development" }

No path = "../hero_lib/..." reference remains anywhere in the workspace. Cargo fetches herolib_ai from Forge directly during service_slides install, so no service_lib.nu orchestration is needed.

Intra-repo path deps (e.g. hero_slides_sdk = { path = "../hero_slides_sdk" }) are correct — they're sibling crates in the same workspace, not the cross-repo case the issue was about.

Signed-off-by: mik-tf

Fixed via option (b) from the issue body — the path dep on `hero_lib` was converted to a git dep on `development`. Verification (current `hero_slides/crates/*/Cargo.toml`): ``` hero_slides_rhai/Cargo.toml:12: herolib_ai = { git = "https://forge.ourworld.tf/lhumina_code/hero_lib.git", branch = "development" } hero_slides_lib/Cargo.toml:11: herolib_ai = { git = "https://forge.ourworld.tf/lhumina_code/hero_lib.git", branch = "development" } hero_slides_server/Cargo.toml:24: herolib_ai = { git = "https://forge.ourworld.tf/lhumina_code/hero_lib.git", branch = "development" } ``` No `path = "../hero_lib/..."` reference remains anywhere in the workspace. Cargo fetches `herolib_ai` from Forge directly during `service_slides install`, so no `service_lib.nu` orchestration is needed. Intra-repo path deps (e.g. `hero_slides_sdk = { path = "../hero_slides_sdk" }`) are correct — they're sibling crates in the same workspace, not the cross-repo case the issue was about. Signed-off-by: mik-tf
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/home#127
No description provided.