# Quality: the seven tiers

`QualityTier` (semantic — code branches): Trash, Poor, Normal, Good,
Excellent, Masterwork, Legendary. `tables/quality_profiles.ron` carries
the default per-tier effects PER ITEM CLASS (weapon, armor, tool, lock,
good): `value_factor` for every class; attack/damage deltas for
weapons; AC delta for armor; work-multiplier for tools (the
hook); DC delta for locks.

- **The lock ladder **: DCs run 1 / 6 / 10 / 14 / 18 / 20 /
 24 (Trash..Legendary) — a trash lock is a lock in name only; DC 30
 remains enchantment's alone (the 0058 designer ruling stands).
 The lock grades collapse in by DC PROXIMITY, not ordinal: Simple =
 Normal (10, exact), Sturdy = Good (15→14), Fine = Masterwork (20,
 exact) — a fine lock took a master smith in 0058, so Masterwork is
 its honest tier, and migrated fine locks REIFY with provenance.
 Burglary calibration is conserved (largest shift: 1 DC).
- **Profile mapping **: weapons and armor take their
 profiles STRUCTURALLY (their own tables); a good referenced as a
 `tool:` anywhere derives "tool"; `quality_class` on a Good
 overrides where structure can't say (the lock); everything else is
 "good".
- **Overrides**: an item may embed `quality_overrides:
 Vec<TierEffects>` ONLY where it deviates from its class profile.
 Resolution rule: an override row REPLACES the class profile's row for
 that tier wholesale (no per-field merging). This is the contract's
 ONE `#[serde(default)]` field — it appears in data only when
 non-empty; no item needs it today.
- **Generation rule** (documented here; the engine lands it in 0066):
 quality derives from the CRAFT CHECK. The worker's tier BOUNDS
 reachable quality — an Apprentice caps at Good, a Journeyman at
 Excellent, Masterwork requires a Master, Legendary a Master plus a rare
 roll; a fumble mints Trash; the material's `quality_bias` LIFTS the
 check — better stock raises the odds of a better tier,
 and that is the ONLY door material effects enter by; effectiveness
 (attack, AC, work, DC) comes from the tier alone, never a second
 material modifier. `work_difficulty` extends labor and gates, never
 touching the roll. Price follows quality via `value_factor` —
 the lock rule "price follows DC", generalized.
