Skip to content

Commit d28cc73

Browse files
os-zhuangclaude
andauthored
fix(spec): correct 9 field props mis-classified dead — they are objectui-live (#1947)
The liveness ledgers were seeded from the 2026-06 audits, whose RENDERER-side ("dead in both layers") verdicts turn out to be unreliable — the audit did not re-check the objectui repo (../objectui). Verifying directly against objectui shows 9 field props the ledger called `dead` are actually LIVE in the renderer: - externalId → apps/console/.../metadataConverters.ts:125 (reads field.externalId) - currencyConfig → packages/fields/src/index.tsx:469 (reads currencyConfig.defaultCurrency) - searchable → packages/plugin-dashboard/.../WidgetConfigPanel.tsx - inlineTitle / inlineColumns / inlineAmountField → app-shell MetadataProvider + plugin-form/deriveMasterDetail.ts - relatedList / relatedListTitle / relatedListColumns → app-shell RecordDetailView + utils/deriveRelatedLists.ts Pruning these (as the dead-surface plan proposed) would have broken detail-page / master-detail rendering. Reclassified dead→live with objectui evidence; gate green (field 43 live / 8 dead). IMPORTANT: liveness verification must include ../objectui, not just the framework runtime. The already-merged prune batches (#1945 display configs, #1946 governance) were re-verified against objectui and confirmed renderer-dead — safe. Further pruning is paused until the other ledgers + the disposition plan are re-verified against objectui. Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent 1b1f490 commit d28cc73

2 files changed

Lines changed: 31 additions & 18 deletions

File tree

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
---
2+
---
3+
4+
fix(spec): correct 9 field liveness classifications that were wrongly marked `dead`. They are LIVE via objectui renderers (verified against ../objectui): `externalId`, `currencyConfig`, `searchable`, and the master-detail/related-list overrides `inlineTitle`/`inlineColumns`/`inlineAmountField`/`relatedList`/`relatedListTitle`/`relatedListColumns`. The 2026-06 liveness audit's renderer-side verdicts were unreliable (objectui not re-checked); pruning these would have broken detail-page rendering. Ledger/process now include objectui. No prune.

packages/spec/liveness/field.json

Lines changed: 27 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -161,20 +161,23 @@
161161
"note": "DANGEROUS — advertises custom physical columns the driver never honors."
162162
},
163163
"searchable": {
164-
"status": "dead",
165-
"evidence": "field-level — no DDL/query consumer; search is object-level / view searchableFields"
164+
"status": "live",
165+
"evidence": "objectui: packages/plugin-dashboard/src/WidgetConfigPanel.tsx:458",
166+
"note": "LIVE via objectui renderer — the 2026-06 audit mis-classified as dead (renderer side not re-verified). Corrected after checking ../objectui."
166167
},
167168
"index": {
168169
"status": "dead",
169170
"evidence": "field-level — driver reads object indexes[] (sql-driver.ts:1252); field bool unused"
170171
},
171172
"externalId": {
172-
"status": "dead",
173-
"evidence": "field-level — upsert keys off dataset-level externalId (seed-loader.ts:175)"
173+
"status": "live",
174+
"evidence": "objectui: apps/console/src/utils/metadataConverters.ts:125 reads field.externalId",
175+
"note": "LIVE via objectui renderer — the 2026-06 audit mis-classified as dead (renderer side not re-verified). Corrected after checking ../objectui."
174176
},
175177
"currencyConfig": {
176-
"status": "dead",
177-
"evidence": "nested config — renderers read flat currency/precision (CurrencyField.tsx:40); no currencyConfig consumer"
178+
"status": "live",
179+
"evidence": "objectui: packages/fields/src/index.tsx:469 reads currencyConfig.defaultCurrency",
180+
"note": "LIVE via objectui renderer — the 2026-06 audit mis-classified as dead (renderer side not re-verified). Corrected after checking ../objectui."
178181
},
179182
"vectorConfig": {
180183
"status": "dead",
@@ -193,28 +196,34 @@
193196
"evidence": "no consumer"
194197
},
195198
"inlineTitle": {
196-
"status": "dead",
197-
"evidence": "master-detail explicit override — auto-derivation works (deriveMasterDetail.ts); overrides unread"
199+
"status": "live",
200+
"evidence": "objectui: packages/app-shell/src/providers/MetadataProvider.tsx + plugin-form/deriveMasterDetail.ts",
201+
"note": "LIVE via objectui renderer — the 2026-06 audit mis-classified as dead (renderer side not re-verified). Corrected after checking ../objectui."
198202
},
199203
"inlineColumns": {
200-
"status": "dead",
201-
"evidence": "master-detail explicit override — unread"
204+
"status": "live",
205+
"evidence": "objectui: packages/plugin-form/src/deriveMasterDetail.ts + app-shell/MetadataProvider.tsx",
206+
"note": "LIVE via objectui renderer — the 2026-06 audit mis-classified as dead (renderer side not re-verified). Corrected after checking ../objectui."
202207
},
203208
"inlineAmountField": {
204-
"status": "dead",
205-
"evidence": "master-detail explicit override — unread"
209+
"status": "live",
210+
"evidence": "objectui: packages/app-shell/src/providers/MetadataProvider.tsx",
211+
"note": "LIVE via objectui renderer — the 2026-06 audit mis-classified as dead (renderer side not re-verified). Corrected after checking ../objectui."
206212
},
207213
"relatedList": {
208-
"status": "dead",
209-
"evidence": "detail-page related lists come from view metadata, not FieldSchema"
214+
"status": "live",
215+
"evidence": "objectui: packages/app-shell/src/views/RecordDetailView.tsx + utils/deriveRelatedLists.ts",
216+
"note": "LIVE via objectui renderer — the 2026-06 audit mis-classified as dead (renderer side not re-verified). Corrected after checking ../objectui."
210217
},
211218
"relatedListTitle": {
212-
"status": "dead",
213-
"evidence": "master-detail explicit override — unread"
219+
"status": "live",
220+
"evidence": "objectui: packages/app-shell/src/views/RecordDetailView.tsx + utils/deriveRelatedLists.ts",
221+
"note": "LIVE via objectui renderer — the 2026-06 audit mis-classified as dead (renderer side not re-verified). Corrected after checking ../objectui."
214222
},
215223
"relatedListColumns": {
216-
"status": "dead",
217-
"evidence": "master-detail explicit override — unread"
224+
"status": "live",
225+
"evidence": "objectui: packages/app-shell/src/utils/deriveRelatedLists.ts + views/RecordDetailView.tsx",
226+
"note": "LIVE via objectui renderer — the 2026-06 audit mis-classified as dead (renderer side not re-verified). Corrected after checking ../objectui."
218227
}
219228
}
220229
}

0 commit comments

Comments
 (0)