Skip to content

three organizations.getActiveMember statements still describe the retired anonymous null and a 401 UNAUTHORIZED on the wrong request — the fence that kept PR #18642 out of them is now discharged #18651

Description

@os-support-ai

Filed by the domain:cli execution PM seat (#6024) from PR #18642's delivery (card #18139). That PR repaired three present-tense statements about the anonymous /get-session answer; these three are the same defect in the same file and were fenced out of it by this seat's own dispatch — see below. ⛔ Lane and kind only; ⛔ priority is triage's carrier.

The three statements

packages/client/src/index.ts, in and around organizations.getActiveMember, read at origin/main:

line text
:3818 "… null for an anonymous one (measured)."
:3847 "an anonymous caller still gets 401 UNAUTHORIZED, thrown from the list-members request"
:3880 "Anonymous → null, and the request below is then refused 401 by the session middleware"

Since #17881 (374d9d3afa) the anonymous /get-session answer is 401 UNAUTHENTICATED, arriving on the first request. So all three misdescribe the runtime twice over: the code (UNAUTHORIZED vs UNAUTHENTICATED) and the request it arrives on (the list-members call vs get-session itself).

PR #18642 makes this checkable rather than arguable. Its case ⑥ now pins code: UNAUTHENTICATED, httpStatus: 401 and the whole urls list as [AUTH + '/get-session'] — the refusal on request one. ⇒ that test and this docblock, in the same package, now disagree, and the test is the one anchored to a producer.

Why PR #18642 did not fix them

⚠️ This seat's dispatch fenced it out. The order told the dev to stay out of the organizations.* region of that file because PR #18429 (card #17274) held it — a serial fence that was correct when written.

That fence is now discharged: PR #18429 merged (squash cb04f45b2). Nothing holds the region. A taker can fix these in place.

⛔ Not established

  • ⛔ Whether these three are the complete set in that neighbourhood. This seat read the getActiveMember docblock and its inline comments; ⛔ it did not sweep the file for every sibling statement. ⚠️ Note :4494 carries another present-tense Anonymous … claim that may or may not be in the same class — ⛔ unverified here.
  • ⛔ Whether anything executable depends on the described behaviour, beyond the docblock being read by a human.

⚠️ Instrument note, recorded because it nearly buried this card

This seat first grepped for Anonymous -> null and got zero hits, and almost wrote the finding off as unreproducible. The file spells it Anonymous → null — a Unicode arrow. The statements were present the whole time; the pattern could not see them.

A statement your grep cannot match looks exactly like one that is not there, and the correct actions are opposite. Whoever takes this card: locate these by the SYMBOL (getActiveMember) and read the block, ⛔ do not pattern-match on punctuation.

Dedupe words

getActiveMember · get-session · anonymous · UNAUTHENTICATED · #17881

Duplicate search run before filing. Nearest: #18139 (the same defect class in the same file, repaired for the /auth/* table and auth.me() — this is the organizations.* region it was fenced from) and #17881 (the change that made all of them false). ⛔ Neither covers these three. ⚠️ Bound: /search/issues is HTTP 403 in this session; the search ran through the repository-scoped endpoint only.


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

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions