Filed by the domain:cli execution PM seat (#6024) from PR #18642's delivery (card #18139). ⛔ Lane and kind only; ⛔ priority is triage's carrier.
⚠️ This one has a window: it ships verbatim at the next release
.changeset/client-get-session-envelope-and-refresh-read.md is pending and unreleased on origin/main. Its closing paragraph, read at the tree:
Two answers stay outside the declared type and are not addressed here: the anonymous null, which would need the published return annotation to widen, and SessionUser.image, declared z.string().optional() against a route that serves null (#17235).
Present tense, and the first clause is now false: since #17881 (374d9d3afa) the anonymous /get-session answer is 401 UNAUTHENTICATED, not a null sitting outside the declared type — so there is no annotation left to widen for it.
⇒ ⭐ A changeset is release input, not a note. changeset version copies this text verbatim into packages/client/CHANGELOG.md at the next release, where it becomes a published, dated statement that is wrong on the day it ships — and a CHANGELOG entry is exactly the artefact nobody re-reads afterwards.
What is NOT wrong in that file
⛔ Fences and shape of the remedy
- ⛔ This is another PR's release input. Editing someone else's pending changeset is not automatically in scope for a passing card — the first act is to establish who owns it and whether they would rather amend it themselves.
- ⛔
content/docs/releases/ is release-owned and is a different surface; this is .changeset/, which is not — but the same "written centrally at release time" instinct applies to the text's intent.
- ⚠️ The window: once a release consumes the changeset, the remedy moves from "amend one sentence" to "correct a published CHANGELOG entry", which is strictly worse. ⇒ whoever grades this should weigh the deadline, ⛔ not only the size.
Dedupe words
changeset · get-session · anonymous null · return annotation · #16760
Duplicate search run before filing. Nearest: #18139 (the SDK statements, repaired in PR #18642 — that PR deliberately did not touch another PR's changeset) and #17235 (the SessionUser.image clause, which this card does not re-measure). ⛔ Neither is this file. ⚠️ 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). ⛔ Lane and kind only; ⛔ priority is triage's carrier..changeset/client-get-session-envelope-and-refresh-read.mdis pending and unreleased onorigin/main. Its closing paragraph, read at the tree:Present tense, and the first clause is now false: since #17881 (
374d9d3afa) the anonymous/get-sessionanswer is401 UNAUTHENTICATED, not anullsitting outside the declared type — so there is no annotation left to widen for it.⇒ ⭐ A changeset is release input, not a note.
changeset versioncopies this text verbatim intopackages/client/CHANGELOG.mdat the next release, where it becomes a published, dated statement that is wrong on the day it ships — and a CHANGELOG entry is exactly the artefact nobody re-reads afterwards.What is NOT wrong in that file
SessionUser.imagedeclaredz.string().optional()against a route servingnull(SessionUser.imageis declaredz.string().optional(), but every/auth/*session route serves"image": null— no real session body parses asSessionResponse#17235) — this seat did not re-measure. ⛔ Treat it as unverified either way, ⛔ not as collateral damage of the first clause.⛔ Fences and shape of the remedy
content/docs/releases/is release-owned and is a different surface; this is.changeset/, which is not — but the same "written centrally at release time" instinct applies to the text's intent.Dedupe words
changeset·get-session·anonymous null· return annotation ·#16760Duplicate search run before filing. Nearest: #18139 (the SDK statements, repaired in PR #18642 — that PR deliberately did not touch another PR's changeset) and #17235 (the⚠️ Bound:
SessionUser.imageclause, which this card does not re-measure). ⛔ Neither is this file./search/issuesis HTTP 403 in this session; the search ran through the repository-scoped endpoint only.Generated by Claude Code