Scrydon
Ontology

Object types

The typed entities at the heart of the ontology — properties, identity, classifications, searchability.

An object type is the typed view of an entity in your domain. Define it once, bind it to a real source, and the rest of the platform reasons about it as a first-class type.

Anatomy

FieldPurpose
idThe stable identifier of the type (e.g. RegulatedEntity). Cannot be renamed.
titleHuman-readable name shown in the UI (e.g. "Regulated Entity").
descriptionFree-text description shown in the workbench and exported to LLM tools.
iconEmoji or icon key shown in the graph view.
propertiesThe list of typed properties.
identityThe rule for deriving a stable instance ID. See Concepts → Identity rules.
dlpLabelsOptional default DLP labels applied to every instance.

Properties

Each property declares a name, type, and optional flags:

FlagEffect
requiredInstances missing this property are rejected.
searchableThe property is indexed for retrieval — searchable in the analyst, used in semantic queries.
piiThe property is treated as PII — automatic masking applies for callers without clearance.
classificationOne of public, internal, confidential, restricted — drives the column-level masking.
linkThe property is a reference to another typed Object.

Example

defineObjectType({
  id: "RegulatedEntity",
  title: "Regulated Entity",
  icon: "🏛️",
  description: "A legal entity subject to a regulator's oversight.",
  properties: {
    id: { type: "string", required: true },
    legalName: { type: "string", required: true, searchable: true },
    riskClassification: {
      type: "enum",
      values: ["low", "medium", "high", "critical"],
      required: true,
    },
    headquartersCountry: { type: "string" },
    primaryRegulator: { type: "link", target: "Regulator" },
    annualSARVolume: {
      type: "number",
      classification: "confidential",
    },
  },
  identity: { columns: ["id"] },
});

What you can do with one

Once an object type is defined and bound:

  • Read instances from a workflow with the Get Object block.
  • Search by searchable properties through the context engine.
  • Traverse to linked objects (e.g. from a RegulatedEntity to its Regulator).
  • Visualise in the graph view.
  • Dispatch actions that operate on instances of this type.
  • Bind to real data via Bindings.

Renaming and breaking changes

Once published on main, an object type's id is immutable. To rename, you have to:

  1. Create a new object type with the new id.
  2. Migrate bindings, actions, and workflows.
  3. Archive the old type.

Changing a property's type or removing a property is similarly a breaking change. Both happen through a proposal branch so reviewers can see the impact before publishing.

On this page

On this page