root
8475912083
feat(data-quality): fill Flexoptix vendor_compat (coding matrix) from family templates
...
Investigated the coding-matrix gap per Rene: vendor_compat is NOT derived
per-SKU from fx_compatibilities (found rows with vendor_compat fully populated
but fx_compatibilities empty, and vice versa -- zero correlation). It is a
shared OEM-coding-pattern reference template keyed by (speed_gbps,
form_factor): only 11 distinct templates exist across the whole Flexoptix
catalog, essentially 1:1 with family (one ambiguous exception, 100G/SFP,
deliberately excluded). Backfilled 2,587 rows from sibling templates (fill-only,
skips any family with 0 or >1 distinct templates). Flexoptix >=100G coding gap
dropped from 192 to 25 missing. New trigger (trg_fill_vendor_compat_from_family)
keeps this self-healing: every future Flexoptix product inherits its family
template automatically once speed_gbps+form_factor are known (after detail
sync), instead of needing another one-off backfill.
Deliberately NOT extended to competitor products in this pass -- needs a
separate, more careful evaluation of what this data actually represents for
non-Flexoptix parts before propagating via equivalence.
2026-07-17 23:04:53 +00:00
..
2026-03-27 16:27:31 +13:00
2026-03-27 16:27:31 +13:00
2026-03-27 16:27:31 +13:00
2026-03-27 16:27:31 +13:00
2026-03-28 00:22:01 +13:00
2026-03-29 02:26:45 +08:00
2026-03-29 02:26:45 +08:00
2026-03-29 02:26:45 +08:00
2026-03-29 02:26:45 +08:00
2026-03-29 02:26:45 +08:00
2026-07-07 12:06:07 +02:00
2026-03-30 08:07:12 +02:00
2026-03-31 08:51:22 +02:00
2026-03-31 08:51:22 +02:00
2026-03-31 09:12:37 +02:00
2026-03-31 09:12:37 +02:00
2026-04-04 15:41:57 +02:00
2026-04-01 21:26:13 +02:00
2026-04-01 22:04:33 +02:00
2026-04-01 22:46:27 +02:00
2026-04-01 23:16:50 +02:00
2026-04-02 02:02:44 +02:00
2026-04-04 08:15:32 +02:00
2026-04-04 08:30:27 +02:00
2026-04-05 11:51:07 +02:00
2026-04-04 15:41:57 +02:00
2026-04-06 02:22:00 +02:00
2026-04-06 02:22:00 +02:00
2026-04-17 22:54:40 +02:00
2026-04-09 20:29:46 +02:00
2026-04-09 20:29:46 +02:00
2026-04-09 09:09:23 +02:00
2026-04-09 20:29:46 +02:00
2026-04-09 20:34:27 +02:00
2026-04-17 10:45:59 +02:00
2026-04-17 10:45:59 +02:00
2026-04-17 10:45:59 +02:00
2026-04-17 22:54:40 +02:00
2026-04-17 22:54:40 +02:00
2026-04-18 00:09:08 +02:00
2026-04-20 23:16:52 +02:00
2026-04-20 22:56:53 +02:00
2026-04-20 23:17:41 +02:00
2026-04-20 23:23:23 +02:00
2026-04-20 23:31:36 +02:00
2026-04-21 00:41:31 +02:00
2026-04-21 07:07:24 +02:00
2026-04-21 08:11:57 +02:00
2026-04-21 07:57:55 +02:00
2026-04-21 07:57:55 +02:00
2026-04-21 07:57:55 +02:00
2026-04-21 08:11:57 +02:00
2026-04-21 08:42:14 +02:00
2026-04-21 08:42:14 +02:00
2026-04-21 08:42:14 +02:00
2026-04-21 08:42:14 +02:00
2026-04-21 09:48:30 +02:00
2026-04-21 09:50:46 +02:00
2026-04-21 09:55:22 +02:00
2026-04-21 09:55:22 +02:00
2026-04-21 09:55:22 +02:00
2026-04-21 09:56:11 +02:00
2026-04-21 10:10:32 +02:00
2026-04-21 10:10:32 +02:00
2026-04-21 10:16:51 +02:00
2026-04-21 10:18:51 +02:00
2026-04-21 11:34:38 +02:00
2026-04-21 11:34:38 +02:00
2026-04-21 11:34:38 +02:00
2026-04-21 11:34:38 +02:00
2026-04-21 11:34:38 +02:00
2026-04-21 11:34:38 +02:00
2026-04-21 11:34:38 +02:00
2026-04-21 11:34:38 +02:00
2026-04-21 14:30:42 +02:00
2026-04-21 14:30:42 +02:00
2026-04-21 14:49:29 +02:00
2026-04-21 14:49:29 +02:00
2026-04-21 14:49:29 +02:00
2026-04-21 15:01:39 +02:00
2026-04-21 15:01:39 +02:00
2026-04-21 16:00:36 +02:00
2026-04-21 16:00:36 +02:00
2026-04-21 21:20:47 +02:00
2026-04-21 21:20:47 +02:00
2026-04-21 21:20:47 +02:00
2026-04-21 22:03:08 +02:00
2026-04-21 22:13:54 +02:00
2026-04-21 22:20:19 +02:00
2026-04-21 22:23:13 +02:00
2026-04-21 22:39:06 +02:00
2026-04-21 23:02:25 +02:00
2026-04-21 23:09:46 +02:00
2026-04-25 07:48:57 +02:00
2026-04-25 07:51:15 +02:00
2026-04-25 13:38:11 +02:00
2026-04-25 08:55:21 +02:00
2026-04-25 08:55:21 +02:00
2026-04-25 16:37:16 +02:00
2026-04-25 13:38:11 +02:00
2026-04-25 17:44:20 +02:00
2026-04-25 20:58:45 +02:00
2026-04-25 20:58:45 +02:00
2026-05-13 16:36:33 +02:00
2026-05-09 23:06:21 +02:00
2026-05-10 00:03:42 +02:00
2026-05-10 01:16:49 +02:00
2026-05-10 10:13:09 +02:00
2026-05-10 10:23:07 +02:00
2026-05-13 16:55:45 +02:00
2026-05-13 16:55:45 +02:00
2026-05-13 17:35:42 +02:00
2026-05-13 17:38:43 +02:00
2026-05-13 17:35:42 +02:00
2026-05-13 17:59:08 +02:00
2026-05-13 17:59:08 +02:00
2026-05-13 18:49:28 +02:00
2026-05-13 21:33:19 +02:00
2026-05-13 21:33:19 +02:00
2026-05-14 00:24:58 +02:00
2026-07-04 16:05:28 +00:00
2026-07-04 16:05:28 +00:00
2026-07-04 16:05:28 +00:00
2026-07-04 22:37:05 +02:00
2026-07-06 05:43:17 +00:00
2026-07-06 05:49:39 +00:00
2026-07-06 06:48:16 +00:00
2026-07-06 06:58:25 +00:00
2026-07-06 07:47:00 +00:00
2026-07-06 09:27:26 +00:00
2026-07-06 11:38:19 +02:00
2026-07-06 19:45:13 +00:00
2026-07-07 12:15:43 +00:00
2026-07-07 12:15:43 +00:00
2026-07-07 12:15:43 +00:00
2026-07-08 08:43:19 +02:00
2026-07-10 23:45:59 +00:00
2026-07-11 00:57:44 +02:00
2026-07-11 00:57:44 +02:00
2026-07-11 00:57:44 +02:00
2026-07-12 16:14:38 +00:00
2026-07-17 19:58:13 +00:00
2026-07-17 20:18:09 +00:00
2026-07-17 20:21:09 +00:00
2026-07-17 20:56:42 +00:00
2026-07-17 23:04:53 +00:00