OTO
oto

The explorer and the reader

The engine serves a graph two ways out of the box. The explorer draws it and lets you walk it; the reader turns it into pages. Both read the same data, /api/graph, and both are views under the same contract a pack uses to ship its own.

The explorer

oto serve --project claims --http 8765
The explorer: the Meridian Claims graph drawn, documents on the left, roles and procedures on the right
The graph, drawn. The classes as filters along the top, the entities laid out by kind, the edges between them, and a search box.
The explorer with an entity's card open: status, dates, source, attributes, evidence and connections
An entity's card. Status, the dates it was recorded and valid, the document it cites, its attributes, the sentence as evidence, and everything it connects to.

The explorer is the default face and it is deliberately neutral: every domain's graph looks the same in it, so a reader learns it once. What it shows is the engine's vocabulary made visible. A dashed edge was derived by a rule and can be explained. A dashed node cites no document. A dotted node is intended, a plan not yet observed. A superseded entity says so and points at what replaced it.

Use it when you want to see the shape of a domain, check a fact's provenance, or find what an entity connects to.

The reader

oto serve --project claims --http 8766 --view reader
The reader: an entity's page with its facts, sources and connections
The same graph as pages. A home of counts and classes, then one page per entity with its facts, sources and connections in reading order.

The reader is for people who want to read, not walk: a handbook's worth of pages generated from the graph, each entity a page, each fact on it with its source. A procedure reads as a procedure. Use it for a domain whose readers are not analysts, or as the thing you hand to someone who asks "where is this written".

Your own view, and a pack's

A view is a web app you pass, with an app.json that says which projections of the graph it wants as data files. The engine generates those files from the graph and serves the app beside them, or copies them into a static site.

oto serve --project claims --http 8765 --view ./views/claims-desk
oto build --project claims --target site --view ./views/claims-desk

A pack ships its views under views/, so a domain that deserves its own face installs it with the ontology and the skills. Views has the contract.

While you author

oto serve --project claims --http 8765 --watch

The preview store holds the live graph plus every proposal and the candidate, rebuilt whenever one changes. Either view serves it, and the live store is never touched. The pending lane, the preview and watch mode.

And then the Studio

OTO Studio, in alpha, is the face for a whole organisation rather than one graph: the domains, the products through their lifecycle, the journeys, the bounded contexts, the event flow beside the graph. The product lifecycle in the Studio shows it phase by phase.