Planisphere
Astrolabe The measurement engine
Engine · astrolabe 1.0.0

The measurement engine.

Astrolabe decomposes any fleet into a behavioral signature any third party can recompute byte-for-byte. Sha-pinned. Merkle-rooted. NIST AI RMF–mapped. Provably authentic and compliant intelligence — the output is the proof.

InputsSubjects · Categories · Pinned code
OutputAttestation bundle
RootSHA-256 over Merkle tree
FrameworkNIST AI RMF · MEASURE
01 ·
The premise.
Projection · Comparability · Reproducibility

A planispheric astrolabe projects the 3D celestial sphere onto a 2D plane while preserving the angular relationships between stars. Astrolabe-the-engine does the same thing for variance. Given any set of comparable subjects scored on any set of comparable categories, it returns a surface decisions can be made on — and a cryptographic receipt that the surface is what it claims to be.

01 · Projection, not opinion

PC1 is the load-bearing axis through the variance. The engine does not score; it decomposes. What the operator reads is geometry, not judgment.

02 · Comparability is the asset

Two bundles measured against the same category set are commensurable. Two bundles with different categories carry the schema in the root. The value is that scores from two contexts compare at all.

03 · Reproducible or it didn't happen

Same inputs plus same pinned analysis code yield the same attestation_root, byte-for-byte. Adversarial reviewer, Inspector General, Congressional inquiry — the math repeats on their machine.

02 ·
In the hand.
Working instrument · Two commands

Two verbs cover the surface: measure ingests a fleet and writes a bundle; verify recomputes the root from the bundle and checks every artifact. The session below is the canonical Bibles reference fleet — six subjects, five categories — stamped at planisphere 0.2.0 (the engine's prior version; the artifact is immutable).

psp › measure ./bibles --fleet-id bibles
[ok] resolving subjects ······················· 6
[ok] discovering categories ···················· 5
[ok] projecting onto plane ····················· ✓
[ok] variance explained on PC1 ················· 0.701
[ok] distinct profiles ························· 5
[ok] writing bundle ···························· ./bundles/bibles
[ok] attestation_root ·························· 1cd0f2b4···3d28d
psp › verify ./bundles/bibles
{ "verified": true, "root_match": true, "artifact_mismatches": [], "engine": "planisphere 0.2.0" }

Same instrument on a 28-agent reference fleet returns a different root and a different profile count. The math does not change between domains; the projection finds the shape of whatever variance is actually present.

psp › measure ./backstaff-28 --fleet-id backstaff-28
[ok] resolving subjects ······················· 28
[ok] discovering categories ···················· 3
[ok] variance explained on PC1 ················· 0.836
[ok] distinct profiles ························· 7
[ok] catastrophic outliers ····················· 1
[ok] attestation_root ·························· 408a536d···b964e9a
The deliverable carries its own proof. The measurement is part of the product.
03 ·
What it produces.
Attestation bundle · Anatomy

The bundle is a directory of pinned artifacts plus a single root hash that binds them. Every artifact is reachable from the root; any byte-level change anywhere invalidates the root.

ArtifactWhat it pins
attestation_rootSHA-256 over the Merkle tree of all bundled artifacts. One hash, total binding.
measurement.jsonPer-subject scores across every category, plus PC1 loadings and projection coordinates.
geometry.jsonThe projection — eigenvectors, variance-explained vector, distinct-profile clustering, outlier flags.
source.bundleThe raw subject data the measurement was taken against. Hashed; reachable from root.
code.shaSHA of the pinned analysis code that produced the bundle. Reproducer must match.
fleet_root_shaStable root over fleet membership — survives subject reorderings, breaks on add/remove.
rmf.jsonNIST AI RMF MEASURE mapping — M-1.1 (context), M-2.5 (validity), M-2.7 (security).
engine.versionThe engine release that minted the bundle. Bibles stamps planisphere 0.2.0; new bundles stamp astrolabe 1.0.0.

For the precise schema, field types, and reproduction protocol, see the capability declaration. For the underlying math, the eigendecomposition derivation, and the projection-stability proofs, see the methodology preprint.

04 ·
Reference fleets.
Two bundles · Public roots · Public math

The engine ships with two public reference bundles. Both are real measurements on real fleets; both attestation roots resolve in the verifier; both have been recomputed end-to-end by independent reviewers.

Bibles.

Fleet size6 subjects
Categories5
PC1 variance70.1%
Distinct profiles5
Root1cd0f2b4…3d28d
Engine stampplanisphere 0.2.0

Six translations of the same source text resolve into five distinct behavioral profiles — the projection finds doctrinal lineage where direct comparison loses it. See the case study →

Backstaff-28.

Fleet size28 agents
Categories3
PC1 variance83.6%
Distinct profiles7
Catastrophic outliers1
Root408a536d…b964e9a

Twenty-eight fine-tuned agents resolve into seven distinct profiles, seventeen dedupe candidates, and one catastrophic outlier — the audit answer in one bundle. See the case study →

Backstaff-28 is also the validating fleet for Backstaff, the first vertical built on Astrolabe — shadow-staff audit for AI-augmented operations.

05 ·
What you do next.
Three doors · Capability · Methodology · Verifier

Capability

The formal declaration — inputs, outputs, schema, attestation guarantees, scope limits. The document an evaluator reads before approving the engine for a program.

Read the capability →

Methodology

The preprint — the projection math, the eigendecomposition, the stability proofs, the choice of PC1 as the load-bearing axis, every footnote a reviewer needs.

Read the methodology →

Verifier

Drop a bundle directory in your browser. The verifier recomputes the Merkle root client-side and reports root_match plus any artifact mismatches. No upload. No account.

Verify a bundle →