Skip to content

Commit 41dbe79

Browse files
committed
chore(spec,platform-objects): ADR-0087 entry, regenerated registry, bundles and census for the sys_view_definition retirement
The semantic entry sys-view-definition-retired and its step-18 rationale fragment; registry.ts regenerated by gen:migration-registry; the platform translation bundles regenerated by pnpm i18n:extract; the tenancy census regenerated by its own --write (registered 84 -> 83, in reach 49 -> 48); the changeset. Claude-Session: https://claude.ai/code/session_01EUBvqtauTDmHi2ZgY759p2 Co-authored-by: Claude <noreply@anthropic.com>
1 parent 0761750 commit 41dbe79

11 files changed

Lines changed: 158 additions & 304 deletions
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
---
2+
'@objectstack/metadata-core': minor
3+
'@objectstack/metadata-protocol': minor
4+
'@objectstack/metadata': minor
5+
'@objectstack/platform-objects': minor
6+
'@objectstack/spec': minor
7+
---
8+
9+
feat(metadata-core,metadata-protocol,metadata,platform-objects,spec)!: `sys_view_definition` retires as inert (ADR-0131 D13)
10+
11+
Clause-②: no (narrowing)
12+
13+
<!-- adr-0087: registered sys-view-definition-retired -->
14+
15+
**BREAKING**, graded `minor` on the v18 prerelease line: Changesets is in pre mode with the tag `next`, and the fixed group is already majored by the line's opening marker, so this ships in an `18.0.0-next.N` like every other stage.
16+
17+
`sys_view_definition` was declared for runtime-authored shared and personal views (ADR-0017) and never used for them: no framework code writes or reads its rows, and the Studio console's view doors write the ADR-0005 `view` overlay in `sys_metadata` through the metadata API. ADR-0131 D13 retires it. A runtime-authored view is a `view` metadata item, written through `PUT /api/v1/meta/view/<name>` (the client's `meta.saveItem` for type `view`); nothing about that path changes.
18+
19+
**What moves for consumers.**
20+
21+
- **The object.** FROM `import { SysViewDefinitionObject } from '@objectstack/metadata-core'` (or from `@objectstack/platform-objects`, or its `/metadata` subpath) TO nothing: delete the import. Neither `MetadataPlugin` nor the metadata protocol assembly registers the object any more, so the generic data door no longer serves it.
22+
- **The migration exports** of `@objectstack/metadata-protocol`. FROM `ensureViewDefinitionActiveIndex`, `resolveIndexExec`, `buildActiveIndexSql`, `VIEW_DEFINITION_TABLE`, `VIEW_ACTIVE_INDEX_NAME`, `VIEW_ACTIVE_PROBE_INDEX_NAME`, `VIEW_ACTIVE_INDEX_COLUMNS`, `EnsureViewIndexLogger`, `EnsureViewIndexStatus` and `EnsureViewIndexResult` TO nothing: delete the import. `classifyIndexFailure` and the `IndexExec` type are still exported, unchanged, from the shared index-migration module.
23+
- **The name.** `PLATFORM_OBJECTS_BY_PACKAGE['metadata-core']` (`@objectstack/spec/system`) lists four objects, and `isPlatformProvidedObjectName` answers `false` for `sys_view_definition`. A stack that names it (a lookup target, a flow trigger, a permission entry, a platform-global declaration) is now flagged as naming an unknown object: remove the reference.
24+
- **`os migrate duplicates`.** `runtimeIndexPreflight` carries three entries (the two `sys_metadata` overlay indexes and `sys_setting`'s row identity), with no `idx_sys_view_def_active` entry. A serving boot no longer runs the active-row index migration for the table, and no longer logs its `sys_view_definition active-row index` lines.
25+
- **Translations.** The platform translation bundles no longer carry `sys_view_definition` keys.
26+
27+
**Existing databases.** Schema sync is additive and never drops a table, so a database an earlier release provisioned keeps `sys_view_definition`, with any rows a caller wrote through the generic data door; nothing reads them. `os migrate apply --allow-destructive` does not drop it either, because it reconciles declared objects only (measured on one database: it dropped an orphaned column of a declared table and left this table and its row in place). On a project with a host config, `os migrate plan` lists it among the platform-prefixed tables nothing declares. Export any row worth keeping; dropping the table is the operator's call, by hand: `DROP TABLE sys_view_definition`.

‎packages/platform-objects/src/apps/translations/en.objects.generated.ts‎

Lines changed: 0 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -3093,79 +3093,6 @@ export const enObjects: NonNullable<TranslationData['objects']> = {
30933093
}
30943094
}
30953095
},
3096-
sys_view_definition: {
3097-
label: "View Definition",
3098-
pluralLabel: "View Definitions",
3099-
description: "Runtime-authored view definitions (shared / personal layers). The package layer ships from source.",
3100-
fields: {
3101-
id: {
3102-
label: "ID"
3103-
},
3104-
name: {
3105-
label: "Name"
3106-
},
3107-
object: {
3108-
label: "Object"
3109-
},
3110-
view_kind: {
3111-
label: "View Kind",
3112-
options: {
3113-
list: "list",
3114-
form: "form"
3115-
}
3116-
},
3117-
label: {
3118-
label: "Label"
3119-
},
3120-
is_default: {
3121-
label: "Is Default"
3122-
},
3123-
view_order: {
3124-
label: "Order"
3125-
},
3126-
scope: {
3127-
label: "Scope",
3128-
options: {
3129-
shared: "shared",
3130-
personal: "personal"
3131-
}
3132-
},
3133-
owner: {
3134-
label: "Owner"
3135-
},
3136-
hidden: {
3137-
label: "Hidden"
3138-
},
3139-
config: {
3140-
label: "Config",
3141-
help: "ListView or FormView configuration (matches spec ViewItem.config)."
3142-
},
3143-
organization_id: {
3144-
label: "Organization",
3145-
help: "Organization for multi-tenant isolation."
3146-
},
3147-
state: {
3148-
label: "State",
3149-
options: {
3150-
draft: "draft",
3151-
active: "active",
3152-
archived: "archived"
3153-
}
3154-
},
3155-
created_by: {
3156-
label: "Created By"
3157-
},
3158-
created_at: {
3159-
label: "Created At"
3160-
},
3161-
updated_by: {
3162-
label: "Updated By"
3163-
},
3164-
updated_at: {
3165-
label: "Updated At"
3166-
}
3167-
}
3168-
},
31693096
sys_metadata_audit: {
31703097
label: "Metadata Audit",
31713098
pluralLabel: "Metadata Audit",

‎packages/platform-objects/src/apps/translations/es-ES.objects.generated.ts‎

Lines changed: 0 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -3093,79 +3093,6 @@ export const esESObjects: NonNullable<TranslationData['objects']> = {
30933093
}
30943094
}
30953095
},
3096-
sys_view_definition: {
3097-
label: "Definición de vista",
3098-
pluralLabel: "Definiciones de vista",
3099-
description: "Definiciones de vista creadas en tiempo de ejecución (capas compartida / personal). La capa de paquete se distribuye desde el código fuente.",
3100-
fields: {
3101-
id: {
3102-
label: "ID"
3103-
},
3104-
name: {
3105-
label: "Nombre"
3106-
},
3107-
object: {
3108-
label: "Objeto"
3109-
},
3110-
view_kind: {
3111-
label: "Tipo de vista",
3112-
options: {
3113-
list: "Lista",
3114-
form: "Formulario"
3115-
}
3116-
},
3117-
label: {
3118-
label: "Etiqueta"
3119-
},
3120-
is_default: {
3121-
label: "Es predeterminada"
3122-
},
3123-
view_order: {
3124-
label: "Orden"
3125-
},
3126-
scope: {
3127-
label: "Ámbito",
3128-
options: {
3129-
shared: "Compartida",
3130-
personal: "Personal"
3131-
}
3132-
},
3133-
owner: {
3134-
label: "Propietario"
3135-
},
3136-
hidden: {
3137-
label: "Oculta"
3138-
},
3139-
config: {
3140-
label: "Configuración",
3141-
help: "Configuración de ListView o FormView (coincide con ViewItem.config de la especificación)."
3142-
},
3143-
organization_id: {
3144-
label: "Organización",
3145-
help: "Organización para el aislamiento multiinquilino."
3146-
},
3147-
state: {
3148-
label: "Estado",
3149-
options: {
3150-
draft: "Borrador",
3151-
active: "Activa",
3152-
archived: "Archivada"
3153-
}
3154-
},
3155-
created_by: {
3156-
label: "Creado por"
3157-
},
3158-
created_at: {
3159-
label: "Creado el"
3160-
},
3161-
updated_by: {
3162-
label: "Actualizado por"
3163-
},
3164-
updated_at: {
3165-
label: "Actualizado el"
3166-
}
3167-
}
3168-
},
31693096
sys_metadata_audit: {
31703097
label: "Auditoría de metadatos",
31713098
pluralLabel: "Auditoría de metadatos",

‎packages/platform-objects/src/apps/translations/es-ES.source-hashes.generated.ts‎

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,5 +63,4 @@ export const esESGeneratedSourceHashes: Readonly<Record<string, string>> = {
6363
"objects.sys_sso_provider._actions.register_sso_provider.params.mapName.placeholder": "a484c34aaf624bd6",
6464
"objects.sys_sso_provider._actions.register_sso_provider.params.scopes.placeholder": "58ac90cde28c764d",
6565
"objects.sys_sso_provider.fields.id.label": "00b0385c9c152888",
66-
"objects.sys_view_definition.fields.id.label": "00b0385c9c152888",
6766
};

‎packages/platform-objects/src/apps/translations/ja-JP.objects.generated.ts‎

Lines changed: 0 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -3093,79 +3093,6 @@ export const jaJPObjects: NonNullable<TranslationData['objects']> = {
30933093
}
30943094
}
30953095
},
3096-
sys_view_definition: {
3097-
label: "ビュー定義",
3098-
pluralLabel: "ビュー定義",
3099-
description: "実行時に作成されたビュー定義(共有/個人レイヤー)。パッケージレイヤーはソースから提供されます。",
3100-
fields: {
3101-
id: {
3102-
label: "ID"
3103-
},
3104-
name: {
3105-
label: "名前"
3106-
},
3107-
object: {
3108-
label: "オブジェクト"
3109-
},
3110-
view_kind: {
3111-
label: "ビュー種別",
3112-
options: {
3113-
list: "リスト",
3114-
form: "フォーム"
3115-
}
3116-
},
3117-
label: {
3118-
label: "ラベル"
3119-
},
3120-
is_default: {
3121-
label: "デフォルト"
3122-
},
3123-
view_order: {
3124-
label: "並び順"
3125-
},
3126-
scope: {
3127-
label: "スコープ",
3128-
options: {
3129-
shared: "共有",
3130-
personal: "個人"
3131-
}
3132-
},
3133-
owner: {
3134-
label: "所有者"
3135-
},
3136-
hidden: {
3137-
label: "非表示"
3138-
},
3139-
config: {
3140-
label: "構成",
3141-
help: "ListView または FormView の構成(仕様の ViewItem.config に対応)。"
3142-
},
3143-
organization_id: {
3144-
label: "組織",
3145-
help: "マルチテナント分離のための組織。"
3146-
},
3147-
state: {
3148-
label: "状態",
3149-
options: {
3150-
draft: "下書き",
3151-
active: "有効",
3152-
archived: "アーカイブ済み"
3153-
}
3154-
},
3155-
created_by: {
3156-
label: "作成者"
3157-
},
3158-
created_at: {
3159-
label: "作成日時"
3160-
},
3161-
updated_by: {
3162-
label: "更新者"
3163-
},
3164-
updated_at: {
3165-
label: "更新日時"
3166-
}
3167-
}
3168-
},
31693096
sys_metadata_audit: {
31703097
label: "メタデータ監査",
31713098
pluralLabel: "メタデータ監査",

‎packages/platform-objects/src/apps/translations/ja-JP.source-hashes.generated.ts‎

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,5 +53,4 @@ export const jaJPGeneratedSourceHashes: Readonly<Record<string, string>> = {
5353
"objects.sys_sso_provider._actions.register_sso_provider.params.mapName.placeholder": "a484c34aaf624bd6",
5454
"objects.sys_sso_provider._actions.register_sso_provider.params.scopes.placeholder": "58ac90cde28c764d",
5555
"objects.sys_sso_provider.fields.id.label": "00b0385c9c152888",
56-
"objects.sys_view_definition.fields.id.label": "00b0385c9c152888",
5756
};

‎packages/platform-objects/src/apps/translations/zh-CN.objects.generated.ts‎

Lines changed: 0 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -3093,79 +3093,6 @@ export const zhCNObjects: NonNullable<TranslationData['objects']> = {
30933093
}
30943094
}
30953095
},
3096-
sys_view_definition: {
3097-
label: "视图定义",
3098-
pluralLabel: "视图定义",
3099-
description: "运行时创建的视图定义(共享/个人层)。软件包层由源代码提供。",
3100-
fields: {
3101-
id: {
3102-
label: "ID"
3103-
},
3104-
name: {
3105-
label: "名称"
3106-
},
3107-
object: {
3108-
label: "对象"
3109-
},
3110-
view_kind: {
3111-
label: "视图类型",
3112-
options: {
3113-
list: "列表",
3114-
form: "表单"
3115-
}
3116-
},
3117-
label: {
3118-
label: "标签"
3119-
},
3120-
is_default: {
3121-
label: "默认视图"
3122-
},
3123-
view_order: {
3124-
label: "排序"
3125-
},
3126-
scope: {
3127-
label: "范围",
3128-
options: {
3129-
shared: "共享",
3130-
personal: "个人"
3131-
}
3132-
},
3133-
owner: {
3134-
label: "所有者"
3135-
},
3136-
hidden: {
3137-
label: "隐藏"
3138-
},
3139-
config: {
3140-
label: "配置",
3141-
help: "ListView 或 FormView 配置(与规范 ViewItem.config 一致)。"
3142-
},
3143-
organization_id: {
3144-
label: "组织",
3145-
help: "用于多租户隔离的组织。"
3146-
},
3147-
state: {
3148-
label: "状态",
3149-
options: {
3150-
draft: "草稿",
3151-
active: "活动",
3152-
archived: "已归档"
3153-
}
3154-
},
3155-
created_by: {
3156-
label: "创建人"
3157-
},
3158-
created_at: {
3159-
label: "创建时间"
3160-
},
3161-
updated_by: {
3162-
label: "更新人"
3163-
},
3164-
updated_at: {
3165-
label: "更新时间"
3166-
}
3167-
}
3168-
},
31693096
sys_metadata_audit: {
31703097
label: "元数据审计",
31713098
pluralLabel: "元数据审计",

‎packages/platform-objects/src/apps/translations/zh-CN.source-hashes.generated.ts‎

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,5 +52,4 @@ export const zhCNGeneratedSourceHashes: Readonly<Record<string, string>> = {
5252
"objects.sys_sso_provider._actions.register_sso_provider.params.mapName.placeholder": "a484c34aaf624bd6",
5353
"objects.sys_sso_provider._actions.register_sso_provider.params.scopes.placeholder": "58ac90cde28c764d",
5454
"objects.sys_sso_provider.fields.id.label": "00b0385c9c152888",
55-
"objects.sys_view_definition.fields.id.label": "00b0385c9c152888",
5655
};

0 commit comments

Comments
 (0)