Arke
ReferenceSchemas

Eidos Schema

Reference for the arke/eidos@v2 base entity schema.

Schema Identifier

arke/eidos@v2

Interface

interface EidosV2 {
  schema: 'arke/eidos@v2';
  id: string;
  type: string;
  created_at: string;

  ver: number;
  ts: string;
  prev: { '/': string } | null;

  properties: Record<string, unknown>;
  relationships: Relationship[];
  components?: Record<string, { '/': string }>;

  edited_by: EditInfo;
  note?: string;
}

Required Fields

FieldTypeConstraint
schemastringMust be arke/eidos@v2
idstringNon-empty, valid ULID format
typestringNon-empty
created_atstringISO 8601
vernumber>= 1
tsstringISO 8601
prevIPLDLink or nullnull iff ver=1
propertiesobjectAt minimum {}
relationshipsarrayAt minimum []
edited_byEditInfoValid structure

Relationship Structure

interface Relationship {
  predicate: string;
  peer: string;
  peer_type?: string;
  peer_label?: string;
  properties?: Record<string, unknown>;
}

EditInfo Structure

interface EditInfo {
  user_id: string;
  method: 'manual' | 'ai_generated' | 'system' | 'import';
  on_behalf_of?: string;
}

Validation Rules

  1. schema must be arke/eidos@v2
  2. All required fields must be present
  3. ver === 1 requires prev === null
  4. ver > 1 requires prev !== null
  5. edited_by must have valid user_id and method
  6. relationships must be an array
  7. properties must be an object

The base schema does not validate what's inside properties or which relationships exist -- that's delegated to type-specific profiles.

On this page