> ## Documentation Index
> Fetch the complete documentation index at: https://docs.summerengine.com/llms.txt
> Use this file to discover all available pages before exploring further.

# SummerExecutionDescriptor

> Immutable role, topology, artifact profile, and capabilities selected before execution.

**Class:** `SummerExecutionDescriptor` · **Inherits:** RefCounted

Immutable role, topology, artifact profile, and capabilities selected before execution.

The descriptor is observational context, not a runtime role switch. Artifact composition removes forbidden APIs and source domains; game code cannot mutate the descriptor to acquire authority or trigger a local/hosted fallback.

## Properties

| Property | Type | Access | Description |
| - | - | - | - |
| <a id="capabilities" />`capabilities` | [`SummerCapabilityGrant`](/api-reference/gdscript/types/capability-grant)\[] | read-only, `get_capabilities()` | Defensive copy of the bounded negotiated capability set. |
| <a id="local" />`local` | bool | read-only, `is_local()` | Whether this descriptor belongs to an explicit local fixture. |
| <a id="profile" />`profile` | [`SummerExecutionDescriptor.ArtifactProfile`](/api-reference/gdscript/types/execution-descriptor#artifactprofile) | read-only, `get_profile()` | Concrete compile-time artifact profile. |
| <a id="role" />`role` | [`SummerExecutionDescriptor.Role`](/api-reference/gdscript/types/execution-descriptor#role) | read-only, `get_role()` | Structural output role. |
| <a id="topology" />`topology` | [`SummerExecutionDescriptor.Topology`](/api-reference/gdscript/types/execution-descriptor#topology) | read-only, `get_topology()` | Compile-time authority topology, or None for a client projection. |

## Methods

### has\_capability

```gdscript theme={null}
func has_capability(capability_id: StringName, minimum_version: int = 1) -> bool const
```

Returns whether the immutable set contains at least the requested positive version.

| Parameter | Type | Default |
| - | - | - |
| `capability_id` | StringName | required |
| `minimum_version` | int | `1` |

**Returns:** bool

## Enums and constants

### Role

| Name | Value | Description |
| - | - | - |
| `ROLE_CLIENT` | `0` | Authenticated player projection. |
| `ROLE_AUTHORITY` | `1` | Authoritative simulation. |
| `ROLE_DEBUG` | `2` | Explicit local editor/emulator role. |

### Topology

| Name | Value | Description |
| - | - | - |
| `TOPOLOGY_NONE` | `0` | No authority is hosted by this artifact. |
| `TOPOLOGY_DEDICATED` | `1` | Platform-allocated trusted authority. |
| `TOPOLOGY_PEER_HOSTED` | `2` | Opted-in delegated peer authority. |

### ArtifactProfile

| Name | Value | Description |
| - | - | - |
| `ARTIFACT_PROFILE_CLIENT` | `0` | Client projection artifact. |
| `ARTIFACT_PROFILE_AUTHORITY_ENGINE` | `1` | Headless engine authority artifact. |
| `ARTIFACT_PROFILE_AUTHORITY_MANAGED` | `2` | Portable managed authority artifact. |
| `ARTIFACT_PROFILE_PEER_CAPABLE` | `3` | Peer-capable engine artifact. |
| `ARTIFACT_PROFILE_DEBUG_EDITOR` | `4` | Local editor/emulator artifact. |

***

What is live on the platform today: [platform capability status](/knowledge-base/source-status). Check availability at runtime before you offer a feature.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.