No description
  • Rust 48.4%
  • HTML 39.4%
  • JavaScript 10.8%
  • Makefile 1.2%
  • Shell 0.2%
Find a file
mik-tf bdfbfb4744 chore(d10): write 3 service.toml + service_base!() triad on 3 main.rs
Closes hero_proc#102 D-10 for hero_planner. Canonical 3-binary shape preserved
as-is (hero_planner=server, hero_planner_admin=admin, hero_planner_web=web —
distinct end-user web, not a stale _ui rename surface; rename arc already
landed at 730ddb1).

3 new service.toml — all ship [[env]] PATH_ROOT default="~/hero" per s107
lesson #17 and the same 3-binary list per hero_indexer/hero_matrixchat
precedent (each crate's service.toml mirrors the full binary inventory).

3 main.rs wired with service_base!() + validate_service_toml +
handle_info_flag + print_startup_banner + prepare_sockets. Deleted hand-rolled
print_startup_info / print_info_json / print_help blocks (net −210 LOC).

cargo update cascade absorbed: hero_proc_sdk ceaea08b→5abe6644, hero_rpc
a167051f→8a8d66d8, herolib_core/derive 7a6258ef→d20792fd (5 packages,
identical to s115 cascade shape).

Dep audit — 6 zero-match strips:
  hero_planner_admin: serde, serde_json (macro uses serde_json transitively)
  hero_planner_web:   serde, tower, tower-http, anyhow

Verified D-10 5/5:
  1. 3 service.toml
  2. service_base!() on all 3 mains
  3. lab infocheck: 3 crates clean / 0 findings
  4. Smoke 8/8: server rpc.sock 4/4 + admin admin.sock 2/2 + web web.sock 2/2
  5. cargo test --workspace --release: 3/0/0 — no regressions

PATH_ROOT verified in /proc/$pid/environ for all 3 lab-spawned daemons.

Lessons #19 / #20 / #21 all N/A:
  - No CLI orchestrator (lab service drives daemons directly via [[env]])
  - All 3 mains at src/main.rs (no src/bin/ macro path collision)
  - 0 HeroLogger consumers, 0 AI-rename surface (cleanest probe-at-start
    of any T2 sweep)
2026-05-18 15:20:30 -04:00
.forgejo/workflows ci: add build-linux.yaml + close fmt/clippy debt — first release pipeline (#4) 2026-05-06 21:58:05 +00:00
.hero chore: pin serde/serde_json/anyhow to 1.0 and add hero_builder artifacts 2026-05-10 14:19:16 +02:00
crates chore(d10): write 3 service.toml + service_base!() triad on 3 main.rs 2026-05-18 15:20:30 -04:00
docs refactor: rename hero_planner_ui -> hero_planner_admin (ui.sock -> admin.sock) (#5) 2026-05-08 02:05:56 +00:00
scripts Merge: resolve conflicts from hero_planner_ui → hero_planner_admin rename 2026-05-08 15:51:29 +02:00
specs Add business planning tool specification 2026-05-05 07:57:21 +02:00
.gitignore feat(planner): first release of business strategy execution tool 2026-05-05 08:49:15 +02:00
buildenv.sh refactor: rename hero_planner_ui -> hero_planner_admin (ui.sock -> admin.sock) (#5) 2026-05-08 02:05:56 +00:00
Cargo.lock chore(d10): write 3 service.toml + service_base!() triad on 3 main.rs 2026-05-18 15:20:30 -04:00
Cargo.toml chore: migrate to hero_admin_lib shared assets 2026-05-10 16:19:58 +02:00
Cargo.toml.hero_builder_backup chore: pin serde/serde_json/anyhow to 1.0 and add hero_builder artifacts 2026-05-10 14:19:16 +02:00
functional_specs.md feat(planner): add revenue management system with entity linking 2026-05-05 20:42:29 +02:00
Makefile chore: rename hero_planner_ui → hero_planner_admin, drop Make/bash glue 2026-05-08 15:49:03 +02:00
PURPOSE.md chore: rename hero_planner_ui → hero_planner_admin, drop Make/bash glue 2026-05-08 15:49:03 +02:00
README.md chore: rename hero_planner_ui → hero_planner_admin, drop Make/bash glue 2026-05-08 15:49:03 +02:00
rust-toolchain.toml chore: bump rust toolchain to 1.95 2026-05-08 16:25:53 +02:00

hero_planner

Business planning & execution backend — SWOT → conditions → requirements → stories → deliverables → milestones → cost centers → costs → resources.

Components

Crate Binary Socket Purpose
hero_planner hero_planner ~/hero/var/sockets/hero_planner/rpc.sock JSON-RPC backend (OpenRPC)
hero_planner_admin hero_planner_admin ~/hero/var/sockets/hero_planner/admin.sock Admin dashboard (Askama)
hero_planner_web hero_planner_web ~/hero/var/sockets/hero_planner/web.sock End-user web app (Bootstrap)
hero_planner_lib Shared planner core library
hero_planner_sdk Generated OpenRPC client SDK

Lifecycle

This service is managed exclusively through the nu shell module service_planner in hero_skills/nutools/modules/services/. There is no Makefile and no bash scripts — the nu module is the single source of truth for build, install, start, stop, and status.

# Start (build + register + run)
service planner start --update --reset

# Stop
service planner stop

# Status
service planner status

Smoke test

SOCK=~/hero/var/sockets/hero_planner/rpc.sock

curl -s --unix-socket $SOCK http://localhost/health | jq .
curl -s --unix-socket $SOCK http://localhost/openrpc.json | jq '.methods[].name'
curl -s --unix-socket $SOCK http://localhost/.well-known/heroservice.json | jq .