Skip to main content

Codes

Struct Codes 

Source
pub struct Codes {
Show 40 fields pub harness_api_mismatch: DoctorCodeDef, pub lockfile_unreadable: DoctorCodeDef, pub migration_not_collected: 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: DoctorCodeDef

A module was built against a different HARNESS_API than the core crate it linked against.

§lockfile_unreadable: DoctorCodeDef

The .harness-lock.json could not be read or parsed.

§migration_not_collected: DoctorCodeDef

A module migration has no locked file yet — run fz migrations collect first.

§locked_migration_missing: DoctorCodeDef

A locked migration’s file is missing from disk.

§locked_migration_edited: DoctorCodeDef

A locked migration’s file no longer matches its pinned sha256.

§captcha_not_effective: DoctorCodeDef

The production captcha rule: captcha-guarded public writes without an effectively configured Captcha port.

§payments_webhook_secret_missing: DoctorCodeDef

The production payments rule: signature-guarded routes without STRIPE_WEBHOOK_SECRET.

§auth_not_configured: DoctorCodeDef

The production auth rule: a module that must identify a caller, in a deployment that cannot.

§sidecar_shadows_module: DoctorCodeDef

A sidecar mount names a module compiled into this venture; the runtime ignores the mount.

§sidecar_mount_invalid: DoctorCodeDef

The sidecar mount table could not be parsed.

§module_self_check: DoctorCodeDef

A 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: DoctorCodeDef

A migration contains SQL outside the portable subset.

§card_data_in_migration: DoctorCodeDef

A migration contains card data (number, verification code or full expiry).

§push_transport_misconfigured: DoctorCodeDef

A 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: DoctorCodeDef

The production push rule: modules that requires() the Push port on a venture whose environment routes no transport at all.

§module_unknown: DoctorCodeDef

The workflow commands (#140): fz add / fz init name a slug the catalog does not carry.

§not_deployed: DoctorCodeDef

fz verify: no deployment is recorded for this manifest.

§production_deploy_unauthorized: DoctorCodeDef

A production deploy without the explicit --i-am-deploying-to-production consent flag.

§stale_plan: DoctorCodeDef

fz deploy --plan <digest>: the digest does not match a plan recomputed from the current inputs.

§composition_drift: DoctorCodeDef

fz verify: the recorded deployment’s module set no longer matches the manifest’s resolved composition.

§config_drift: DoctorCodeDef

fz verify: the recorded deployment’s config no longer matches the manifest’s.

§deploy_plan_required: DoctorCodeDef

fz deploy was run without --plan <digest>: approval is the point, so there is no default.

§deploy_record_unreadable: DoctorCodeDef

The .harness-deploy.json record could not be read or parsed.

§destructive_change_unauthorized: DoctorCodeDef

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: DoctorCodeDef

fz verify: the resolved deployment environment changed since the recorded deployment.

§manifest_drift: DoctorCodeDef

fz 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: DoctorCodeDef

fz init was pointed at a manifest that already exists, without --force.

§manifest_invalid: DoctorCodeDef

A manifest parsed but does not resolve: empty name/host, a duplicate module, or a selection the catalog refuses.

§manifest_unreadable: DoctorCodeDef

The venture manifest could not be read or parsed.

§manifest_write_failed: DoctorCodeDef

A manifest could not be written back to disk.

§client_write_failed: DoctorCodeDef

fz client-ts (issue #155): a generated file could not be written to --out.

§surface_action_unreadable: DoctorCodeDef

fz 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: DoctorCodeDef

fz client-ts: the document parsed as JSON but is not a /__surface document.

§surface_no_tables_module: DoctorCodeDef

fz client-ts: the document declares no tables module, so there is no contract to generate a client from.

§surface_table_name_invalid: DoctorCodeDef

fz 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: DoctorCodeDef

fz client-ts: the /__surface document could not be read, or is not valid JSON.

§surface_unsupported_contract: DoctorCodeDef

fz client-ts: the document speaks a surface_api contract version this generator does not read.

§admin_token_too_short: DoctorCodeDef

ADMIN_TOKEN is set but shorter than the 32-byte floor HarnessConfig::from_config enforces in every environment (issue #437).

§rate_limiter_not_effective: DoctorCodeDef

The 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: DoctorCodeDef

The 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.

Auto Trait Implementations§

§

impl Freeze for Codes

§

impl RefUnwindSafe for Codes

§

impl Send for Codes

§

impl Sync for Codes

§

impl Unpin for Codes

§

impl UnsafeUnpin for Codes

§

impl UnwindSafe for Codes

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more