busya
0a445fb170
feat(041): lineage frontend blast-radius + deprecation + opt-in rationale (T045-T048)
Close the 041 frontend/opt-in gaps found in the audit: no /lineage UI existed
and lineage_index stayed opt-in without documented rationale.
T045 - bind the existing Datasets.LineagePanel (T031) onto /datasets/[id]
(blast-radius dependents + stale_index notice); deleted my transient
duplicate to respect component reuse.
T046 - DatasetsLineageModel.markDeprecated()/recordMigration() + LineagePanel
deprecation lifecycle section (grace window, successor, migration uuid);
consumes existing api/lineage.ts + lineage.json i18n keys.
T047 - DatasetsLineageModel.loadFleetReport() for fan-out fleet report.
T048 - config_models.py: lineage_index_enabled default stays FALSE with an
explicit rationale (post-sync Superset detail-call cost; flip after live
indexer stability proof); consumers treat disabled index as empty read-model.
Verification: lineage + api vitest = 236 passed; vite build OK; eslint clean
for changed code (pre-existing ruff/require-each-key warnings untouched).
2026-08-07 15:27:24 +07:00
..
2026-05-25 08:36:33 +03:00
2026-08-07 14:21:25 +07:00
2026-05-17 14:18:02 +03:00
2026-08-07 15:27:24 +07:00
2026-08-07 14:21:25 +07:00
2026-05-26 19:18:28 +03:00
2026-05-26 19:18:28 +03:00
2026-07-21 18:59:26 +03:00
2026-07-21 18:59:26 +03:00
2026-07-21 18:59:26 +03:00
2026-07-06 21:00:28 +03:00
2026-07-08 11:10:59 +03:00
2026-06-01 16:34:07 +03:00
2026-07-06 01:22:39 +03:00
2026-07-06 01:22:39 +03:00
2026-07-06 15:49:48 +03:00
2026-07-31 11:28:50 +03:00
2026-07-06 10:06:07 +03:00
2026-07-07 15:18:24 +03:00
2026-05-20 23:54:53 +03:00
2026-05-14 11:20:17 +03:00