# Wahat Al Rihan — catalogue export for website rebuild

Exported 2026-09-10 directly from the production engineering pipeline and the
product database. Nothing here is marketing copy; every field is read from a
real record. Use this instead of inventing catalogue entries.

---

## Files

### `catalogue-photo-traced-48-CLASS-A.json` — 48 records

The **highest-evidence designs in the entire library**. These are the only
designs where the finite-element analysis was performed on geometry traced
from the corresponding design image, so the analysed geometry has a
documented relationship to the pictured design.

- All 48 have a real Gmsh + CalculiX linear-static solve
- All 48 matched to a real product record with a real photograph
- **All 48 are currently `is_active: false`** — they exist but are not on the
  live website. Activating a curated selection is what would make a
  "photo-traced FEA" badge real rather than aspirational.
- Price range: ~276–1,399 OMR. Types include dining tables, coffee tables,
  side tables, writing desks, vases, table lamps, one bronze sculpture.

Key fields per record:

| Field | Meaning |
|---|---|
| `furniture_id` | Internal engineering ID (102046–102167 range) |
| `record_file` | The source tech_doc filename on the pipeline |
| `product_name` | Name in the engineering record |
| `dimensions` | Real recorded dimensions |
| `materials` | `primary` + `finish` — SEE MATERIAL WARNING BELOW |
| `manufacturing` | Joinery/construction — SEE MATERIAL WARNING BELOW |
| `mass_kg` | Mass used in the structural calculation |
| `bill_of_materials` | Present on only a minority of records; where present it frequently does NOT reconcile with `mass_kg` |
| `structural_validation` | Recorded stability / slenderness / buckling figures |
| `fea.solver_method` | Always `gmsh_calculix_linear_static_photo_traced` in this file |
| `fea.n_nodes` | Real mesh node count (3,410–44,553 across this set) |
| `fea.solve_seconds` | Real solve duration |
| `fea.max_vm_mpa` | Peak von Mises stress calculated |
| `fea.loads_recorded` | **Always `false`** — see limitation below |
| `fea.boundary_conditions_recorded` | **Always `false`** |
| `fea.material_properties_recorded` | **Always `false`** |
| `cad_model_path` | Path if a CAD file exists; usually null |
| `catalogue_product` | Matched database product: id, slug, price, currency, `is_active`, `image_url` |

### `catalogue-live-39-classified.json` — 39 records

Exactly what is on the live website right now, with an evidence class
attached to each. The website uses a hardcoded array — it does not query the
product database.

Distribution:

| Class | Count | Meaning |
|---|---|---|
| `A` | **0** | No design currently on the site is photo-traced |
| `B` | 16 | Has a `report_file` pointing to a real tech_doc with a real FEA solve |
| `B_UNTRACEABLE` | 18 | The site displays FEA-style figures (slenderness, span ratio, stability, mass, Euler load) with **no source record at all** |
| `C` | 5 | No engineering figures shown |

The 18 `B_UNTRACEABLE` records are the most immediately problematic: the site
publishes engineering-looking numbers for them that cannot be traced to any
file in the pipeline.

---

## The central limitation — applies to every FEA record in the library

The solves are **real**. Across 1,084 solved records the pipeline shows 1,054
distinct mesh node counts (3,410–58,484), solve times from 0.9s to 262.9s and
132 distinct peak-stress values. That variance cannot be produced by a
template — Gmsh genuinely meshed distinct geometries and CalculiX genuinely
ran.

**But not one record preserves the applied loads, the boundary conditions, or
the material properties.** A stress figure is therefore not independently
reproducible or reviewable by a licensee's engineer from the record alone.

Consequences for wording:

- "A finite-element solve was performed" — **supportable**
- "FEA verified" / "structurally validated" / "safety factor 2.0–2.5" —
  **not supportable**
- Any wording implying physical testing — **not supportable**; there is zero
  physical load testing anywhere in the library

---

## Material / finish / joinery warning

Do not present these as design-specific engineering specifications.

- 720 of 1,906 records contain the literal placeholder string `"per design"`
  as both material and finish
- 435 records share `"Solid Hardwood"` + `"Danish Oil"`
- Joinery has **exactly one distinct value across the entire corpus** —
  `"Mortise & tenon"`, on 331 records

Safe framing: *"Reference specification — not design-specific; final material
and joinery established during manufacturer development."*

---

## Standards

853 records carry a hardcoded `compliance: ["BIFMA X5.1", "EN 1730",
"BS EN 12520", "GSO"]` array and a hardcoded `factor_of_safety: "2.0-2.5"`
field. Neither is a computed or evaluated result. There is no evidence of
evaluation against any of those standards' loading protocols.

Standards may be referenced as engineering frameworks. They must never be
presented as certification, compliance, approval or affiliation.

---

## The company's own pipeline already says this

393 tech_docs contain this line, written by the generator itself:

> "Preliminary automated structural calculation. Recommend independent
> engineering review and physical prototype testing before production."

It has never appeared on the public website.
