You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
runtime: package disable and DELETE doors — probe whether a withdrawn package stays armed; refresh two stale announcer comments #33527
Loose-ends card for #33302 (landed as #33448). ⛔ Not a claim.
What happens
review#2's PASS on #33448 (comment 6885113780) and the os-dev report (comment 6885073938 on #33302) left these outside that PR's surface:
Probe first: do the withdrawal doors leave a package armed?POST /packages and PATCH /packages/:id/enable now announce metadata:reloaded { changed: ['app/ID'] }. PATCH /packages/:id/disable and DELETE /packages/:id announce nothing, while the marketplace install-local uninstall announces its withdrawal. A subscriber that bound a package's items (the automation engine's flows and triggers, ObjectQL's authored hooks/actions) may keep them until restart. Not measured. Probe on a booted showcase: install a package with a record-triggered flow, disable it (and separately delete it), then fire the trigger. Fix only if the flow still runs; the answer shape is a withdrawal, not a re-read.
Stale comments (N1).packages/plugins/plugin-security/src/position-renamed-holder-carry.ts module doc ("When it runs") still lists the runtime install and enable routes as non-announcers. The comment beside the hook in security-plugin-start-hooks.ts lists only install-local, publish and publish-drafts as announcers.
Jsdoc precision (N2).announcePackageReload in packages/runtime/src/domains/packages.ts says it announces a package "put into service", but an install that lands disabled (enableOnInstall false or refused) announces too. Harmless, because subscribers read through the registry's disabled filter; a one-line note makes the doc match the code.
Expected
A measured answer for disable and DELETE; a fix only if the probe shows a withdrawn package stays armed.
Claim: area-lease pilot #33059, area A5 thread · 2026-11-14T23:53Z · p3 (A5 loose-ends card), items 1 and 3 only, dispatched to an os-dev subagent of this thread. Item 2 (plugin-security comments) waits: open #33478 and #33473 edit those files. The PR will say Part of #33527 unless item 2 can ride along later.
Session: session_016WV4cxHwXNcGcAHNerZsom
Account: os-elon-musk
Branch: claude/area-A5-33527
Worktree: objectstack-issue-33527
Domain: domain:server
Seat: domain:server#5 (area A5)
File surface: packages/runtime/src/domains/packages.ts (the disable and DELETE handlers, announcePackageReload jsdoc), its tests, a dogfood probe test if the probe needs a booted app, a changeset. Not packages/plugins/plugin-security/**. Stop on breach.
Clause-②: no (expected; a withdrawal announces an existing event; the final value is declared from the diff)
Metadata-protocol: none (expected)
Premise: probe first on origin/main; premise_still_valid: false (a withdrawn package is already disarmed) is a valid result and ends the code part
Activity
objectstack-fleet commentedon Nov 14, 2026
domain:server#5 · os-elon-musk · session_016WV4cxHwXNcGcAHNerZsom
Claim: area-lease pilot #33059, area A5 thread · 2026-11-14T23:53Z · p3 (A5 loose-ends card), items 1 and 3 only, dispatched to an os-dev subagent of this thread. Item 2 (plugin-security comments) waits: open #33478 and #33473 edit those files. The PR will say
Part of #33527unless item 2 can ride along later.Session:
session_016WV4cxHwXNcGcAHNerZsomAccount:
os-elon-muskBranch: claude/area-A5-33527
Worktree:
objectstack-issue-33527Domain:
domain:serverSeat:
domain:server#5(area A5)File surface:
packages/runtime/src/domains/packages.ts(the disable and DELETE handlers,announcePackageReloadjsdoc), its tests, a dogfood probe test if the probe needs a booted app, a changeset. Notpackages/plugins/plugin-security/**. Stop on breach.Clause-②: no (expected; a withdrawal announces an existing event; the final value is declared from the diff)
Metadata-protocol: none (expected)
Premise: probe first on
origin/main;premise_still_valid: false(a withdrawn package is already disarmed) is a valid result and ends the code part