Arcane OS Docs Development only

Reference

Arcane.installation.ensure()

Ensures the Arcane installation reaches its required state.

  • Reference

This focused page is derived from the mechanically checked full member inventory.

Syntax

Arcane.installation.ensure()

Parameters

None

Return value

Promise<result>

Description

Ensures the Arcane installation reaches its required state.

Overview

Arcane.installation.ensure() installs, updates, repairs, or verifies Arcane OS as required. It is a privileged, exclusive, non-idempotent Provisioner operation requiring provisioning.manage on Core. It can write protected files, register platform integration, and change machine configuration. Never start it without a visible status and separate user confirmation.

The host rejects an installed Provisioner attempting to replace its own active installation; updates and repairs run from a verified external release. It blocks downgrades and re-verifies installation identity and postconditions.

Result, side effects, and events

The exact result is {manifest, installation, requirements, model, ready, warningCount, operation, credentials}. model is exactly {status, reason, requiredBefore, created} and deliberately reports local-model setup as deferred from base installation. ready: true requires a present, current, nonblocked installation with accepted identity, integrity, and required requirements. A completed result can have ready: false and warnings when warn-first policy is active.

The method emits the standard operation lifecycle events. Simulation mutates only deterministic development state and does not prove a real installation.

Errors and recovery

Important failures include ADMIN_REQUIRED, OPERATION_BUSY, EXTERNAL_PROVISIONER_REQUIRED, DOWNGRADE_BLOCKED, INSTALL_IDENTITY_INVALID, payload or integrity failures, and installation lease/stage cleanup failures. Do not retry automatically after an ambiguous failure: preserve the diagnostic, inspect fresh installation.status(), and follow its recovery action.

Example

async function ensureInstallationAfterConfirmation(confirmChange) {
    const status = await Arcane.installation.status();
    if (status.action === 'current' || status.action === 'blocked') {
        return status;
    }
    if (!confirmChange(status.action, status)) {
        return null;
    }
    return Arcane.installation.ensure();
}

Reference group

Platform, installation, users, and system

Repository and reviewed source access