Part of objectstack-ai/objectstack#12150 (Epic: ADR-0126 implementation, v17 line — 17.x minor, maintainer-ruled).
Blocked-by: objectstack-ai/objectstack#12155
Blocked-by: objectstack-ai/objectstack#12157
Blocked-by: objectstack-ai/objectstack#12156
Dispatch: coordinated under the objectstack#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 §7.4 + §9 (objectstack, merged 28b47a93; Fork D → D2 settled by the merge).
Deliverable
A new Setup page for packaged automation — automation UI is Studio-only today (studio.app.ts:234-239), so this page is new work; the Setup permission-set page is the precedent shape (contributed the way nav_permission_sets is, security-plugin.ts:974). Studio keeps the editing; Setup gets the operational state.
Per packaged flow, the page shows and does exactly:
- on/off for this scope (reads the
sys_metadata_activation state; flip invokes the L2 action) — that is all the ledger knows; the page claims nothing more; - clone (invokes the L4 action; new-name prompt; carried-over definition blobs are ⛔ not editable form fields — the #11753 discipline);
- ⛔ no drift or ancestry surface: no diff-vs-base, no "customized" badge, no base-moved notice (ADR §9) — cloned-without-disabled and disabled-without-clone are ordinary states shown plainly.
Acceptance
- Page reachable in Setup with the nav-contribution mechanism (not a Studio tab);
- disable/enable round-trip visible; refusals (operator gate, subflow guard) surface the server's message verbatim — no client-side softening;
- clone flow completes with the new name; no ancestry shown anywhere.
Refs: ADR-0126 §7.4, §9 · #11753 · Setup permission-set page precedent
Part of objectstack-ai/objectstack#12150 (Epic: ADR-0126 implementation, v17 line — 17.x minor, maintainer-ruled).
Blocked-by: objectstack-ai/objectstack#12155
Blocked-by: objectstack-ai/objectstack#12157
Blocked-by: objectstack-ai/objectstack#12156
Dispatch: coordinated under the objectstack#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 §7.4 + §9 (objectstack, merged28b47a93; Fork D → D2 settled by the merge).Deliverable
A new Setup page for packaged automation — automation UI is Studio-only today (
studio.app.ts:234-239), so this page is new work; the Setup permission-set page is the precedent shape (contributed the waynav_permission_setsis,security-plugin.ts:974). Studio keeps the editing; Setup gets the operational state.Per packaged flow, the page shows and does exactly:
sys_metadata_activationstate; flip invokes the L2 action) — that is all the ledger knows; the page claims nothing more;Acceptance
Refs: ADR-0126 §7.4, §9 · #11753 · Setup permission-set page precedent