YANA· Ops Coming soon

The automation layer for aerospace operations

The physics of spaceflight, one call away.

4,471 typed, deterministic aerospace operations — orbit transfers, propulsion, conjunction screening, standards audits — that an n8n workflow, an AI agent or a CI job calls as a function. Your process. Your data. No far side.

4,448 of them touch no network at all, so mission data never leaves your process. In this industry that is not a feature — it is the price of admission.

3 planes · 51.6° · 481-point earth · terminator 2026-03-20T16:33:00Z · drawn to scale

Why this has to exist

Every serious tool for spaceflight compute assumes a person at the console. Desktop suites licensed per seat and driven by hand. Expert libraries that want a specialist, a build system and an apprenticeship. Spreadsheets nobody can audit once their author leaves the programme.

The rest of your stack stopped assuming that years ago. Workflows retrain models overnight, agents draft the paperwork, CI blocks the merge — and the moment any of them needs orbital mechanics, there is nothing shaped like a function to call. The physics layer is the one layer automation still cannot reach.

That is the whole thesis. 4,471 operations that make spaceflight compute callable — by a workflow, by an agent, by a build — with the discipline this industry demands of flight software: typed interfaces, deterministic outputs, and 4,448 operations that never touch a network at all.

What is actually here

Four numbers, and they descend. Each says what tightened; the last one is the only figure checked against somebody else's implementation.

4,471Registered operationsEach resolves to a helper function that exists.
4,451Declare no network accessEnforced at the adapter boundary, not promised in a README.
1,130Backed by an executed property testThe only tier with a test behind it — 25.3% of the catalogue.
137Cross-validated against Orekit 13.1.7Agreeing to 1.6e-7, outside 52 named modelling differences. The rest have been compared with nothing.

The catalogue labels itself

Drawn to scale, on the front page rather than in a footnote. No vendor volunteers the figure that shrinks its own headline; filter us down to what we will stand behind and judge what survives.

2,999 self-labelled domain-authentic 1,472 self-labelled generic utility — unit conversion, table lookup, arithmetic

It computes

Every other number on this page is a count, and a catalogue of names that never executes would produce the same counts. This is a real call, recorded when the page was built.

Recorded at buildTwo operations · 3 ports joined by name and type
01 Azimuth Elevation To Cartesiangnc-adcs · azelToCart() az_rad 0.5 · el_rad 0.5 · range_m 100x 77.01511529340699 · y 42.073549240394826 · z 47.942553860420304
02 Cartesian → Azimuth/Elevationastrodynamics · cartToAzEl() x · y · z from 01range 100.00000000000001 · az_rad 0.5 · el_rad 0.49999999999999994

The round trip returns az_rad exactly and el_rad to 5.551115123125783e-17 — below the IEEE-754 double epsilon 2.220446049250313e-16, a drift the library's own classifier bins as machine. Step 02's inputs are step 01's outputs, named rather than repeated.

All of it, at once

Every light below is one operation, placed one-for-one from the registry when this page was built — 4,471 in a single frame, clustered into the eight largest aerospace domains of its 86 categories. The 23 gold sparks are the complete list of operations that ever touch a network; the other 4,448 run sealed inside your process, wherever it runs. Drift through it — every name that surfaces is real.

One light = one operation · 4,471 drawn · 4,448 offline · 23 networked · placed at build

What it audits, and what calls it

Standards audited ECSS-E-ST-10C · ECSS-E-ST-40C · ECSS-E-ST-70-41C · ECSS-M-ST-10C · ECSS-M-ST-40C · ECSS-Q-ST-80C Called from Native n8n nodes · 72 adapters — MCP · LangChain · Airflow · Kubernetes · GitHub Actions · Temporal… Product surface 7 of 33 packages carry a support promise. The other 26 publish only because an entrypoint requires them at runtime.
yanaops-cli@yanaops/mcp-server@yanaops/sdk@yanaops/registryyana-ops-conformance@yanaops/conformance@yanaops/quickstart

What you will build with it

Three pipelines, named operation by operation from the registry. Every operation below is typed, deterministic, and declares no network — your data stays inside the workflow that calls it.

A workflow that watches the sky

A fresh ephemeris lands and n8n calls the registry like any other node: RTN Rectangular Conjunction Screening Volume gates the candidates, Conjunction Miss Distance & Relative Kinematics (TCA) works the close approach, Conjunction Assessment (Foster-Patera) puts a probability on it. Your ops channel gets a number, not a feeling — and the same inputs raise the same alert every time.

An agent that cannot make the physics up

Over the MCP server, an AI agent plans a manoeuvre with Hohmann Transfer Δv and prices it with Tsiolkovsky Propellant Mass. The model does the reasoning and the writing; every number it quotes comes out of a typed function, not out of the model.

A CI job that reads the standard

A materials change opens a pull request, and the pipeline runs Outgassing RML/CVCM Screening (ECSS-Q-ST-70-02) and ECSS Weighted Compliance Mean before anyone reviews it. Compliance drift fails the build in minutes instead of surfacing at the review board months later.

Get in before the door opens

Nothing here has ever been published — yet. What ships first is being decided right now, and the people deciding read this address. If you run ground segment, flight dynamics, or ECSS and CCSDS conformance work, the operations you name go to the front of the queue.

contact@ashforde.org

One address, straight to the people building it. No mailing list, no tracking — nothing on this page sets a cookie or makes a request to anyone.