An official website of the Disclosure Foundation

Introduction

Overview

Modules

TaxonomyClassificationReference Systems

Guides

Claiming Origins

Taxonomy

The OCS tree — node anatomy, the three domains, and the traversal API

The Origin Classification System is a tree of hypothesis nodes identified by numeric dot-paths. Depth encodes specificity: 1 (domain) → 1.1 (subdomain) → 1.1.3 (category) → 1.1.3.2 (leaf).

Node anatomy

interface OCSNode {
  id: string;                      // '1.1.2.1'
  label: string;                   // 'Ancient / Proto-Human Survival'
  description: string;
  domain: 'physical' | 'psychosocial' | 'metaphysical';
  depth: number;                   // 0=domain … 4=leaf
  parentId: string | null;
  children: string[];              // child ids, not nested nodes
  scientificallyTestable: boolean; // can this be empirically falsified?
  aliases?: string[];              // 'ETH', 'CTH', ...
}

The tree at a glance

1     Physical
├─ 1.1   Intradimensional
│  ├─ 1.1.1   Prosaic           (natural phenomena, human craft — governmental,
│  │                             extra-governmental, private)
│  ├─ 1.1.2   Cryptoterrestrial (ancient survival, breakaway civilization, …)
│  └─ 1.1.3   Extraterrestrial  (solar system, interstellar, intergalactic, …)
├─ 1.2   Extradimensional       (hyperspace entities, brane projections, …)
└─ 1.3   Interdimensional       (multiverse, time travel, scale invariance)

2     Psychosocial
├─ 2.1   Sociological           (hypnosis, mass hysteria, memetics, hoax)
├─ 2.2   Psychological          (misinterpretation, screen memory, …)
└─ 2.3   Neurological           (pharmacology, pathology, …)

3     Metaphysical
├─ 3.1   Paranormal             (NDE/OBE, disembodied consciousness, …)
├─ 3.2   Occult
└─ 3.3   Transcendental

Prosaic explanations are first-class citizens: most observations are 1.1.1.x, and a framework that couldn't say so wouldn't be credible when it says otherwise.

Traversal API

import {
  getNode, getChildren, getAncestors, getSiblings,
  getDomain, getPath, getLeafNodes, getTestableNodes, searchNodes,
} from '@disclosureos/origins';

getNode('1.1.3');           // the ETH node (undefined for unknown ids)
getChildren('1.1.3');       // solar system, interstellar, intergalactic, unknown region
getAncestors('1.1.3.2');    // [node '1', node '1.1', node '1.1.3'] — root to parent
getSiblings('1.1.2');       // prosaic, extraterrestrial
getDomain('psychosocial');  // every node in the psychosocial domain
getPath('1.1.3.2');         // 'Physical > Intradimensional > Extraterrestrial > Interstellar'
getTestableNodes();         // every node with scientificallyTestable: true
searchNodes('hoax');        // search labels, descriptions, aliases

Constants give you the id sets directly:

import {
  ALL_OCS_IDS, LEAF_IDS, TESTABLE_IDS,
  PHYSICAL_IDS, PSYCHOSOCIAL_IDS, METAPHYSICAL_IDS,
  OCS_TAXONOMY,        // the full OCSNode[] tree
} from '@disclosureos/origins';

Choosing the right depth

Claim at the depth your evidence supports — no deeper:

Evidence supports...Claim
"Not prosaic, physical craft, origin unknown"1.1 or 1
"Consistent with non-human technology, locale unknown"1.1.3
"Specifically interstellar"1.1.3.2 — and expect to defend it

A confident claim at 1.1 is more useful than a speculative one at 1.1.3.2. The depth of a node is a measure of specificity, not of merit.

Display companions

import { OCS_LABELS, ORIGIN_DOMAIN_LABELS } from '@disclosureos/origins';
import { formatOCSCode, formatNodeLabel, formatDomainLabel, formatTestability } from '@disclosureos/origins';

Overview

@disclosureos/origins — the Origin Classification System taxonomy and classification claims

Classification

OriginClaim, hypothesis weights, and confidence distributions

On this page

Node anatomy
The tree at a glance
Traversal API
Choosing the right depth
Display companions