feat: ZinitLifecycle migration + TCP bind retry #25

Open
timur wants to merge 0 commits from development_timur into development
Owner

TCP bind retry in hero_os_ui + migration of 5 repos (hero_books, hero_embedder, hero_voice, hero_redis, hero_index_server) from
custom lifecycle.rs to shared ZinitLifecycle, deleting all _ctl crates

TCP bind retry in hero_os_ui + migration of 5 repos (hero_books, hero_embedder, hero_voice, hero_redis, hero_index_server) from custom lifecycle.rs to shared ZinitLifecycle, deleting all _ctl crates
- Rewrite hero_os_server main.rs to use OServer::run_cli() for unified
  CLI with start/stop/run/status/logs/ui/zinit subcommands
- Rename context_name → space_name across schemas, types, client, server,
  and app code for user-friendly terminology
- Update build.rs to use hero_rpc_generator (moved from hero_rpc_osis)
- Align herolib_sid dependency to development_kristof branch
- Add trigger_get_pre/trigger_list_pre hooks required by updated generator
- Fix test import (super::server → super)
- Remove redundant bin/hero_os_service (replaced by OServer::run_cli)
- Remove workspace exclude for deleted bin/hero_os_service

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The server already migrated to OServer::run_cli() (c14b6c7) but the
Makefile and README still documented the old manual orchestration.
Now make run/stop/status/logs delegate to the server CLI subcommands.

Refs: hero_os#12, hero_rpc#7

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
hero_os_ui now uses ZinitLifecycle from hero_rpc_server, matching the
pattern already used by hero_os_server. Supports run/start/stop/status/logs
subcommands. Makefile updated to manage both servers together.

Refs: hero_os#12, hero_rpc#7

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- hero_os_ui: rename Command::Run→Serve (internal), add Run for dev workflow
- hero_os_server: update doc comments for serve rename
- Makefile: make run delegates to `cargo run -- run` (built-in log streaming)
- Makefile: make start/run both run cargo update first
- README: document run/start/serve naming convention

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace manual lifecycle Command enum with #[command(flatten)]
LifecycleCommand from hero_service (via hero_rpc_server re-export).
Adds install subcommand. Update lifecycle.md and add makefile.md docs.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
install target now delegates to the binary's install subcommand which
creates a zinit job to copy the binary to ~/hero/bin. start/run
depend on the install job via zinit's DAG.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Makefile install: cargo build + cp + codesign (fixes macOS
  com.apple.provenance hanging binary in uninterruptible sleep)
- Makefile lifecycle: each binary called directly (no _ctl crate)
- hero_os_ui: fix SERVICE_NAME to "hero_os_ui", update
  ZinitLifecycle::new() to 3-arg signature
- Cargo.toml: add [patch] for local hero_rpc overrides

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
feat: TCP bind retry in hero_os_ui, ZinitLifecycle cleanup, service config overhaul
Some checks failed
Build and Test / test (pull_request) Failing after 4m2s
5e6d221d92
- hero_os_ui: add 20-attempt TCP bind retry (500ms backoff) to survive
  zinit restarts while old socket is in TIME_WAIT
- hero_os_app: add brand.rs, routing.rs; update config, controller, registry, theme
- hero_os_server: update main.rs and desktop tests
- hero_os_*/Cargo.toml: dependency updates
- Remove legacy service toml configs, scripts, and docs; add updated docs/

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Some checks failed
Build and Test / test (pull_request) Failing after 4m2s
This pull request has changes conflicting with the target branch.
  • Cargo.toml
  • config.toml
  • crates/hero_os/Cargo.toml
  • crates/hero_os_server/Cargo.toml
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin development_timur:development_timur
git switch development_timur

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch development
git merge --no-ff development_timur
git switch development_timur
git rebase development
git switch development
git merge --ff-only development_timur
git switch development_timur
git rebase development
git switch development
git merge --no-ff development_timur
git switch development
git merge --squash development_timur
git switch development
git merge --ff-only development_timur
git switch development
git merge development_timur
git push origin development
Sign in to join this conversation.
No reviewers
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_os!25
No description provided.