{
  "$schema": "https://ambiqai.github.io/helia-ui/schema/reference-model-1.json",
  "generatedFrom": {
    "sourceCommit": "cf2246a7ad439fa38d57462118e7840e5497a685",
    "tool": "pyref",
    "version": "1.7.3"
  },
  "language": "python",
  "modules": [
    {
      "description": "Operator capability declarations.\n\nA capability is an explicit, machine-checkable contract an operator opts into.\nThe compiler reads an operator's capabilities to decide whether optimization\npasses (init elision, kernel-body interning, static scheduling, and — later —\nfusion) may be applied to it. The default is :attr:`OpCapability.NONE`, meaning\nan operator is treated as fully opaque: emitted inline, never interned, never\nstatically reordered. This keeps brand-new operators correct with zero\ndeclarations; optimizations are strictly opt-in (\"buy-in\") per operator.\n\nSee ``docs-maintainers/rfcs/0003-operator-capabilities-interning.md`` for the full design.\n\nStage 1 (this module) introduces the vocabulary and a derivation that maps the\npre-existing ad-hoc seams (``has_init`` and the ``shared_*_helpers`` methods)\nonto capability flags. It deliberately does **not** change any emitted code.",
      "name": "capabilities",
      "path": "helia_aot.aot.operators.capabilities",
      "submodules": [],
      "summary": "Operator capability declarations.",
      "symbols": [
        {
          "description": "Optimization contracts an operator may declare.\n\nFlags compose with ``|``. The base operator declares\n:attr:`NONE`; subclasses widen the set as they satisfy each contract.",
          "examples": [],
          "id": "helia_aot.aot.operators.capabilities.OpCapability",
          "kind": "class",
          "language": "python",
          "members": [
            {
              "description": "No declared contract. The operator is emitted inline, retains its\nper-instance ``_init``, is never interned, and is never statically\nreordered. Always correct; the safe default.",
              "examples": [],
              "id": "helia_aot.aot.operators.capabilities.OpCapability.NONE",
              "kind": "constant",
              "language": "python",
              "members": [],
              "name": "NONE",
              "params": [],
              "raises": [],
              "returns": [],
              "signature": "NONE = 0",
              "source": {
                "line": 52,
                "path": "helia_aot/aot/operators/capabilities.py",
                "url": "https://github.com/AmbiqAI/helia-aot/blob/cf2246a7ad439fa38d57462118e7840e5497a685/helia_aot/aot/operators/capabilities.py#L52"
              },
              "summary": ""
            },
            {
              "description": "The operator emits no per-instance ``_init`` and no mutable\nfile-scope (non-``const``) storage. Generalizes ``has_init is\nFalse``.",
              "examples": [],
              "id": "helia_aot.aot.operators.capabilities.OpCapability.STATELESS",
              "kind": "constant",
              "language": "python",
              "members": [],
              "name": "STATELESS",
              "params": [],
              "raises": [],
              "returns": [],
              "signature": "STATELESS = enum.auto()",
              "source": {
                "line": 53,
                "path": "helia_aot/aot/operators/capabilities.py",
                "url": "https://github.com/AmbiqAI/helia-aot/blob/cf2246a7ad439fa38d57462118e7840e5497a685/helia_aot/aot/operators/capabilities.py#L53"
              },
              "summary": ""
            },
            {
              "description": "The operator's ``_run`` body is a pure function of a\nsingle ``const`` per-node descriptor plus ``ctx->tensor_ptrs``. It\nbakes no absolute addresses and holds no mutable state. Eligible for\nkernel-body interning and direct static scheduling.",
              "examples": [],
              "id": "helia_aot.aot.operators.capabilities.OpCapability.DESCRIPTOR_DRIVEN",
              "kind": "constant",
              "language": "python",
              "members": [],
              "name": "DESCRIPTOR_DRIVEN",
              "params": [],
              "raises": [],
              "returns": [],
              "signature": "DESCRIPTOR_DRIVEN = enum.auto()",
              "source": {
                "line": 54,
                "path": "helia_aot/aot/operators/capabilities.py",
                "url": "https://github.com/AmbiqAI/helia-aot/blob/cf2246a7ad439fa38d57462118e7840e5497a685/helia_aot/aot/operators/capabilities.py#L54"
              },
              "summary": ""
            },
            {
              "description": "The operator routes its ``_run`` body through a single\nsignature-keyed shared runtime helper (emitted once) rather than an\ninlined per-node body. Generalizes a non-empty\n``shared_kernel_helpers`` / ``shared_activation_helpers``.",
              "examples": [],
              "id": "helia_aot.aot.operators.capabilities.OpCapability.SHARED_KERNEL",
              "kind": "constant",
              "language": "python",
              "members": [],
              "name": "SHARED_KERNEL",
              "params": [],
              "raises": [],
              "returns": [],
              "signature": "SHARED_KERNEL = enum.auto()",
              "source": {
                "line": 55,
                "path": "helia_aot/aot/operators/capabilities.py",
                "url": "https://github.com/AmbiqAI/helia-aot/blob/cf2246a7ad439fa38d57462118e7840e5497a685/helia_aot/aot/operators/capabilities.py#L55"
              },
              "summary": ""
            },
            {
              "description": "The operator is safe to invoke via a direct static\ncall site (no requirement for the runtime function-pointer table).",
              "examples": [],
              "id": "helia_aot.aot.operators.capabilities.OpCapability.STATIC_SCHEDULABLE",
              "kind": "constant",
              "language": "python",
              "members": [],
              "name": "STATIC_SCHEDULABLE",
              "params": [],
              "raises": [],
              "returns": [],
              "signature": "STATIC_SCHEDULABLE = enum.auto()",
              "source": {
                "line": 56,
                "path": "helia_aot/aot/operators/capabilities.py",
                "url": "https://github.com/AmbiqAI/helia-aot/blob/cf2246a7ad439fa38d57462118e7840e5497a685/helia_aot/aot/operators/capabilities.py#L56"
              },
              "summary": ""
            },
            {
              "description": "The operator has no side effects beyond writing its output\ntensors. Reserved for future fusion/scheduling passes.",
              "examples": [],
              "id": "helia_aot.aot.operators.capabilities.OpCapability.PURE",
              "kind": "constant",
              "language": "python",
              "members": [],
              "name": "PURE",
              "params": [],
              "raises": [],
              "returns": [],
              "signature": "PURE = enum.auto()",
              "source": {
                "line": 58,
                "path": "helia_aot/aot/operators/capabilities.py",
                "url": "https://github.com/AmbiqAI/helia-aot/blob/cf2246a7ad439fa38d57462118e7840e5497a685/helia_aot/aot/operators/capabilities.py#L58"
              },
              "summary": ""
            },
            {
              "description": "The operator's schedule position is flexible within its\ndata dependencies. Reserved for future scheduling passes.",
              "examples": [],
              "id": "helia_aot.aot.operators.capabilities.OpCapability.REORDERABLE",
              "kind": "constant",
              "language": "python",
              "members": [],
              "name": "REORDERABLE",
              "params": [],
              "raises": [],
              "returns": [],
              "signature": "REORDERABLE = enum.auto()",
              "source": {
                "line": 59,
                "path": "helia_aot/aot/operators/capabilities.py",
                "url": "https://github.com/AmbiqAI/helia-aot/blob/cf2246a7ad439fa38d57462118e7840e5497a685/helia_aot/aot/operators/capabilities.py#L59"
              },
              "summary": ""
            }
          ],
          "name": "OpCapability",
          "params": [],
          "raises": [],
          "returns": [],
          "signature": "OpCapability()",
          "source": {
            "line": 23,
            "path": "helia_aot/aot/operators/capabilities.py",
            "url": "https://github.com/AmbiqAI/helia-aot/blob/cf2246a7ad439fa38d57462118e7840e5497a685/helia_aot/aot/operators/capabilities.py#L23"
          },
          "summary": "Optimization contracts an operator may declare."
        }
      ]
    }
  ],
  "name": "helia_aot"
}
