v0.3 Schemas

Published Schemas

Six schemas covering all five file types. The core schema is the normative conformance floor; the full schema is its superset for complete validation.

core.schema.json
Core Event Schema

The minimum required structure for .chron files. This is the normative Tier 1 conformance floor — every conformant .chron file must be valid against this schema.

Validates .chron files — Tier 1 (Core)
View schema
full.schema.json
Full Event Schema

Complete validation for .chron files including all optional blocks — significance, recurrence, dynamic formulas, spatial data, and media. Required for Tier 3 (Full) implementations.

Validates .chron files — Tier 3 (Full)
View schema
calendar.schema.json
Calendar Definition Schema

Validates standalone .chroncal calendar definition files — epoch, linear or cyclic structure, month definitions, leap rules, and value format.

Validates .chroncal files
View schema
universe.schema.json
Universe Definition Schema

Validates standalone .chronverse universe definition files — temporal anchoring, default calendar, canon scope declarations, and related universe references.

Validates .chronverse files
View schema
manifest.schema.json
Bundle Manifest Schema

Validates the manifest.json entry point descriptor inside .chronpkg ZIP bundle archives. Covers the event index, bundled calendars and universes, and asset configuration.

Validates .chronpkg manifest.json
View schema
stream.schema.json
Stream Header Schema

Validates the header record (line 1) of .chronstream NDJSON files. The header declares the schema version, title, default universe and calendar, and optional definition maps.

Validates .chronstream header record
View schema
Machine-Readable Registry Index

A structured JSON index of all schemas, built-in vocabularies, MIME types, and versioning policy is available at schemas.openchronology.org/v0.3/index.json. The root registry index listing all spec versions is at schemas.openchronology.org/index.json.

Usage

Referencing a Schema

Add the $schema field to your file's meta block to enable validation in editors and build tools that support JSON Schema.

In a .chron event file:
{
  "meta": {
    "schema_version": "0.3",
    "$schema": "https://schemas.openchronology.org/v0.3/core.schema.json",
    "canonical_url": "https://example.com/events/my-event.chron"
  },
  "event": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "event",
    "content": {
      "title": "My Event Title"
    }
  }
}
In a .chroncal calendar definition file:
{
  "meta": {
    "id": "my-calendar",
    "version": "1.0.0",
    "display_name": "My Calendar",
    "$schema": "https://schemas.openchronology.org/v0.3/calendar.schema.json"
  },
  "calendar": { ... }
}
Reference

Controlled Vocabularies

These values are constrained by enum in the schemas. All are case-sensitive.

Built-in Calendars

IDStandard
gregorianISO 8601 / Proleptic Gregorian
julianJulian Calendar
islamicIslamic Hijri (civil)
hebrewHebrew Calendar
chineseChinese Lunisolar
unixPOSIX Epoch (seconds)
jdnJulian Day Number

Built-in Universes

IDDescription
realThe real world — always available, never requires a fetch
relativeGeneric relative universe — requires an inline anchor

Precision Values

ValueScale
millisecondSub-second
second · minute · hourTime of day
day · month · yearCalendar scale
decade · century · millenniumHistorical scale
epochGeological / cosmological (Ma, Ga)
circaApproximate — pair with uncertainty block
customDefined by calendar's unit system

Relation Types

CategoryTypes
Hierarchicalparent · child
Orderingprecedes · follows · concurrent_with
Causalcauses · caused_by · influences · influenced_by
Spatialcontains · contained_by
Continuitycontradicts · retcons · retconned_by · variant_of
Referencesreferences · referenced_by

Canon Status Values

ValueMeaning
canonAccepted as true within the declared scope
legendsFormerly canon, now superseded
disputedThe relationship is contested
non_canonExplicitly outside accepted continuity
unknownCanon status not established

Event Types

ValueRole
eventStandard point or span — default when absent
eraNamed period containing other events
markerReference point or annotation
tombstoneSoft-deletion record — MUST NOT render
deprecatedSuperseded event — render with caution
Policy

Versioning

Schema versions follow the OpenChronology spec version. The same compatibility rules apply.

Compatibility Rule

Same MAJOR version = compatible. Parsers MUST silently ignore unrecognized fields. This is the mechanism that makes MINOR version upgrades automatic — a v0.2 parser loading a v0.3 file ignores new optional fields it does not recognize.

MAJOR version changes are breaking and require a published migration guide and conversion tool. Authors should never need to manually migrate .chron files.

v0.3
Current pre-release. Adds content.sources for external citations. Expands significance metrics vocabulary. Documents built-in bodies. Fixes relations to require target_id. Pre-release — breaking changes possible before 1.0.
→ v0.3 index.json
v1.0
Planned stable release. Schemas will be frozen. Migration guide from v0.x will be published.