An official website of the Disclosure Foundation

Introduction

Overview

Modules

Technology ObservablesBiologics ObservablesAssessment

Guides

Claiming Observables

Assessment

Levels, claims, and the observableAssessments slot shape

This page is the reference for the assessment machinery: the evidentiary levels, the claim type, and the exact shape of the slot.

Assessment levels

Five tiers, ordered by how strongly the signal is established:

LevelMeaning
not_indicatedEvaluated and found absent — an explicit negative, not missing data
reportedAsserted by witnesses, but not independently documented
documentedWritten records, photographs, or contemporaneous documentation of the signal exist
measuredQuantitative instrument data captured the signal — radar, FLIR, or other sensors
confirmedPeer-reviewed analysis with independent verification establishes the signal
import { ASSESSMENT_LEVELS, isAssessmentLevel, formatAssessmentLevel } from '@disclosureos/observables';

Two distinctions worth internalizing:

  • not_indicated vs. absence. An observable missing from the map means nobody evaluated it. not_indicated means somebody looked and found nothing — which is real, scoreable information.
  • Level vs. confidence. The level says what kind of evidence backs the claim; confidence says how sure the evaluator is of their own judgment. A radar-measured anomaly with ambiguous data is measured with low confidence — not reported.

The claim shape

ObservableClaim composes the shared Claim envelope with the level and confidence:

interface ObservableClaim {
  level: AssessmentLevel;
  confidence?: number;       // [0, 1]
  rationale?: string;        // the evaluator's reasoning
  evaluatedBy?: string;      // who made it
  evaluatedAt?: string;      // ISO datetime (factory defaults to now)
  evidenceRefs?: string[];   // "sensor:<id>", "media:<id>", ...
}

Build claims with the factory — it parses on construction, so out-of-range confidence throws:

import { createObservableClaim } from '@disclosureos/observables';

const claim = createObservableClaim('measured', {
  confidence: 0.7,
  rationale: 'Two independent radar tracks with consistent kinematics.',
  evidenceRefs: ['sensor:radar-01', 'sensor:radar-02'],
  evaluatedBy: 'example-institution',
});

Note there's no observableId field — the claim's position in the map supplies it.

The slot shape

interface ObservableAssessmentMap {
  technology?: Partial<Record<TechnologyObservableId, ObservableClaim[]>>;
  biologics?: Partial<Record<BiologicsObservableId, ObservableClaim[]>>;
}
observation.observableAssessments = {
  technology: {
    instantaneous_acceleration: [claimFromSCU, claimFromAARO],  // arrays — always
    low_observability: [
      createObservableClaim('not_indicated', {
        rationale: 'Object maintained continuous track on all sensors.',
      }),
    ],
  },
};

Arrays are the point. When two institutions assess the same observable differently, both claims stand, attributed. The scoring layer reads the spread: agreement strengthens a case, contradiction flags it contested.

Standalone assessment type

ObservableAssessment is the claim plus an explicit observableId — useful when claims travel outside the map (queues, review tools, exports):

import type { ObservableAssessment } from '@disclosureos/observables';
// { observableId: string; level: AssessmentLevel; confidence?: number; ... }

Validation

import { validateObservableAssessments } from '@disclosureos/observables';

const issues = validateObservableAssessments(observation.observableAssessments);
// ValidationIssue[] — unknown observable ids, bad levels, out-of-range confidence

This validates the slot in isolation. For the whole enriched record — including whether claim evidenceRefs resolve — use parseEnrichedObservation and disclosureos validate.

Biologics Observables

BO-1 through BO-6 — anomalous biological signatures

Claiming Observables

The working guide: choose the observable, the level, the confidence — and cite your evidence

On this page

Assessment levels
The claim shape
The slot shape
Standalone assessment type
Validation