refactor: ADR 001 — crate topology, OSIS defat, unified server, SDK UI #26
No reviewers
Labels
No labels
prio_critical
prio_low
type_bug
type_contact
type_issue
type_lead
type_question
type_story
type_task
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
lhumina_code/hero_rpc!26
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "refactor/adr-001-crate-topology"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Implements ADR 001 (new): defat
hero_rpc_osisto pure storage + traits, move transport concerns tohero_rpc_server, and add thehero_rpc_uiSDK dashboard crate. Six focused commits, each builds cleanly.Commits
hero_rpc_uicrate — Axum dashboard withschema.parse/generate,project.scaffold,ai.chat,ai.models,rpc.discoverJSON-RPC methods. Backend complete; SPA tracked in #24.AxumRpcServer, Redis client, remote index, Rhai codegen, AI mock generator, and 3 basic examples. Drop redis/deadpool-redis/herolib_ai/axum/tower/tower-http/hyper. OSIS becomes pure storage + handler traits.(context_name, type_name), newrequest_headers.rsfor header→RequestContext parsing (moved out of OSIS), per-instance socket_dir/data_dir overrides alongside env/default cascade, title field + effective_title(), delete legacycore_server.rs/domain_server.rs.[index]and[rootobject]comment markers as equivalent to parser-level annotations; emit asx-OpenRPC extensions..sethandlers for dual-modedata/objparams; droprpcfeature from hero_rpc_osis dep.Supersedes
Both will be closed as superseded once this merges.
Closes / references
Test plan
cargo check --workspacepasses on this branchcargo check --workspacepasses onhero_osiswith a temporary[patch."…hero_rpc.git"]pointing at this branch, once the one-linehero_osis_seedchange (remove AI-backedgeneratesubcommand) is appliedDownstream breakage
hero_osis'shero_osis_seed --generatesubcommand uses the AI-backed mock generator from OSIS. That's gone. Companion PR on hero_osis strips the subcommand;--seedkeeps working.🤖 Generated with Claude Code
OSIS is now pure storage plus handler traits. Everything transport, Redis, AI, and remote-index related has moved out of this crate. Removed: - rpc/server.rs — the 3,500-line AxumRpcServer (superseded by OServer in hero_rpc_server) - rpc/client.rs — Redis-based RPC client - rpc/unix_server.rs — legacy UnixRpcServer - rpc/dispatch.rs — legacy dispatch - rpc/context.rs — legacy RpcContext - rpc/request_context.rs — axum-coupled from_headers moved to the server crate (crates/server/src/server/request_headers.rs) - index/ — RemoteIndex client (superseded by in-process indexing) - rhai.rs — Rhai codegen (moved to hero_rpc_generator) - seed/generator.rs — 600-line AI-backed mock data generator - examples/basic/{4,5,6}_*.rs — demos for removed APIs Dependency impact (from Cargo.toml): - redis, deadpool-redis — gone (were only used by the legacy server) - herolib_ai — gone (only used by seed/generator.rs) - axum, tower, tower-http, hyper — gone (legacy server transport) What remains in osis/src/rpc/: - handler.rs (OsisAppRpcHandler, OsisDomainInit) - jsonrpc.rs, request_context.rs (pure struct), lifecycle.rs, protocol.rs, error.rs, debug.rs, dispatch traits - server.rs — now just trait definitions Closes #22. Supersedes PR #23's "rpc-core feature" approach — instead of gating the legacy code, we delete it. Downstream services (hero_osis, hero_books, hero_voice, hero_logic, hero_biz) get faster compiles and smaller binaries. No API changes at the handler-trait level.View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.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.