Filed by the triage seat (objectstack-wide, seat post objectstack-ai/objectstack#6015, session_01AavokzJ5DndAwitDXvKy4U). It moves objectstack-ai/objectstack#21332 here, where the fix lands. That card came from QA run objectstack-ai/objectstack#21330 (checklist clause automation.packaged-flow-clone-contract, acceptance[6]). Its Studio half is what row B1 of the objectstack-ai/objectstack#12438 acceptance run still waits on. ⛔ Not a claim, ⛔ not a dispatch.
Graded here: bug · priority:p2 · domain:ui · area:studio · pm:queue.
What fails
ADR-0126 §7.1 makes a clone of a packaged flow "an ordinary org/install-owned flow". §1.3 and the Setup › Packaged automation page promise that it is edited in Studio. On objectstack 17.6.0, with the console at the pin, the clone is created, survives a restart and dispatches. No Studio surface lists or opens it.
Measured on the stock showcase, as admin, in objectstack-ai/objectstack#21332 and re-measured in the objectstack-ai/objectstack#12438 run (B1, 5968206129, console built at pin 89cad75d5570):
- The clone's stored row has no package. That is correct: objectstack's
flow-clone.ts strips provenance on purpose.
- The package-scoped flow list (
/api/v1/meta/flow?package=…) omits it. The bare list includes it.
- Studio's home says "No writable packages yet", and the only entry is the read-only showcase package. Its Automations rail lists the packaged flows, not the clone.
- A deep link naming the clone as the surface redirects to another flow.
Where (read at origin/main 7121221fae)
apps/console/src/components/StudioRoute.tsx (about :153–:160): every Studio route is keyed by :packageId.
packages/app-shell/src/views/studio-design/StudioDesignSurface.tsx (header docblock, :6): it is routed as /studio/:packageId/{data|automations|interfaces}, so its Automations pillar shows one package's flows.
- So a flow with no package has no route and no rail.
Ruling (triage's, 5946433961 on the source card; overturnable by the maintainer)
The Studio arm, not the package arm.
- ⛔ The clone is not moved into a package. That would contradict ADR-0126 §7.1.
- Studio gains a surface for package-less (org/install-owned) flows: a rail, or an entry on Studio's home. The deep link opens such a flow there, editable, because it is the org's own.
- Pins:
- a package-less flow is listed and opens editable;
- a packaged flow on a read-only package stays read-only (objectui#11124's pins stay green);
- the deep link to a package-less flow opens that flow, not another.
Why p2. ADR-0126 promises that a clone is edited in Studio, and the clone is unreachable there. The engine half works, and nothing is lost.
Done when: this lands, and objectstack's .objectui-sha carries it. objectstack-ai/objectstack#12438's seat then re-runs B1 on a console built at that pin.
Not this card: objectui#11546 (a read-only canvas opens no node inspector), which is a different mechanism.
Filed by the triage seat (objectstack-wide, seat post objectstack-ai/objectstack#6015,
session_01AavokzJ5DndAwitDXvKy4U). It moves objectstack-ai/objectstack#21332 here, where the fix lands. That card came from QA run objectstack-ai/objectstack#21330 (checklist clauseautomation.packaged-flow-clone-contract, acceptance[6]). Its Studio half is what row B1 of the objectstack-ai/objectstack#12438 acceptance run still waits on. ⛔ Not a claim, ⛔ not a dispatch.Graded here:
bug·priority:p2·domain:ui·area:studio·pm:queue.What fails
ADR-0126 §7.1 makes a clone of a packaged flow "an ordinary org/install-owned flow". §1.3 and the Setup › Packaged automation page promise that it is edited in Studio. On objectstack 17.6.0, with the console at the pin, the clone is created, survives a restart and dispatches. No Studio surface lists or opens it.
Measured on the stock showcase, as admin, in objectstack-ai/objectstack#21332 and re-measured in the objectstack-ai/objectstack#12438 run (B1,
5968206129, console built at pin89cad75d5570):flow-clone.tsstrips provenance on purpose./api/v1/meta/flow?package=…) omits it. The bare list includes it.Where (read at
origin/main7121221fae)apps/console/src/components/StudioRoute.tsx(about:153–:160): every Studio route is keyed by:packageId.packages/app-shell/src/views/studio-design/StudioDesignSurface.tsx(header docblock,:6): it is routed as/studio/:packageId/{data|automations|interfaces}, so its Automations pillar shows one package's flows.Ruling (triage's,
5946433961on the source card; overturnable by the maintainer)The Studio arm, not the package arm.
Why p2. ADR-0126 promises that a clone is edited in Studio, and the clone is unreachable there. The engine half works, and nothing is lost.
Done when: this lands, and objectstack's
.objectui-shacarries it. objectstack-ai/objectstack#12438's seat then re-runs B1 on a console built at that pin.Not this card: objectui#11546 (a read-only canvas opens no node inspector), which is a different mechanism.