Enable ai domain in hero_osis_server all-domains default #33

Closed
opened 2026-04-27 09:05:19 +00:00 by rawan · 0 comments
Member

Summary

The ai domain is defined in hero_osis_server but excluded from the default all-domains feature list, so the standard hero_osis build does not spawn hero_osis_ai/rpc.sock. Any native client that talks to the AI domain (today: hero_agent, hero_bot) gets a 404 because no service is listening for that domain.

Repro

  1. Build hero_osis with default features: cargo build --release -p hero_osis_server.
  2. Start the server.
  3. ls $HERO_SOCKET_DIR/hero_osis_ai/ — empty (no rpc.sock).
  4. Any agent.*, agentconversation.*, etc. JSON-RPC call returns 404 / "Socket 'rpc.sock' not found".

Root cause

crates/hero_osis_server/Cargo.toml:

all-domains = [
    "communication",
    "identity",
    ...
    "code",
    # "ai" and "flow" gated out — still under development
    "job",
    ...
]

The ai feature is fully implemented (the hero_bot binary already requires it via required-features = ["ai", "flow"]). It just isn't included in the default build, so users who don't pass an explicit --features ai get a server with no AI domain.

Impact

This blocks the user-visible + button fix in hero_agent (lhumina_code/hero_agent#6) — even with the hero_agent and SDK fixes in place, conversations cannot be persisted because the AI domain server is not running.

Proposed fix

Add "ai" to the all-domains feature list. Keep "flow" gated for now (the comment about it being under development still applies).

Acceptance

  • cargo build --release -p hero_osis_server (default features) spawns hero_osis_ai/rpc.sock on start.
  • POST /hero_osis_ai/rpc via hero_router returns a valid JSON-RPC response for agentconversation.list.
  • hero_agent + button creates a conversation that persists and lists.
  • Clippy remains clean (the ai domain code passes the existing lint config).
## Summary The `ai` domain is defined in `hero_osis_server` but excluded from the default `all-domains` feature list, so the standard `hero_osis` build does not spawn `hero_osis_ai/rpc.sock`. Any native client that talks to the AI domain (today: `hero_agent`, `hero_bot`) gets a 404 because no service is listening for that domain. ## Repro 1. Build hero_osis with default features: `cargo build --release -p hero_osis_server`. 2. Start the server. 3. `ls $HERO_SOCKET_DIR/hero_osis_ai/` — empty (no `rpc.sock`). 4. Any `agent.*`, `agentconversation.*`, etc. JSON-RPC call returns 404 / "Socket 'rpc.sock' not found". ## Root cause `crates/hero_osis_server/Cargo.toml`: ```toml all-domains = [ "communication", "identity", ... "code", # "ai" and "flow" gated out — still under development "job", ... ] ``` The `ai` feature is fully implemented (the `hero_bot` binary already requires it via `required-features = ["ai", "flow"]`). It just isn't included in the default build, so users who don't pass an explicit `--features ai` get a server with no AI domain. ## Impact This blocks the user-visible `+` button fix in `hero_agent` (https://forge.ourworld.tf/lhumina_code/hero_agent/issues/6) — even with the `hero_agent` and SDK fixes in place, conversations cannot be persisted because the AI domain server is not running. ## Proposed fix Add `"ai"` to the `all-domains` feature list. Keep `"flow"` gated for now (the comment about it being under development still applies). ## Acceptance - [ ] `cargo build --release -p hero_osis_server` (default features) spawns `hero_osis_ai/rpc.sock` on start. - [ ] `POST /hero_osis_ai/rpc` via hero_router returns a valid JSON-RPC response for `agentconversation.list`. - [ ] `hero_agent` `+` button creates a conversation that persists and lists. - [ ] Clippy remains clean (the `ai` domain code passes the existing lint config).
rawan self-assigned this 2026-04-27 09:06:44 +00:00
rawan closed this issue 2026-04-27 11:09:36 +00:00
Sign in to join this conversation.
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_osis#33
No description provided.