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

# Relationship: Operators through the Fleet Manager UI and fleetctl

> Operators acting on Fleet Manager through the UI and fleetctl.

* **Kind:** Actuation
* **Version:** 1
* **Fleet Manager owner:** Fleet Manager squad, #fleet-manager-chat (individual claimant pending)
* **Counterpart owner:** Fleet Manager squad (UI in `nscaledev/nscale-ui`); operators from Deployment
  Engineering, Support and FOE
* **Last reviewed:** 2026-09-09

## What flows

Operators create jobs from the UI and from `fleetctl` using the presets in
`src/fleet_manager/temporal/workflows/presets.yaml`, mark [devices](../start-here/glossary#node) for triage or standup (which emits the CHAD
events only where the matching `api.eventing` gate is enabled, default off), and run node swap, quarantine, release and image-node workflows. UI sessions are authorised by Django
model permissions; `fleetctl api` authenticates with a per-user login profile (`docs/runbooks/fleetctl-api.md`);
scripts and CI use OAuth clients such as the opt-in `e2e-tests` client. Agent skills that drive `fleetctl` on an
operator's behalf, such as the repo's `dc-ops` skill, are actuators too and run under that operator's login. The UI
consumes the generated TypeScript client from `docs/openapi.yaml`.

## What breaks if this changes

An OpenAPI shape change breaks the UI build. A preset change alters what every operator dispatches. Manual
dispatch and automated dispatch share the same device pool, so any new automated dispatcher changes what
operators see in the standup view.

## Enforcement

* **Principal:** individual users; `e2e-tests` for the automated suite.
* **Mechanism:** Django session for the UI, per-user login profile for `fleetctl api`, FM OAuth client for `e2e-tests`.
* `docs/openapi.yaml` and the OpenAPI contract lint; `.agents/skills/fm-review/api-contract-guidelines.md`.
* Session permissions in `src/fleet_manager/api/auth/`.

## Gaps

* On-site operators can view Fleet Manager but not act in it; escalation goes through Slack.

## Change log

* 2026-09-09 v1: created; describes present behaviour.


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