Variable: SETUP_CHECKS
constSETUP_CHECKS:object
Defined in: packages/contracts/src/setup-checks.ts:365
The checks, with the step each belongs to and the causes each can report. This table is the answer to "which cause codes can step n return": read the rows of the step.
A later step applies the steps before it again before its own (each converges, so on
a deployment where they are done this changes nothing), which is why applied checks
of later steps list the earlier steps' causes too.
Type Declaration
accounts.applied
readonlyaccounts.applied:object
accounts.applied.causes
readonlycauses: readonly ["provider_unreachable","provider_credential_refused","provider_forbidden","provider_conflict","provider_rejected","provider_not_managed","provider_direct_grants_remain","provider_unexpected","provider_delegated","realm_missing","machine_client_refused","audience_missing","test_recipient_refused","mail_settings_invalid","secret_unreadable","service_no_reply","service_denied","service_refused","service_failed","reply_incomplete","root_account_not_created","unexpected"]
accounts.applied.reportsApply
readonlyreportsApply:true=true
accounts.applied.step
readonlystep:"accounts"='accounts'
accounts.declared
readonlyaccounts.declared:object
accounts.declared.causes
readonlycauses: readonly ["governing_account_missing","governing_account_is_root","unexpected"]
accounts.declared.reportsApply
readonlyreportsApply:false=false
accounts.declared.step
readonlystep:"accounts"='accounts'
accounts.invitation
readonlyaccounts.invitation:object
accounts.invitation.causes
readonlycauses: readonly ["invitation_failed","invitation_unconfirmed","unexpected"]
accounts.invitation.reportsApply
readonlyreportsApply:true=true
accounts.invitation.step
readonlystep:"accounts"='accounts'
anchor.applied
readonlyanchor.applied:object
anchor.applied.causes
readonlycauses: readonly ["provider_unreachable","provider_credential_refused","provider_forbidden","provider_conflict","provider_rejected","provider_not_managed","provider_direct_grants_remain","provider_unexpected","provider_delegated","realm_missing","machine_client_refused","audience_missing","test_recipient_refused","mail_settings_invalid","secret_unreadable","service_no_reply","service_denied","service_refused","service_failed","reply_incomplete","unexpected"]
anchor.applied.reportsApply
readonlyreportsApply:true=true
anchor.applied.step
readonlystep:"anchor"='anchor'
anchor.declared
readonlyanchor.declared:object
anchor.declared.causes
readonlycauses: readonly ["anchor_facts_missing","unexpected"]
anchor.declared.reportsApply
readonlyreportsApply:false=false
anchor.declared.step
readonlystep:"anchor"='anchor'
anchor.framework
readonlyanchor.framework:object
anchor.framework.causes
readonlycauses: readonly ["framework_missing","framework_invalid","unexpected"]
anchor.framework.reportsApply
readonlyreportsApply:false=false
anchor.framework.step
readonlystep:"anchor"='anchor'
configuration.applied
readonlyconfiguration.applied:object
configuration.applied.causes
readonlycauses: readonly ["answers_invalid","authority_not_file","audit_not_acknowledged","store_failed","unexpected"]
configuration.applied.reportsApply
readonlyreportsApply:true=true
configuration.applied.step
readonlystep:"configuration"='configuration'
configuration.authority
readonlyconfiguration.authority:object
configuration.authority.causes
readonlycauses: readonly ["authority_not_file","store_failed","unexpected"]
configuration.authority.reportsApply
readonlyreportsApply:false=false
configuration.authority.step
readonlystep:"configuration"='configuration'
configuration.stored
readonlyconfiguration.stored:object
configuration.stored.causes
readonlycauses: readonly ["configuration_not_stored","store_failed","unexpected"]
configuration.stored.reportsApply
readonlyreportsApply:false=false
configuration.stored.step
readonlystep:"configuration"='configuration'
identifiers.agent
readonlyidentifiers.agent:object
provisioning registered the shared agent instance, or found it registered.
identifiers.agent.causes
readonlycauses: readonly ["service_no_reply","service_denied","service_refused","service_failed","reply_incomplete","unexpected"]
identifiers.agent.reportsApply
readonlyreportsApply:true=true
identifiers.agent.step
readonlystep:"identifiers"='identifiers'
identifiers.applied
readonlyidentifiers.applied:object
issuance stored the permitted methods and published the anchor's identifier. It
converges the earlier steps first (the anchor's id comes from identity), which is
why it lists their causes.
identifiers.applied.causes
readonlycauses: readonly ["provider_unreachable","provider_credential_refused","provider_forbidden","provider_conflict","provider_rejected","provider_not_managed","provider_direct_grants_remain","provider_unexpected","provider_delegated","realm_missing","machine_client_refused","audience_missing","test_recipient_refused","mail_settings_invalid","secret_unreadable","service_no_reply","service_denied","service_refused","service_failed","reply_incomplete","unexpected"]
identifiers.applied.reportsApply
readonlyreportsApply:true=true
identifiers.applied.step
readonlystep:"identifiers"='identifiers'
identifiers.declared
readonlyidentifiers.declared:object
The identifiers section, with its defaults filled in, is coherent.
identifiers.declared.causes
readonlycauses: readonly ["answers_invalid","unexpected"]
identifiers.declared.reportsApply
readonlyreportsApply:false=false
identifiers.declared.step
readonlystep:"identifiers"='identifiers'
identifiers.registry
readonlyidentifiers.registry:object
issuance wrote a throwaway object to each enabled registry and read it back.
identifiers.registry.causes
readonlycauses: readonly ["service_no_reply","service_denied","service_refused","service_failed","reply_incomplete","unexpected"]
identifiers.registry.reportsApply
readonlyreportsApply:true=true
identifiers.registry.step
readonlystep:"identifiers"='identifiers'
module.identification
readonlymodule.identification:object
The token's manufacturer, model, firmware and serial, as it reports them.
module.identification.causes
readonlycauses: readonly ["module_identification_missing","unexpected"]
module.identification.reportsApply
readonlyreportsApply:false=false
module.identification.step
readonlystep:"key-store"='key-store'
module.library
readonlymodule.library:object
credential answered the probe, naming the PKCS#11 library it loaded at start and
how long that took (DW24). Read-only. A failure here is credential not answering:
a credential that cannot load its library does not start.
module.library.causes
readonlycauses: readonly ["service_no_reply","service_denied","service_refused","service_failed","reply_incomplete","unexpected"]
module.library.reportsApply
readonlyreportsApply:false=false
module.library.step
readonlystep:"key-store"='key-store'
module.session
readonlymodule.session:object
credential holds its login on the token it started on, the token is still there,
and it is the module the operator asserts. Nothing logs in for this check, so it
runs under plan and cannot count against the PIN lockout.
module.session.causes
readonlycauses: readonly ["module_token_missing","module_not_permitted","module_unavailable","module_session_lost","unexpected"]
module.session.reportsApply
readonlyreportsApply:false=false
module.session.step
readonlystep:"key-store"='key-store'
module.test_key
readonlymodule.test_key:object
credential generated a key on the token, signed with it, verified the signature and
destroyed it. It writes to the token, so it runs only when the step is applied, and
an apply of a step already done for the same answers is refused.
module.test_key.causes
readonlycauses: readonly ["test_key_failed","test_key_not_destroyed","module_token_missing","module_not_permitted","module_unavailable","module_session_lost","service_no_reply","service_denied","service_refused","service_failed","reply_incomplete","unexpected"]
module.test_key.reportsApply
readonlyreportsApply:true=true
module.test_key.step
readonlystep:"key-store"='key-store'
organizations.applied
readonlyorganizations.applied:object
organizations.applied.causes
readonlycauses: readonly ["provider_unreachable","provider_credential_refused","provider_forbidden","provider_conflict","provider_rejected","provider_not_managed","provider_direct_grants_remain","provider_unexpected","provider_delegated","realm_missing","machine_client_refused","audience_missing","test_recipient_refused","mail_settings_invalid","secret_unreadable","service_no_reply","service_denied","service_refused","service_failed","reply_incomplete","unexpected"]
organizations.applied.reportsApply
readonlyreportsApply:true=true
organizations.applied.step
readonlystep:"organizations"='organizations'
organizations.request
readonlyorganizations.request:object
organizations.request.causes
readonlycauses: readonly ["answers_invalid","unexpected"]
organizations.request.reportsApply
readonlyreportsApply:false=false
organizations.request.step
readonlystep:"organizations"='organizations'
provider.capabilities
readonlyprovider.capabilities:object
provider.capabilities.causes
readonlycauses: readonly ["provider_partial","provider_delegated","provider_unreachable","unexpected"]
provider.capabilities.reportsApply
readonlyreportsApply:false=false
provider.capabilities.step
readonlystep:"identity-provider"='identity-provider'
provider.converged
readonlyprovider.converged:object
provider.converged.causes
readonlycauses: readonly ["provider_unreachable","provider_credential_refused","provider_forbidden","provider_conflict","provider_rejected","provider_not_managed","provider_direct_grants_remain","provider_unexpected","provider_delegated","realm_missing","machine_client_refused","audience_missing","test_recipient_refused","mail_settings_invalid","secret_unreadable","unexpected"]
provider.converged.reportsApply
readonlyreportsApply:true=true
provider.converged.step
readonlystep:"identity-provider"='identity-provider'
provider.reachable
readonlyprovider.reachable:object
provider.reachable.causes
readonlycauses: readonly ["provider_unreachable","provider_credential_refused","provider_unexpected","secret_unreadable","unexpected"]
provider.reachable.reportsApply
readonlyreportsApply:false=false
provider.reachable.step
readonlystep:"identity-provider"='identity-provider'
provider.root_account
readonlyprovider.root_account:object
provider.root_account.causes
readonlycauses: readonly ["root_account_not_declared","root_account_not_created","invitation_failed","invitation_unconfirmed","unexpected"]
provider.root_account.reportsApply
readonlyreportsApply:true=true
provider.root_account.step
readonlystep:"identity-provider"='identity-provider'
publish.federation
readonlypublish.federation:object
The anchor's entity configuration fetched through its published address and its
chain and framework verified by @oktoid/federation-verify, the code
pnpm oktoid verify-federation runs. A document that could not be fetched is
needs_attention with federation_unchecked, never failed.
publish.federation.causes
readonlycauses: readonly ["federation_not_verified","federation_unchecked","unexpected"]
publish.federation.reportsApply
readonlyreportsApply:false=false
publish.federation.step
readonlystep:"configuration"='configuration'
publish.identifier
readonlypublish.identifier:object
The anchor's identifier resolved by issuance from the bytes the registry serves:
the platform checking itself, never presented as independent. A parallel did:web
document that is missing is needs_attention; one that differs is a failure.
publish.identifier.causes
readonlycauses: readonly ["identifier_not_found","identifier_unverifiable","identifier_deactivated","identifier_parallel_differs","identifier_parallel_absent","service_no_reply","service_denied","service_refused","service_failed","reply_incomplete","unexpected"]
publish.identifier.reportsApply
readonlyreportsApply:false=false
publish.identifier.step
readonlystep:"configuration"='configuration'
root.signed_in
readonlyroot.signed_in:object
When the root account first signed in, as identity recorded it. waiting until it
has, with the invited address as evidence, and never failed: a cause here is
always needs_attention (design 08 section 10 item 6).
root.signed_in.causes
readonlycauses: readonly ["root_account_not_linked","service_no_reply","service_denied","service_refused","service_failed","reply_incomplete","unexpected"]
root.signed_in.reportsApply
readonlyreportsApply:false=false
root.signed_in.step
readonlystep:"configuration"='configuration'