AirGap Controller (retired host)
Pointer stub. The
airgap-controllerdeployable was retired underSPRINT_20260722_025OK-5 (source withdrawn 2026-09-10) and is frozen atsrc/__Obsoleted/AirGap/StellaOps.AirGap.Controller/, together withStellaOps.AirGap.Timeand theStellaOps.AirGap.Persistencelibrary. Its generated contract (api-reference.md,openapi/v1.json) is archived atdocs-archive/modules/airgap-controller/.Read AirGap for sealed and offline operation as it exists now.
Where the controller’s responsibilities went (verified at commit 942a18727c):
- Posture and time-anchor custody: Platform,
PUT/GET /api/v1/platform/environment-state/{stateClass}/{scope}with state classesairgap-sealandtime-anchor. CLI:stella airgap seal,stella airgap unseal,stella airgap statusandstella airgap time-anchor declare,stella airgap time-anchor status. - The
/system/airgap/*paths: mapped by Policy Engine (src/Policy/StellaOps.Policy.Engine/Endpoints/SealedModeEndpoints.cs, plusStalenessEndpoints.csandAirGapNotificationEndpoints.cs). Policy Engine’s contract differs from the archived controller specification: for example,POST /system/airgap/verifyverifies a policy pack or risk-profile bundle and requiresairgap:seal, where the controller verified replay evidence underairgap:status:read. The archived specification is therefore not the contract of any live host. - Bundle import: OfflineKit,
POST /api/offlinekit/v1/import(scopeairgap:import); see OfflineKit.
