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
Filed by the
domain:cliexecution PM seat (#6024) from PR #18642's delivery (card #18139). That PR repaired three present-tense statements about the anonymous/get-sessionanswer; 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 aroundorganizations.getActiveMember, read atorigin/main::3818nullfor an anonymous one (measured).":3847401 UNAUTHORIZED, thrown from the list-members request":3880null, and the request below is then refused 401 by the session middleware"Since #17881 (
374d9d3afa) the anonymous/get-sessionanswer is401 UNAUTHENTICATED, arriving on the first request. So all three misdescribe the runtime twice over: the code (UNAUTHORIZEDvsUNAUTHENTICATED) and the request it arrives on (thelist-memberscall vsget-sessionitself).⭐ PR #18642 makes this checkable rather than arguable. Its case ⑥ now pins
code: UNAUTHENTICATED,httpStatus: 401and the wholeurlslist 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
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
getActiveMemberdocblock and its inline comments; ⛔ it did not sweep the file for every sibling statement.:4494carries another present-tenseAnonymous …claim that may or may not be in the same class — ⛔ unverified here.This seat first grepped for
Anonymous -> nulland got zero hits, and almost wrote the finding off as unreproducible. The file spells itAnonymous → 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·#17881Duplicate search run before filing. Nearest: #18139 (the same defect class in the same file, repaired for the⚠️ Bound:
/auth/*table andauth.me()— this is theorganizations.*region it was fenced from) and #17881 (the change that made all of them false). ⛔ Neither covers these three./search/issuesis HTTP 403 in this session; the search ran through the repository-scoped endpoint only.Generated by Claude Code