aeat.application.wizard package

Schema-driven setup-wizard application facade.

The concrete setup flow lives in this package. _models.WizardFlow descriptors declare the operator-facing sections, questions, widgets, visibility gates, and answer model. The command builder walks those descriptors through a _prompter.Prompter implementation, validates raw input with the per-widget canonical-token rules, rebuilds the typed core.setup_answers.SetupAnswers projection, and persists profile facts through the user-profile orchestration layer.

Importing application.wizard intentionally performs the startup registrations that downstream layers consume without importing the application package directly. _catalogue registers _catalogue.SETUP_FLOW and WIZARD_FLOWS in core.wizard_catalogue; _persistence registers its concrete project_answers() implementation in core.setup_answers; and _compiler compiles the wizard catalogue into domain.contribuyente.ProfileKey rows before pushing them into the contribuyente profile-key registry. Domain modules read those core slots and the domain registry only, preserving the one-way application boundary.

See also

build_wizard_command(): Build a setup CLI command from a registered

flow descriptor.

validate_widget_answer(): Validate one raw answer into

canonical-token form.

project_answers(): Rebuild typed setup answers from persisted

canonical profile values.

core.setup_answers.SetupAnswers: Canonical typed model

for setup answers.

core.wizard_catalogue.get_setup_flow(): Return the registered setup

flow for core and domain consumers.

domain.contribuyente.get_profile_key(): Resolve compiled

profile-key rows registered by the wizard compiler.

Submodules