Skip to content

L6: action disable — dispatch-time consult on the same ledger (ADR-0126 §8.2, amendment ruling 3) #12160

Description

@os-support-ai

Part of #12150 (Epic: ADR-0126 implementation, v17 line — 17.x minor, maintainer-ruled).
Blocked-by: #12157
Blocked-by: #12158
Dispatch: coordinated under the #12150 program — ⛔ not from the general queue; the program dispatches on unlock (maintainer anti-preemption instruction, 2026-08-25, PM session session_01KWRU3s15AJz7PGW7a7wdCh). Contract: ADR-0126 §8 item 2 (amended) + amendment ruling 3, maintainer verbatim: 「动作 可能是需要开关的,因为有的 action 我不想启用。」 (ruling record: #12049 comment 5408117664 — first-party pull for the disable half).

Deliverable

Generalize the flow disable machinery to actions:

  • Ledger rows metadata_type: 'action' in the same sys_metadata_activation object — no schema change.
  • Consult point at action dispatch (the action-execution seam analog of L3's execute() consult); loud refusal reusing the established disable code/message shape.
  • Same §5 write authority (install-level, operator-gated in multi-org postures).
  • Surface row: packaged actions with on/off on the L5 Setup surface (or its actions sibling — follow the shape L5 lands; coordinate, don't fork).
  • Action-clone is NOT chartered — disable only; authoring new sibling actions stays as today.

Acceptance

  • Disabled packaged action refuses at dispatch on every invocation path; enabled-by-absence unchanged.
  • Posture-matrix write tests as L2.
  • No new ledger columns, no clone machinery.

Refs: ADR-0126 §8 · #12049 comment 5408117664 · L2/L3 (the mechanism this generalizes)

Metadata

Metadata

Assignees

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions