a management tool for companies
  • Rust 93.3%
  • Shell 5.7%
  • CSS 0.7%
  • Makefile 0.3%
Find a file
mik-tf 9a6c2d28a5
Some checks failed
Build and Test / build (push) Failing after 1m46s
chore(hero_biz): D-10 sweep — cargo update cascade + dep audit
T2 #3 of the hero_proc#102 D-10 sweep. hero_biz came in with canonical
service.toml + herolib_core::base wiring already applied upstream
(despiegk's 65452d1 + e60a262), so this is a lightweight sweep —
similar shape to s101 hero_slides, not s102 hero_books.

Changes:
- Cargo.lock: 12-package cargo update absorbing the s96–s102 cascade
  (hero_lib 80b85641 AI client rework via herolib_core/derive/otoml/sid;
  hero_proc_sdk 39a3d1de; hero_rpc_* f17dcd71; hero_osis_sdk cc2455c4;
  hero_archipelagos 18c2f928; hero_admin_lib 8f588b0e). No API drift
  absorbed — hero_biz consumes herolib_core only.
- crates/hero_biz/Cargo.toml: strip clap, hero_proc_sdk (0 grep matches).
- crates/hero_biz_admin/Cargo.toml: strip hero_biz_sdk, shellexpand,
  askama (templates are hand-rolled structs, not Template-derived),
  md5, walkdir, herolib_otoml. Restored rand after build break — needed
  by argon2::password_hash::rand_core::OsRng for the getrandom feature
  gate.
- crates/hero_biz_app/Cargo.toml: strip serde_json, wasm-bindgen.
- crates/hero_biz_sdk/Cargo.toml: strip serde, serde_json (stub crate
  re-exporting CARGO_PKG_VERSION only).

D-10 5/5:
1. service.toml canonical pattern (pre-existing on origin/development).
2. main.rs uses service_base!() + validate_service_toml +
   handle_info_flag (pre-existing).
3. cargo update clean (no E0599 drift).
4. lab infocheck → 2 crate(s) clean, 0 findings.
5. lab service hero_biz / hero_biz_admin: 6/6 smoke pass.
6. cargo test --workspace --release --no-fail-fast: 7 passed, 0 failed.

Refs: lhumina_code/hero_proc#102

Signed-off-by: mik-tf
2026-05-17 00:41:58 -04:00
.cargo chore: add local development config and update hero_zero_sdk dependency 2026-01-30 21:13:07 -05:00
.claude refactor: Make Store methods async for Hero0 integration 2026-01-21 15:40:16 +01:00
.forgejo/workflows ci: add clippy gate to build.yaml — closes #22 2026-05-08 13:24:59 +02:00
.hero chore: downgrade reqwest 0.13→0.12, pin dep versions, add hero_builder artifacts 2026-05-10 13:14:47 +02:00
_archive chore: clean up legacy data and herobiz subdirectory structure 2026-01-23 16:55:04 +01:00
crates chore(hero_biz): D-10 sweep — cargo update cascade + dep audit 2026-05-17 00:41:58 -04:00
instructions fix: implement chat persistence and file uploads; remove dead code 2026-05-04 11:10:23 +02:00
scripts fix(hero_biz_admin): Rust 2024 closure types, clippy, and CI build scripts 2026-05-08 12:24:42 +02:00
.gitignore chore: add local development config and update hero_zero_sdk dependency 2026-01-30 21:13:07 -05:00
buildenv.sh fix(hero_biz_admin): Rust 2024 closure types, clippy, and CI build scripts 2026-05-08 12:24:42 +02:00
Cargo.lock chore(hero_biz): D-10 sweep — cargo update cascade + dep audit 2026-05-17 00:41:58 -04:00
Cargo.toml feat(hero_biz): bind RPC socket via HeroRpcServer instead of placeholder loop 2026-05-13 17:38:20 +02:00
Cargo.toml.hero_builder_backup chore: downgrade reqwest 0.13→0.12, pin dep versions, add hero_builder artifacts 2026-05-10 13:14:47 +02:00
Makefile refactor: rename hero_biz_ui -> hero_biz_admin (ui.sock -> admin.sock) (#46) 2026-05-08 02:05:57 +00:00
PURPOSE.md fix: migrate ui.sock → admin.sock per updated hero_sockets standard 2026-05-08 14:53:34 +02:00
README.md fix: migrate ui.sock → admin.sock per updated hero_sockets standard 2026-05-08 14:53:34 +02:00
rust-toolchain.toml chore: bump rust toolchain to 1.95 2026-05-08 16:26:00 +02:00

HeroBiz

A web frontend for venture fund management, powered by HeroOsis backend.

Overview

HeroBiz is a client application that provides a web UI for managing business entities. It does not include its own database - all data is stored and managed by a HeroOsis server.

Managed Entities

  • Persons - Team members, investors, contacts
  • Companies - Portfolio companies, partners, vendors
  • Contracts - Agreements, terms, legal documents
  • Contacts - Communication records and interactions
  • Opportunities - Pipeline and deal flow
  • Deals - Investment transactions
  • Instruments - Financial instruments (SAFE, equity, etc.)
  • Transactions - Financial transactions and payments
  • Projects - Project management with milestones and tasks

Prerequisites

HeroOsis Server

HeroBiz requires a running HeroOsis server. HeroOsis must be started separately before running HeroBiz.

service osis start

Seeding HeroOsis with Initial Data

HeroOsis supports auto-seeding the database from TOML files on startup.

TOML File Format

Each TOML file should include a _type field:

_type = "Company"
name = "ACME Corporation"
description = "A technology company"
types = ["tech"]
tags = ["portfolio"]
active = true

If _type is not specified, the type is inferred from:

  1. The parent directory name (if it's not the domain directory)
  2. The filename prefix (e.g., company_acme.tomlCompany)

Configuration

Environment Variable Default Description
HERO_OSIS_URL http://localhost:9988 HeroOsis server API endpoint
HERO_OSIS_CONTEXT default HeroOsis context name

Running

# Start (builds and registers with hero_proc)
service biz start --update

# Start fresh (reset sockets + state)
service biz start --update --reset

# Stop
service biz stop

# Check status
service biz status

Open the admin UI via hero_router at /hero_biz/admin in your browser.

Architecture

Browser → hero_router → hero_biz_admin (admin.sock) → hero_osis (via hero_osis_sdk)
                      → hero_biz       (rpc.sock)

Sockets (Hero Sockets architecture)

Binary Socket ($HERO_SOCKET_DIR/hero_biz/)
hero_biz rpc.sock
hero_biz_admin admin.sock

Testing

HeroBiz includes end-to-end tests that verify the HeroOsis SDK integration.

# Run all tests (server-dependent tests will be skipped if HeroOsis is not running)
cargo test

# Run E2E tests with verbose output
cargo test --test e2e_hero_osis -- --nocapture

For full E2E testing, start HeroOsis first:

service osis start

Set HERO_OSIS_URL to test against a different server:

HERO_OSIS_URL=http://192.168.1.100:9080 cargo test --test e2e_hero_osis -- --nocapture