Skip to content

L1: sys_metadata_activation platform object — the activation ledger (ADR-0126 §4) #12155

Description

@os-support-ai

Part of #12150 (Epic: ADR-0126 implementation, v17 line — ships as a 17.x minor, maintainer-ruled). Cut on maintainer instruction 2026-08-25 「现在可以创建相关的子issue吗?」 by PM session session_01KWRU3s15AJz7PGW7a7wdCh. Contract: ADR-0126 §4 (merged 28b47a93) — consume, do not re-litigate.

Deliverable

Declare the platform object sys_metadata_activation in packages/platform-objects, beside its data-plane siblings (sys_metadata_history, sys_automation_run, sys_flow_dispatch). ⛔ Zero packages/spec surface — it is an ordinary platform object, not a metadata type.

Columns, exactly (§4): metadata_type (string) · name (string) · package_id (string) · organization_id (string, nullable — reserved, always NULL in this line) · active (boolean). ⛔ No replaced_by, no cloned_from — amendment ruling 2 removed designation linkage; do not re-add.

Uniqueness: one row per (metadata_type, name, organization_id NULL-collapsed). Absence of a row = packaged default = active.

Acceptance

  • Object declared with the five columns and the uniqueness rule; pin test on the schema identity (columns by name, so drift is loud).
  • An empty ledger changes nothing anywhere — no runtime consults it yet (consumers arrive in the sibling legs); prove no behavior change on a stock boot.
  • No packages/spec diff in the PR.

Refs: ADR-0126 §4 · #11513 (sys_permission_set.active row-state precedent, #4669 carve-out) · #12049 (survey)

Metadata

Metadata

Assignees

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions