ReadonlyidCapability id — the one carried by its declaration.
Readonlyembarkedtrue when the declaration came from a preset installer, i.e. from the build.
false when it came from the runtime channel (GeoLeaf.plugins.registerCapability,
or a direct CapabilityRegistry.register()).
⚠️ This is NOT "present in the full manifest". Comparing against the shipped manifest
would mean importing it, which re-anchors all 21 installers in every entry's eager
closure — and would answer true for a capability a slim entry does not embark at all
(packages/core/examples/minimal/entry.ts composes 6 of them).
ReadonlyenabledVerdict of ICapabilityStatus.gate against the config at call time. Re-read on every call, never frozen: the profile's config arrives after the preset passes have run, so a value captured at registration would be the pre-merge one.
⚠️ "Enabled", not "currently running".
Optional ReadonlygateThe gate that produced ICapabilityStatus.enabled. Absent ⟹ ungated capability, which is always enabled.
This is the capability's own gate. An installer may gate its module on a sub-key
instead (CapabilityInstaller.moduleGate); that gate decides the module, not the
capability, and reporting it here would pair a cause with someone else's effect.
ReadonlyhasSee ICapabilityInstallFacts.hasModule. Always false for a runtime capability.
Activation verdict for one declared capability — "what is switched on, and why".
Returned by
ICapabilityRegistry.getAllStatuses()and, through it, byIIntrospectionAPI.getCapabilityStatus().