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
| Field | Type | Description |
|---|---|---|
id | string | Unique operator ID (uppercase, underscores) |
category | string | One of the 64 standard categories |
description | string | Human-readable description |
Optional Fields
| Field | Type | Description |
|---|---|---|
internalId | string | Internal reference (defaults to id) |
equation | string | Plain text equation |
equationLaTeX | string | LaTeX-formatted equation |
equationSource | string | Source reference (textbook, paper, custom) |
tier | number | 1=Core Physics, 2=Applied Science, 3=Computational, 4=Experimental |
tierLabel | string | Human-readable tier name |
founder | string | Author 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
- Edit
core/operators/custom-operators.json - Add your operator(s) to the
operatorsarray - Update the
totalcount - Copy to
docs/static/custom-operators.json(or runpython scripts/sync-new-equations.py) - 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:
- Starts with KO42
- Adds your selected operators (max 3 additional)
- Compiles via the Master Equation
- Verifies to ≤0.1% precision