aeat.core._capabilities module¶
Closed set of operator-selectable service capabilities.
A capability is a per-profile opt-in/opt-out of an external service the app can
use. It is operator intent, distinct from (a) the global safety posture (gestor
mode, the secure-storage invariant) and (b) dependency availability (is Ollama
running?). The three axes are ANDed at the gate, and a capability may only NARROW
the global safety floor, never widen it (service-capabilities ADR).
The set is declared here in core/ — the innermost hexagonal ring — per
aeat-schema-central-config and aeat-architecture-boundaries so the Typer
boundary renders the accepted-value Choice([...]) from the enum, production
code routes on members, and the profile schema / resolver / doctor share one
authority for the capability identifiers.
The ServiceCapability members are consumed by
resolve_capability(),
resolve_active_capability(), and by the
setup wizard’s capability questions. The product doctor renders those same
members beside DependencyStatus rows
from probe_ollama_vision(),
probe_subprocess_providers(), and
probe_optional_extras(), keeping operator
intent separate from dependency availability.
This enum is deliberately separate from
domain.calculations.registry.ModeloDefinition.capabilities and
domain.calculations.registry.ModeloFilingCapability. Registry
capabilities describe which workflows a modelo definition supports; service
capabilities describe what an active profile permits the app to use.
- class ServiceCapability(*values)[source]¶
Bases:
StrEnumThe closed set of external-service capabilities a profile can opt into.
Each value is the dotted profile-schema field leaf under the
capabilitiessection (capabilities.<value>) so the enum, the schema fact path, and the resolver agree on one identifier. Optional package availability is modeled separately throughOptionalExtraandrequire_optional_extra(); a capability records whether the profile permits the service, not whether its import/runtime dependency is installed.See also
CapabilityDecisionResolved posture after applying gestor mode, profile facts, defaults, and global settings.
entrypoints.cli._config._capabilities_cliOperator-facing
showandsetcommands that expose these enum values directly.
- Members:
- CLOUD_EVIDENCE_UPLOAD: Whether this profile permits sending sensitive
financial evidence (a text-layer invoice) to a cloud CLI provider for classification. Default OFF; gestor mode bars it absolutely regardless of this opt-in (the capability can only narrow, never widen, the floor).
- LLM_VISION: Whether this profile may read scanned/image evidence on-host
with the local Ollama vision model. Default ON (on-host, no byte leaves the machine); opting out disables the vision read entirely.
- GOOGLE_EXPORT: Whether this profile may export modelo workbooks to Google
Sheets/Drive. Default ON; opting out keeps exports offline-only.
- CLOUD_EVIDENCE_UPLOAD¶
- LLM_VISION¶
- GOOGLE_EXPORT¶
- property schema_path: str¶
Return the dotted profile-schema fact path for this
ServiceCapability.
- property default_enabled: bool¶
Return the conservative default posture when no profile fact is set.
Cloud evidence upload defaults OFF (the regulated, sensitive path); the on-host vision and Google export capabilities default ON because they are non-sensitive or local by construction. The resolver still ANDs the global safety floor on top of this default, yielding a
CapabilityDecision.