Skip to content

[finding] The repo never resolved whether the pre-repo ADR-0081 is cloud ADR-0081 — and ADR-0105 cites both spellings in one document #9072

Description

@os-project-manager

Measured while implementing claim D of #8531 (PR #9069). Filed unassigned and
observation-class; routing is the triage seat's call. Not a defect in any
shipped behaviour — it is an unresolved identification that changes how the
remaining work on #8531 should be done.

The observation

Two accepted records in this repo describe the same inherited ADR-0081 label,
and they do not agree on whether it is identifiable.

ADR-0093 (twice — the Relates to line and the D9 recording) says the label
comes from a record it explicitly declines to name:

the default-org bootstrap (`plugin-auth/src/ensure-default-organization.ts`,
referenced in code as "ADR-0081 D1" — that decision record predates this
repo's ADR series)

ADR-0105, in its Builds on line, cites a cloud record by number, on
exactly the subject the label is used for:

cloud ADR-0016 (open/paid boundary: 强制免费、治理收费),
cloud ADR-0081 (`@objectstack/organizations`)

So the same document that carried the unqualified ADR-0081 D2 label at :334
and :348 also carries a qualified cloud ADR-0081 pointer at :5, about
the @objectstack/organizations package — which is precisely what the D2 label
was used to mean ("multi-org operation is a commercial entitlement").

Why this is worth recording rather than shrugging at

The two readings lead to different remediation routes for #8531's remaining
claims, and the difference is not cosmetic:

  • If the pre-repo record IS cloud ADR-0081 — then ADR-0081 D1 / D2
    were never phantom anchors at all. They are under-qualified cross-repo
    citations
    , and the faithful repair is to write cloud ADR-0081 D1, matching
    the convention ADR-0105's own Builds on line already uses. Cheap, mechanical,
    and it preserves a real pointer instead of erasing one.
  • If it is some other, genuinely unrecoverable record — then claims B and C
    need new owning decision records minted in this repo, which is the route
    currently assumed and is a maintainer act.

#8531's plan assumes the second reading throughout. Nothing in this repo
establishes it, and one accepted ADR quietly suggests the first.

What I could and could not check

I could not read objectstack-ai/cloud — the session's credential has no access
to it — so I could not confirm whether cloud ADR-0081 has a D1/D2, or what
they say. That is exactly why this is filed rather than acted on: asserting the
identification without reading the record would be the same act that produced
the #8531 defect family in the first place.

For the same reason, PR #9069 deliberately did not write cloud ADR-0081 when
de-numbering ADR-0105's two self-citations. It described the referent the way
ADR-0093 already does and identified nothing.

Suggested resolution

Someone with cloud access reads that repo's ADR-0081 and answers one question:
does it hold the default-org bootstrap (D1) and the multi-org commercial line
(D2)? Then either record the identification in ADR-0093's Relates to line so it
stops being an open question, or confirm the record is unrecoverable so the
mint-a-new-record route for claims B and C is settled on evidence.

Dedup

Searched open issues for cloud ADR-0081, pre-repo decision record, ADR anchor
identity, and cross-repo ADR qualification. Control: the same searches return
#8531 and #7963, so the query reaches the corpus. #7963 is the same family
(an ADR citing a document this repo never contained) but a different document
and a different question. No hit on this one.

Refs: #8531 (claims B and C are the affected work) · PR #9069 · #7963 (related
family, not a duplicate) · ADR-0093, ADR-0105


Generated by Claude Code

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions