Skip to content

audit-log (C): retire export / import / permission_change from the sys_audit_log action enum and its in-repo consumer surfaces (ADR-0087 registration) #8147

Description

@hotlong

Sub-issue C of #7675, split by the triage seat (session session_01GiG1DfMysjbbFLZErAo93G, 2026-08-12) carrying the maintainer ruling of 2026-08-12 (comment 5261744983 on #7675). This is the retirement half, and it is the upstream of the ordering chain — the two consumer-shrink cards are Blocked-by: this one.

Ruling carried (verbatim, binding — not re-adjudicable)

退役(3 个):export / import(无此 feature)与 permission_change(权限对象的写入已以 create/update 行入账,语义重复行不再造)从 enum、两个 list view、两个 dashboard widget、console ACTION_OPTIONS 中一并摘除;按 ADR-0087 登记退役。
原则记录:空 widget + 永远查不到东西的过滤器是可见产品缺陷;审计面宁窄勿谎。

Routing correction, verified against origin/main (this supersedes the seat table on #7675)

The identity seat's split-request table placed the enum in packages/spec. Measured false: the action enum lives at packages/plugins/plugin-audit/src/objects/sys-audit-log.object.ts:101, and spec's own CHANGELOG records "the sys_audit_log object definition in plugin-audit is the row-shape source of truth". git grep over packages/spec finds no audit action enum. There is no domain:spec member in this split; this card routes domain:identity because plugin-audit is an identity-lane package.

Scope (this repo, this card)

  • Remove export, import, permission_change from the action enum (sys-audit-log.object.ts:101).
  • Narrow the auth_events list view filter (sys-audit-log.object.ts:65) from ['login','logout','permission_change'] to ['login','logout']. The config_changes view stays (it becomes truthful via sub-issue B).
  • Regenerate plugin-audit's generated translation artifacts (os-regen discipline — do not hand-edit).
  • ADR-0087 retirement registration for the three values.

Consumer-fixture flag (named, per the fixture-triage rule)

packages/services/service-analytics/src/__tests__/raw-sql-object-routing.test.ts:149,210 seeds rows with action: 'permission_change'. Run the service-analytics tests and update those fixtures in this PR — a seeded value the enum no longer accepts must not linger as a green-looking lie.

Downstream (⛔ not this card)

  • Widgets in packages/platform-objects → sub-issue D (domain:metadata), Blocked-by this card.
  • Console ACTION_OPTIONS + HistoryTimeline badge maps → objectui sub-issue, Blocked-by this card.
  • Note: sub-issue A may also touch plugin-audit — same-lane serialization; do not run A and C in flight together.

Size/model suggestion: M, opus.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions