- Rust 100%
Rewrite the architecture "Data Storage" section to describe what is implemented — Hero Company owns no primary database; the source systems are the source of truth; the only persistent store is the pluggable retrieval index (in-process by default, hero_memory when configured), holding normalized metadata and citations that can be rebuilt from the sources — instead of reading as an undecided design target. The not-yet-persisted items are kept, clearly marked as future targets. Clarify in the ecosystem guide that hero_biz's shared nouns (company, project) are homonyms, not overlap: hero_biz is a finance/CRM system of record that owns its data, while Hero Company is a read-only, citation-backed operating lens. |
||
|---|---|---|
| .forgejo/workflows | ||
| crates | ||
| docs | ||
| .gitignore | ||
| Cargo.lock | ||
| Cargo.toml | ||
| LICENSE | ||
| README.md | ||
| rust-toolchain.toml | ||
Hero Company
Hero Company is the Hero-native company operating layer: it turns reports, meetings, roadmap, people/team context, calendar/holidays, decisions, and follow-ups into company dashboards and a source-grounded assistant.
New here? Start with Concepts, then read the full product design.
How It Works
Hero Company is not a replacement for planner, collaboration, cockpit, deployment, voice, indexing, or memory services. It is the company domain layer that composes those services into one employee-friendly operating surface.
The service will ingest trusted company artifacts, preserve citations and permission boundaries, generate period reports, expose dashboard views, and answer plain-English questions with role-appropriate tone.
Requirements
- Hero OS service stack:
hero_proc,hero_router,hero_proxy, and SSO. - Existing Hero service integrations:
hero_planner,hero_collab,hero_voice,hero_indexer,hero_embedder_provider,hero_memory,hero_cockpit,hero_os_tfgrid_deployer,hero_orchestrator,hero_kimi_rust, andhero_lib. - A reporting framework input source (people/workstream configuration and
generated
reports/artifacts), configured at runtime. - Forgejo Actions secrets, especially
FORGE_TOKEN, for CI and release flows.
Quick Start
The repository is a Rust workspace on the integration branch.
Current validation:
cargo check --workspace
cargo test --workspace
The intended Hero-native path is:
service_hero_company install
service_hero_company start
The service_hero_company module belongs in hero_skills, not in this repo.
Service Architecture
Planned crates:
| Crate | Binary | Purpose |
|---|---|---|
hero_company |
hero_company |
Lifecycle CLI; starts/stops/statuses supervised binaries through hero_proc. |
hero_company_lib |
none | Domain model, ingestion contracts, report/query abstractions. |
hero_company_server |
hero_company_server |
OpenRPC service, source ingestion, report jobs, authorization boundary. |
hero_company_sdk |
none | Generated typed client for internal consumers. |
hero_company_web |
hero_company_web |
Company-facing dashboard and assistant. |
hero_company_admin |
hero_company_admin |
Operator dashboard for sources, jobs, indexing, config, logs, API docs, and status. |
hero_company_tests |
none | SDK-driven integration tests. |
See Architecture for the full design.
Sockets
Planned sockets:
| Binary | Socket | Protocol | Purpose |
|---|---|---|---|
hero_company_server |
hero_company/rpc.sock |
OpenRPC | Core domain API. |
hero_company_admin |
hero_company/admin.sock |
HTTP | Operator dashboard. |
hero_company_web |
hero_company_web/web_company.sock |
HTTP | Company-facing app, separate router card from admin. |
Socket names are design targets and must be finalized with service.toml when
the Rust workspace is scaffolded.
Configuration
Runtime configuration must use hero_proc secrets and service metadata, not
.env files. Expected configuration domains:
- Source connector allowlists.
- Report period/job schedules.
- Indexing and memory provider settings.
- Assistant model/provider settings through current Hero AI abstractions.
- Role/access policy mapping from SSO/proxy claims.
See Architecture and Domain Model.
Troubleshooting
- If CI skips Cargo/lab steps, the repo is still in bootstrap/design state and
has no root
Cargo.toml. - If future sessions try to move to
development, stop: this project currently works onintegrationby explicit decision. - If a design suggests recreating planner, collab, voice, cockpit, indexing, or memory, redirect it to the integration boundary in Architecture.
Documentation
- Concepts
- Product Design
- Architecture
- Ecosystem & Synergy
- Domain Model
- Implementation Roadmap
- API
- Setup
- Configuration
- Operations
- Branching
- Testing
License
Apache-2.0.