Filed while moving the better-auth family 1.7.1 to 1.7.2 for #13715. Out of that
card's scope, recorded rather than fixed there. Not assigned.
What
95 version-stamped attestations across 56 files still name better-auth 1.7.1
(or @better-auth/scim@1.7.1, @better-auth/oauth-provider@1.7.1) as the
version they were measured against. Once #13715 lands, the installed family is
1.7.2 and none of those 95 names a version that is installed any more.
Measured on the branch, excluding CHANGELOGs and the override file itself:
$ grep -rn '1\.7\.1' --include='*.ts' --include='*.mjs' --include='*.mts' . \
--exclude-dir=node_modules --exclude-dir=dist | grep -i better-auth | grep -v CHANGELOG | wc -l
95
Spread over five packages and three gate scripts, so it is not one carrier:
| location | stamps |
|---|
packages/plugins/plugin-auth/src | 55 |
packages/platform-objects/src | 14 |
packages/cli (src + test) | 12 |
packages/runtime/src/dispatcher-error-vocabulary.ts | 4 |
packages/create-objectstack/src | 2 |
scripts/check-prerelease-pin-watch.mjs, check-route-envelope.mjs, check-cli-test-child-env.mjs | 4 |
Typical shapes: "Bound from better-auth 1.7.1's own MySQL schema", "better-auth
1.7.1's BASE_ERROR_CODES member", "vendor: better-auth (1.7.1) — the body is
byte-identical to that release's own handler return", "better-auth 1.7.1 reads
TEST directly".
Why it is a finding and not cosmetics
Each of these is an attestation: it claims a behaviour was measured against a
named version, and that provenance is the only thing standing behind bounds,
error vocabularies and byte-identical envelope claims that nothing else derives.
When the named version is not the installed one, the claim is no longer
verifiable by reading it — the reader cannot tell a still-true stamp from one
that upstream changed under it.
This has now recurred four times
#10073 (29 stamps naming 1.7.0-rc.2 / 1.6.20 after the ^1.7.1 bump),
#10188 (three more outside that card's two-string scope), and #11362 (two more,
in platform-objects rather than plugin-auth) were each fixed by hand, and each
time the next card found more. #13715's 1.7.2 move is the fourth round, and the
population has grown from 29 to 95. #10188's own title records the shape of the
mechanical answer that was contemplated and not built: a better-auth@-only
comment-vs-pin gate would still miss stamps written as prose.
So the interesting question is probably not "re-stamp these 95" but "why does a
hand sweep keep being the remedy". A gate that holds every version stamp equal
to the resolved pin — matching prose and specifier spellings, across all five
packages, not just plugin-auth — would make the next family bump mechanical.
What was checked, so this is not read as broader than it is
The two stamped claims that #13715 actually depends on were re-measured against
1.7.2 and are unchanged: @better-auth/scim@1.7.2 still peers better-call at
an exact 1.4.0 and @better-auth/utils at an exact 0.4.2, and
better-auth@1.7.2 still carries the stale optional better-sqlite3@^12.0.0
peer. The scaffold peerDependencyRules pins in packages/cli/test/init.test.ts
therefore stay green. The other 90-odd stamps were not re-measured — that
is the work this records, and the reason a patch bump does not make them false
so much as unverified.
Severity
Low, and deliberately filed rather than triaged from here: severity judged at
filing time has been unreliable in both directions. No behaviour is wrong today.
Generated by Claude Code
Generated by Claude Code
Filed while moving the better-auth family 1.7.1 to 1.7.2 for #13715. Out of that
card's scope, recorded rather than fixed there. Not assigned.
What
95 version-stamped attestations across 56 files still name
better-auth 1.7.1(or
@better-auth/scim@1.7.1,@better-auth/oauth-provider@1.7.1) as theversion they were measured against. Once #13715 lands, the installed family is
1.7.2 and none of those 95 names a version that is installed any more.
Measured on the branch, excluding CHANGELOGs and the override file itself:
Spread over five packages and three gate scripts, so it is not one carrier:
packages/plugins/plugin-auth/srcpackages/platform-objects/srcpackages/cli(src + test)packages/runtime/src/dispatcher-error-vocabulary.tspackages/create-objectstack/srcscripts/check-prerelease-pin-watch.mjs,check-route-envelope.mjs,check-cli-test-child-env.mjsTypical shapes: "Bound from better-auth 1.7.1's own MySQL schema", "better-auth
1.7.1's BASE_ERROR_CODES member", "vendor: better-auth (1.7.1) — the body is
byte-identical to that release's own handler return", "better-auth 1.7.1 reads
TESTdirectly".Why it is a finding and not cosmetics
Each of these is an attestation: it claims a behaviour was measured against a
named version, and that provenance is the only thing standing behind bounds,
error vocabularies and byte-identical envelope claims that nothing else derives.
When the named version is not the installed one, the claim is no longer
verifiable by reading it — the reader cannot tell a still-true stamp from one
that upstream changed under it.
This has now recurred four times
#10073 (29 stamps naming
1.7.0-rc.2/1.6.20after the^1.7.1bump),#10188 (three more outside that card's two-string scope), and #11362 (two more,
in platform-objects rather than plugin-auth) were each fixed by hand, and each
time the next card found more. #13715's 1.7.2 move is the fourth round, and the
population has grown from 29 to 95. #10188's own title records the shape of the
mechanical answer that was contemplated and not built: a
better-auth@-onlycomment-vs-pin gate would still miss stamps written as prose.
So the interesting question is probably not "re-stamp these 95" but "why does a
hand sweep keep being the remedy". A gate that holds every version stamp equal
to the resolved pin — matching prose and specifier spellings, across all five
packages, not just plugin-auth — would make the next family bump mechanical.
What was checked, so this is not read as broader than it is
The two stamped claims that #13715 actually depends on were re-measured against
1.7.2 and are unchanged:
@better-auth/scim@1.7.2still peersbetter-callatan exact
1.4.0and@better-auth/utilsat an exact0.4.2, andbetter-auth@1.7.2still carries the stale optionalbetter-sqlite3@^12.0.0peer. The scaffold
peerDependencyRulespins inpackages/cli/test/init.test.tstherefore stay green. The other 90-odd stamps were not re-measured — that
is the work this records, and the reason a patch bump does not make them false
so much as unverified.
Severity
Low, and deliberately filed rather than triaged from here: severity judged at
filing time has been unreliable in both directions. No behaviour is wrong today.
Generated by Claude Code
Generated by Claude Code