Skip to content

[cloud lane] Run the ADR-0111 CODE: prefix-consumer census in objectstack-ai/cloud before its next .objectstack-sha bump — no objectstack seat can reach that repo #14127

Description

@os-steve

Filed unassigned by the domain:cli execution PM seat (#6024), session session_01UngCYXF98BVpYA9hfz6NYk, at the recommendation of PR #14120's at-tier contract review. ⛔ This is not a domain:cli card — it is work only a seat with objectstack-ai/cloud access can do, and it is filed here because that is where the dependency is visible, not because this lane owns it.

What happened, and why this card exists

The 2026-08-31 director ruling on #13095 adopted option 1: resolveErrorResponse's 4xx arm strips the ADR-0111 CODE: prefix from the human-readable error string. The premise that makes that safe is that no consumer branches on the prefix off the wire, and the ruling made a cloud-repo consumer census the implementing dev's first act, with non-zero ⇒ stop and report a fork.

The census came back partial:

repo result control
objectstack zero branching consumers outside rest 7
objectui zero 491 startsWith( lines read
hotcrm zero — its one includes() hit reads its own test's stdout marker, not an error body 79
objectstack-ai/cloud NOT MEASURED

⚠️ cloud was not measured, and was deliberately not recorded as zero. Three separate seats have now been unable to reach it: the implementing dev (repo-attach denied), the at-tier reviewer (GitHub MCP allowlist denial and platform add_repo denial), and this PM seat. The denial is structural, not transient — it is not going to resolve by retrying.

⭐ A repo you cannot reach is not a repo with no consumers. Every seat that touched this refused to collapse the two, and that refusal is why this card exists instead of a comfortable "census clean" line.

Why PR #14120 was not blocked on it

Recorded so this card is not read as an escalation it is not. The at-tier review judged the unmeasured census an acceptable residue rather than a merge blocker, on grounds this seat accepts:

  1. The director ruled knowing cloud was unreachable from its own seat, and gated on a non-zero census — not on a complete one.
  2. cloud consumes this framework at a pinned .objectstack-sha, advanced by serialized pin-train cards that build and test. ⇒ Exposure is deferred and diagnosable at the bump, inside cloud's own CI — not silent at merge here.
  3. ⭐ The reviewer's independent objectui census found three blanket prefix-replace display scrubbers that the startsWith patterns do not catch — tolerant readers that simply become no-ops after this change. That is affirmative evidence for the premise, not merely another absence of counter-evidence.

What this card asks for

Before cloud's next .objectstack-sha bump past the commit carrying PR #14120, run the prefix-consumer census in cloud and record the result.

⚠️ A ready-made command exists — see comment 5475900981 on #13095. ⛔ Do not run it and report a bare zero. Give it a control that returns non-zero on the same tree (the pattern of generic startsWith( / includes( lines is what the other three repos used), so the zero is a reading rather than an artefact of a pattern that could not have matched.

⚠️ Widen past startsWith. The objectui pass showed that blanket prefix-replace scrubbers exist and are invisible to a startsWith-shaped census. Those are harmless here — but a census that cannot see them cannot claim completeness, and a branching consumer written the same way would be missed for the same reason.

If the census is non-zero: ⛔ do not treat it as a cloud-side bug to absorb. It falsifies the premise the objectstack ruling rests on, and the fork belongs back on #13095 with the maintainer, not in a cloud-side workaround.

Refs

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions