Skip to main content

Creating Custom Operators

Zeq OS ships with 1,576 verified operators across 64 categories (v6.3.0). You can extend the registry with custom operators using the dedicated custom-operators.json file.

Operator Format

Every operator in the registry follows this structure:

{
"id": "MY_CUSTOM_OP",
"internalId": "MY_CUSTOM_OP",
"category": "engineering",
"description": "Custom beam deflection with thermal correction",
"equation": "delta = (F * L^3) / (3 * E * I) * [1 + alpha * sin(2*pi*1.287*t)]",
"equationLaTeX": "\\delta = \\frac{FL^3}{3EI} \\cdot [1 + \\alpha \\sin(2\\pi \\cdot 1.287 \\cdot t)]",
"equationSource": "Custom / Modified Euler-Bernoulli"
}

Required Fields

FieldTypeDescription
idstringUnique operator ID (uppercase, underscores)
categorystringOne of the 64 standard categories
descriptionstringHuman-readable description

Optional Fields

FieldTypeDescription
internalIdstringInternal reference (defaults to id)
equationstringPlain text equation
equationLaTeXstringLaTeX-formatted equation
equationSourcestringSource reference (textbook, paper, custom)
tiernumber1=Core Physics, 2=Applied Science, 3=Computational, 4=Experimental
tierLabelstringHuman-readable tier name
founderstringAuthor or source attribution

Adding Custom Operators

The recommended way to add operators is through custom-operators.json. This file is never overwritten by registry updates — your custom operators persist across syncs.

File: core/operators/custom-operators.json

{
"version": "1.0.0",
"description": "User-defined custom operators.",
"total": 1,
"categories": ["engineering"],
"operators": [
{
"id": "MY_BEAM_DEFLECT",
"internalId": "MY_BEAM_DEFLECT",
"category": "engineering",
"description": "Custom beam deflection with thermal correction",
"equation": "delta = (F * L^3) / (3 * E * I) * [1 + alpha * sin(2*pi*1.287*t)]",
"equationLaTeX": "\\delta = \\frac{FL^3}{3EI} \\cdot [1 + \\alpha \\sin(2\\pi \\cdot 1.287 \\cdot t)]",
"equationSource": "Custom / Modified Euler-Bernoulli",
"tier": 2,
"tierLabel": "Applied Science",
"founder": "Your Name"
}
]
}

All SDKs (JS, Python, TS) automatically merge custom-operators.json into the main registry at load time. The Operator Explorer UI also fetches and merges custom operators.

Steps

  1. Edit core/operators/custom-operators.json
  2. Add your operator(s) to the operators array
  3. Update the total count
  4. Copy to docs/static/custom-operators.json (or run python scripts/sync-new-equations.py)
  5. All SDKs will automatically pick up the new operator on next load

Existing Categories

Your operator must belong to one of these 64 categories:

acoustics · aerospace · astronomical_research · astronomy · astrophysics · atmospheric_earth · atomic_physics · bioinformatics · biotech · climate_science · computational · condensed_matter · control_theory · cosmic · cryptography · differential · differential_equations · differential_geometry · dynamical_systems · electromagnetism · energy · engineering · environmental · exotic_states · finance · fluid_dynamics · geophysics · hulyas_core · information_cosmology · kinematic · many_body · material · mathematical_methods · mechanics · medical · molecular_kinetics · morphic_info · network_science · neuroscience · newtonian · nuclear · optics · particle_physics · photonics · plasma_physics · quantum · quantum_biology · quantum_computing · quantum_field_theory · quantum_gravity · quantum_relativity · relativity · robotics · seismology · signal_processing · statistical_mechanics · temporal · tensor · thermodynamics · universal_operators · wave_mechanics · zeq_consciousness · zeq_coupling · zeq_resonance

Operator Naming Conventions

  • Use UPPERCASE with underscores: BEAM_DEFLECTION, SOLAR_POWER
  • Prefix with domain abbreviation for domain-specific operators: MED_GFR, ORBIT_VELOCITY
  • Core operators use short prefixes: KO (kinematic), QM (quantum), GR (relativity), TH (thermodynamics)

Verification

After adding an operator, verify it loads correctly:

from zeq_os import OperatorRegistry

registry = OperatorRegistry.default()
op = registry.get("MY_BEAM_DEFLECT")
print(f"Found: {op.id}{op.description}")
print(f"Category: {op.category}")
print(f"Total operators: {registry.count}")

The KO42 Rule

Every computation in Zeq OS must include KO42 (the metric tensioner). Your custom operators work alongside KO42 — they don't replace it. The 7-Step Protocol always:

  1. Starts with KO42
  2. Adds your selected operators (max 3 additional)
  3. Compiles via the Master Equation
  4. Verifies to ≤0.1% precision