Skip to content

T-ONN4-ontogen-headless-server-generation

State: planning/proposed · Impact: medium · Complexity: medium

Decide whether ontogen should generate the parts of headless HTTP mode that every app now writes by hand, so a new ontogen app gets an <app>-server and web transport selection for free.

LocationRole today
github.com/sksizer/rust-ontogenOntogen source. gen_servers emits Axum routes (HttpAxum), Tauri IPC and MCP; gen_clients emits the TS transport and bindings. Nothing emits a server main, a listener or a resolved-paths route
Root Cargo.tomlPins ontogen = "=0.8.0" from crates.io, plus ontogen-core and ontogen-macros
Ontogen usersdetermined-platform and other determined crates, packages/rust/foreman, SDF (solutions/ontological/desktop), suspenders, pumice, agentpants. ontological-legacy pins ontogen by git rev, not the workspace version
Hand-written todayEach app’s server main and port binding (pumice, agentpants in-app; platform-server, sdf-serve as bins); the shared helper from T-UU4J

A written decision, as a decision entity or a section in the ontogen repo’s docs, that answers: which pieces ontogen could generate (server main on the shared helper, resolved-paths route, web transport selection), which stay hand-written, and the cost of each. If the answer is yes for any piece, a task on sksizer/rust-ontogen and a follow-up task for the template.

  1. List what each internal <app>-server and the shared helper contain after T-LJLH; mark the lines that differ only by names ontogen already knows.
  2. Read src/servers/ and src/clients/ in rust-ontogen for where a server-main generator would sit, and whether ServersConfig can carry port and state-builder hooks.
  3. Check zoo and Augmented Books: would adopting ontogen be cheaper than their hand-written routers?
  4. Write the decision; file follow-up tasks.
AreaNote
sksizer/rust-ontogen src/servers/, src/clients/Generator surface
Internal <app>-server binsEvidence
docs/planning/decisions/The decision
  • AC-1: A decision entity records, per piece, generate or hand-write, with the reason.
  • AC-2: Each “generate” answer has a follow-up task filed, on rust-ontogen and for the template.
  • Implementing any generator.
  • T-LJLH, so the investigation reads the simplified helper, not a draft.
  • The determined-platform/clippy.toml comment said ontogen was pinned by rev; it is pinned by crates.io version. The comment was corrected with this task.

T-LJLH


← Back to Tasks