pub struct Codes {Show 41 fields
pub harness_api_mismatch: DoctorCodeDef,
pub lockfile_unreadable: DoctorCodeDef,
pub migration_not_collected: DoctorCodeDef,
pub migration_not_declared: DoctorCodeDef,
pub locked_migration_missing: DoctorCodeDef,
pub locked_migration_edited: DoctorCodeDef,
pub captcha_not_effective: DoctorCodeDef,
pub payments_webhook_secret_missing: DoctorCodeDef,
pub auth_not_configured: DoctorCodeDef,
pub sidecar_shadows_module: DoctorCodeDef,
pub sidecar_mount_invalid: DoctorCodeDef,
pub module_self_check: DoctorCodeDef,
pub non_portable_sql: DoctorCodeDef,
pub card_data_in_migration: DoctorCodeDef,
pub push_transport_misconfigured: DoctorCodeDef,
pub push_required_but_unrouted: DoctorCodeDef,
pub module_unknown: DoctorCodeDef,
pub not_deployed: DoctorCodeDef,
pub production_deploy_unauthorized: DoctorCodeDef,
pub stale_plan: DoctorCodeDef,
pub composition_drift: DoctorCodeDef,
pub config_drift: DoctorCodeDef,
pub deploy_plan_required: DoctorCodeDef,
pub deploy_record_unreadable: DoctorCodeDef,
pub destructive_change_unauthorized: DoctorCodeDef,
pub env_drift: DoctorCodeDef,
pub manifest_drift: DoctorCodeDef,
pub manifest_exists: DoctorCodeDef,
pub manifest_invalid: DoctorCodeDef,
pub manifest_unreadable: DoctorCodeDef,
pub manifest_write_failed: DoctorCodeDef,
pub client_write_failed: DoctorCodeDef,
pub surface_action_unreadable: DoctorCodeDef,
pub surface_invalid: DoctorCodeDef,
pub surface_no_tables_module: DoctorCodeDef,
pub surface_table_name_invalid: DoctorCodeDef,
pub surface_unreadable: DoctorCodeDef,
pub surface_unsupported_contract: DoctorCodeDef,
pub admin_token_too_short: DoctorCodeDef,
pub rate_limiter_not_effective: DoctorCodeDef,
pub hmac_webhook_secret_missing: DoctorCodeDef,
}Expand description
Every code the doctor emits. Keep the registry below sorted by code.
Fields§
§harness_api_mismatch: DoctorCodeDefA module was built against a different HARNESS_API than the
core crate it linked against.
lockfile_unreadable: DoctorCodeDefThe .harness-lock.json could not be read or parsed.
migration_not_collected: DoctorCodeDefA module migration has no locked file yet — run
fz migrations collect first.
migration_not_declared: DoctorCodeDefA dependency crate ships a sqlite migration file that no mounted module declares, so it is never collected and its tables never exist on D1.
locked_migration_missing: DoctorCodeDefA locked migration’s file is missing from disk.
locked_migration_edited: DoctorCodeDefA locked migration’s file no longer matches its pinned sha256.
captcha_not_effective: DoctorCodeDefThe production captcha rule: captcha-guarded public writes without an effectively configured Captcha port.
payments_webhook_secret_missing: DoctorCodeDefThe production payments rule: signature-guarded routes without
STRIPE_WEBHOOK_SECRET.
auth_not_configured: DoctorCodeDefThe production auth rule: a module that must identify a caller, in a deployment that cannot.
sidecar_shadows_module: DoctorCodeDefA sidecar mount names a module compiled into this venture; the runtime ignores the mount.
sidecar_mount_invalid: DoctorCodeDefThe sidecar mount table could not be parsed.
module_self_check: DoctorCodeDefA module found a problem in its own embedded data — a catalog
missing a translation it declared, and anything else a module
reports from Module::self_check.
non_portable_sql: DoctorCodeDefA migration contains SQL outside the portable subset.
card_data_in_migration: DoctorCodeDefA migration contains card data (number, verification code or full expiry).
push_transport_misconfigured: DoctorCodeDefA push transport is half-wired, or its credentials were refused:
either way it routes nothing and every send to it reports
NotConfigured.
push_required_but_unrouted: DoctorCodeDefThe production push rule: modules that requires() the Push port
on a venture whose environment routes no transport at all.
module_unknown: DoctorCodeDefThe workflow commands (#140): fz add / fz init name a slug
the catalog does not carry.
not_deployed: DoctorCodeDeffz verify: no deployment is recorded for this manifest.
A production deploy without the explicit
--i-am-deploying-to-production consent flag.
stale_plan: DoctorCodeDeffz deploy --plan <digest>: the digest does not match a plan
recomputed from the current inputs.
composition_drift: DoctorCodeDeffz verify: the recorded deployment’s module set no longer
matches the manifest’s resolved composition.
config_drift: DoctorCodeDeffz verify: the recorded deployment’s config no longer matches
the manifest’s.
deploy_plan_required: DoctorCodeDeffz deploy was run without --plan <digest>: approval is the
point, so there is no default.
deploy_record_unreadable: DoctorCodeDefThe .harness-deploy.json record could not be read or parsed.
The plan removes modules from the served composition without the
explicit --i-am-removing-modules consent flag; they stop being
served and no data is deleted.
env_drift: DoctorCodeDeffz verify: the resolved deployment environment changed since
the recorded deployment.
manifest_drift: DoctorCodeDeffz verify: the recorded digest no longer matches a plan
recomputed now, and no narrower drift (composition, config, env)
explains it — the change is in the venture’s identity or seed.
manifest_exists: DoctorCodeDeffz init was pointed at a manifest that already exists, without
--force.
manifest_invalid: DoctorCodeDefA manifest parsed but does not resolve: empty name/host, a duplicate module, or a selection the catalog refuses.
manifest_unreadable: DoctorCodeDefThe venture manifest could not be read or parsed.
manifest_write_failed: DoctorCodeDefA manifest could not be written back to disk.
client_write_failed: DoctorCodeDeffz client-ts (issue #155): a generated file could not be written
to --out.
surface_action_unreadable: DoctorCodeDeffz client-ts: the tables module publishes an action outside the
five-verb vocabulary (list-/read-/create-/replace-/
delete-, then the table name) the generator reads.
surface_invalid: DoctorCodeDeffz client-ts: the document parsed as JSON but is not a
/__surface document.
surface_no_tables_module: DoctorCodeDeffz client-ts: the document declares no tables module, so there
is no contract to generate a client from.
surface_table_name_invalid: DoctorCodeDeffz client-ts: the tables module publishes a table whose name is
not a safe identifier, which the generator would interpolate into
the generated TypeScript.
surface_unreadable: DoctorCodeDeffz client-ts: the /__surface document could not be read, or is
not valid JSON.
surface_unsupported_contract: DoctorCodeDeffz client-ts: the document speaks a surface_api contract
version this generator does not read.
admin_token_too_short: DoctorCodeDefADMIN_TOKEN is set but shorter than the 32-byte floor
HarnessConfig::from_config enforces in every environment
(issue #437).
rate_limiter_not_effective: DoctorCodeDefThe production rate-limiter rule (issue #437): a venture with
public writes or admin routes on a runtime whose RateLimiter port
is not resolved, and no recorded acceptance.
hmac_webhook_secret_missing: DoctorCodeDefThe production webhook-secret rule (issue #533): a module that
verifies its signature routes with the core webhook_signature
HMAC scheme, in a deployment that has not set the secret key it
named.