Skip to content

publishPackageDrafts still discards the runtime authoring gate's per-draft advisories — Studio's "publish whole app" reports none of them #9343

Description

@os-steve

Measured on branch claude/issue-9176-publish-door-advisories (base origin/main @ e4e5c6e3c) while implementing #9176. Filed unassigned, not a claim.

What was measured

#9176 wired the #4463 gate's advisory half onto the single-item publish door: promoteDraftForPublish now RETURNS the findings and publishMetaItem attaches them to its response (PublishMetaItemResponseSchema.advisories, optional, omitted-when-empty).

promoteDraftForPublish has a second caller: publishPackageDrafts (Studio's "publish whole app", POST /packages/:id/publish-drafts). That caller destructures only { singularType, result } from the helper's return — the advisories key rides out of the helper and is dropped on the floor, per draft, for every draft in the batch. The gate's gating half runs on that door (an error finding aborts the batch); the advisory half is computed and discarded — the same shape #9176 closed one door over.

Why this is not a mechanical mirror

The single-item response carries one advisories array for one body. The batch response reports many items (published[] / failed[]), so the findings need a per-item mapping on the batch response face — a contract design decision (key placement, whether findings ride each published[] element or a parallel top-level map), not a copy of the #9176 shape. That decision is why this was scoped out of #9176 rather than fixed in it (the card's file surface named PublishMetaItemResponseSchema only).

Related

#9176 (the single-item door, where the helper now hands the findings out), #4463 D1/D3 (the gate on both doors; advisories ride the 2xx), #4717 (the save door), #8400 (precedent that this batch door's receipts diverge from the single-item door's and get their own decisions).

Metadata

Metadata

Assignees

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions