Two-Halves is a platform for retrieval-grounded knowledge work and visual enterprise app-building, sharing one harness / loop / graph foundation underneath. It started as a fork of Hermes Agent's real agent core — memory, tool execution, the agent loop — evolved into its own product rather than kept as an external dependency.
Chat, wiki synthesis, and retrieval all run through the same graph engine — retrieval strategy is a node config, not a separate subsystem.
Drag nodes, wire edges, configure per-node-type forms — an app built here runs on the exact same execution path as chat.
A real graph retrieval strategy — FTS5 entity-name search, one-hop
relation expansion, resolved back to real chunk text. Configurable expansion depth.
A retriever + evaluator loop, gated by a CEL condition on a loop-back edge, with an explicit round cap — composed from existing primitives, not a new engine.
Real multi-turn continuity backed by the same session store Hermes's own CLI uses, scoped per account so nothing crosses between callers.
Checkpoint-to-disk after every node, pause/resume, human-approval gates, parallel fan-out/fan-in with deterministic declaration-order merging.
Seven execution backends behind one interface, with approval-gated dangerous commands and per-node-type metering wired in from day one.
Real OIDC SSO verified against a disposable identity provider, seat limits, role-based access, and an audit log that also records rejected access attempts.
Per-tenant isolated SQLite, verified with real, structurally-separated Docker containers — not a shared-database rewrite.
Razorpay integration, GST-compliant invoice numbering (financial-year-scoped), and DPDP-oriented consent and deletion flows.
git subtree — full upstream history preserved and walkable, not squashed. The fork is evolved directly, not consumed over HTTP.retriever node type.