Ophiolite component boundaries
Ophiolite separates data coordination, application adapters, scientific calculation and user interfaces. Existing ArrayBridge wire and package names remain compatible. The split does not move customer datasets or create another scientific authority.
| Component | Owns |
|---|---|
| Platform | Shared contracts, access checks, revisions, publication, notifications and backend adapters |
| Connectors | Mapping between application APIs and scientific asset contracts |
| Workspace | Browser data management and bounded log-track inspection |
| Workbench | Pinned internal tooling; Qt-free transport remains active, desktop build is opt-in |
| Execution | Calculation runtime and supervised workers |
| SDK | Supported 0.x Python/TypeScript public clients, CLI, templates and guides over preview contracts |
| Science | Numerical algorithms independent of GUI/network code |
Each Platform contract names itself with an identifier such as
https://ophiolite.dev/contracts/assets/v1/curve-context-schema.json. The identifier is a
name, not a page: it is not served, and it stays the same when the public site moves.
Ophiolite’s data is OSDU-named, not OSDU-shaped. Kinds, units, coordinate systems and curve families take their names from OSDU data-definitions v0.30.1; storage, versions and contracts are Ophiolite’s own. The mapper writes an OSDU load manifest that is validated offline. Loading it into an OSDU instance: compatibility shown on 2026-11-10 against OSDU community implementation 0.27.1, mapper 0.4.0, manifest 886c67d575fb7240883d8c242fc3ef092f224c946cbc91caa03d99bb154c9487, kinds Well, Wellbore, WellLog, File.Generic; the load registered the Well 1.5.0 schema and supplied the data countries the manifest leaves empty; the denied read was not provable on that edition because its outside test account belonged to the default viewers group; sample values through the product are not shown. No client needs an OSDU instance to work.
Browser inspection and bounded scalar frames
Section titled “Browser inspection and bounded scalar frames”Workspace owns curve inspection through log tracks and the existing table. Platform owns the unchanged bounded scalar-frame renderer formerly in View. View’s standalone HTTP fixture and package are retired from the composed suite. Workbench is archived as internal tooling; no saved Qt-session migration or full browser replacement is claimed. The seven pinned components include its Qt-free transport dependency.
Scalar frames remain a bounded 2D CPU preview. An immutable scene carries asset identity, exact revision, declared unit, grid dimensions and finite numeric or null values. Missing cells are transparent; picks return the exact stored value. A revision mismatch refuses instead of silently selecting the latest data. The existing grid-index preview performs no CRS conversion, 3D rendering or scientific interpolation. Workspace and QGIS remain distinct consumers.
Developer boundary
Section titled “Developer boundary”project_gateway.scalar_frames.Scene is an internal Platform renderer supplied
by Integration to the gateway’s authorized map service. NumPy is loaded only for
rendering. It is not a public SDK or a new standalone HTTP service. Use the
versioned Platform contracts for access and exact revisions; existing scene
fixture routes are historical experiment interfaces, not supported installation
steps. Connectors owns host adaptation, Science owns numerical algorithms and
Execution owns work it actually runs or supervises.
See availability and Workspace inspection.
Use the SDK reference for installed scientific clients and workflow templates. The public client does not change Platform service authority.
