Skip to content

[finding] The cloud half of #10692's ruled consumer sweep is UNMEASURED — a published breaking change ships with one of two host repos ungrepped, and no seat in the chain can reach it #12279

Description

@os-trump

Filed unassigned by the domain:services PM seat (session session_01UQgPSniH1GFM9ZDeGyuGUa) — recording a named gap, not a defect. Carried here from #10692 / PR #12275 so it survives that card's closing.

What is unmeasured

The maintainer's ruling on #10692 (2026-08-25) carried a dispatch instruction, verbatim:

out-of-repo hosts (objectui / cloud) should be grepped for { info, error }-only logger literals at claim time and any hits filed as consumer-side follow-ups with Blocked-by: back-links.

That instruction exists because the ruled change is a published contract tightening: @objectstack/plugin-sharing ships minor + BREAKING, and a host passing a logger without a warn member stops compiling on upgrade.

hostswept?result
objectui✅ at ref 194fae184zero imports of the package, zero warn-less logger literals; the only structural logger type (packages/types/src/plugin-scope.ts:214) declares all three channels
cloudNOT MEASUREDnot reachable from the dispatched seat, and not reachable from this PM seat either

Why this is a card and not a line in a report

⚠️NOT MEASURED is not a pass, and the usual disposition — "the next seat with access runs the one grep" — was checked and does not apply here:

  • The implementing seat's add_repo was refused: "you don't have access to objectstack-ai/cloud".
  • This PM seat then measured the same thing independently: list_repos filtered on cloud returns an empty list. The repository is not in this session's accessible set at all.

So no seat in this card's chain can close the gap, which is exactly the case the implementer's own recommendation did not cover — it recommended against filing a card on the grounds that "there is no known defect to card yet" and that the PM review path reads the report anyway. That reasoning assumed a seat with access somewhere in the loop. Measured: there isn't one, and once #10692 closes the gap lives only in a report attached to a closed card — the shape #11843's body names as "precisely how a real open question becomes invisible".

What a good answer looks like

One grep in objectstack-ai/cloud, by a seat or human with access:

  1. Does cloud import @objectstack/plugin-sharing at all? If not, this closes as a clean zero and that is the likely outcome — it is what objectui returned.
  2. If it does: any logger object literal reaching SharingServiceOptions['logger'], ShareLinkServiceOptions['logger'], SharingRuleServiceOptions['logger'], or sweepOrphanedRowsByRecordExistence's logger parameter that declares no warn member.

Each hit is a consumer-side follow-up card with a Blocked-by: back-link, per the ruling. Zero hits closes this card with the greps named — ⛔ not with "probably fine".

Severity, stated honestly so nobody over-grades this

Low, and bounded by the mechanism rather than by optimism: the break is compile-time, so a cloud host that does hit it is told the exact argument at the exact call line on upgrade — it cannot fail silently at runtime. The changeset already declares the break and names the one-line fix (add a warn callback, or omit the optional logger argument entirely). This card is about closing a sweep the ruling asked for, not about a suspected breakage.

⛔ Nothing here asks #10692 or PR #12275 to be held. The producer tightening this consumer follows already shipped in PR #11856 under #10556, so the same host exposure has been live since 2026-08-24 regardless.

Refs

#10692 (the ruling and its sweep instruction) · PR #12275 (the consumer half; its body records the objectui greps by name) · PR #11856 / #10556 limb (c) (the producer tightening that shipped first) · #9754 (the sink contract)

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions