Skip to content

fix(client): delete stale exported-any-returns entry for packages.update - #12207

Merged
os-support-ai merged 1 commit into
mainfrom
claude/issue-12193-stale-any-returns-entry
Aug 25, 2026
Merged

fix(client): delete stale exported-any-returns entry for packages.update#12207
os-support-ai merged 1 commit into
mainfrom
claude/issue-12193-stale-any-returns-entry

Conversation

@os-support-ai

Copy link
Copy Markdown
Collaborator

Closes#12193

What

Deletes the single stale "ObjectStackClient.packages.update" entry from
packages/client/exported-any-returns.json. 22c42c9b (#12062) bound
packages.update's return type, closing its any-return erasure under #11925,
but the ledger — shrink-only and judged EXACTLY — still carried the entry, so
it reds pnpm --filter @objectstack/client run check:exported-any-returns
for every PR whose derived gate family includes the client consumer gates.

⛔ Nothing else touched: every other entry (still-open #11925/#12104 debt)
and $comment are untouched. git diff --stat confirms 1 file changed, 1 deletion(-).

Verify — gate verdict, before and after (at 63f8d7fa)

Built packages/client/dist first (the gate reads the BUILT .d.ts, not src/).

Before (unfixed tree, reproduced against the base commit):

✅ self-test: flags awaited-`any` returns through nested namespaces, and NOT caller-supplied generics, `any`-containing types, or named data properties. Ledger is exact in both directions.
❌ 1 stale exported-any-returns.json entr(y/ies) — the gap is closed, delete the entry:
• ObjectStackClient.packages.update — no longer resolves to `any` (reason on file: #11925 — no return annotation; the published type comes from `this.unwrapResponse<any>(res)`. Invisible to a `Promise<` grep because the text never appears in the method. Bind the contract the route actually answers, minding the envelope.)

After (this PR's tree):

✅ self-test: flags awaited-`any` returns through nested namespaces, and NOT caller-supplied generics, `any`-containing types, or named data properties. Ledger is exact in both directions.
✅ no NEW exported callable of @objectstack/client resolves to `any`: 317 callables reached (51 caller-supplied generics, not counted as erasure), 64 ledgered site(s) still open.

Other local gates run (dispatch-gates-derived for this diff, all green)

  • pnpm check:published-files — ✓ confirms exported-any-returns.json is not in packages/client's files whitelist (dist, README.md, CHANGELOG.md only), so it is not a published file.
  • pnpm check:nul-bytes
  • pnpm check:slot-lookup
  • pnpm check:test-source-alias
  • pnpm check:type-source-resolution
  • node scripts/check-plugin-teardown-shape.mjs
  • node scripts/docs-audit/check-affected-docs.mjs
  • node scripts/docs-audit/check-drift-comment.mjs

Changeset

None — repo-internal, non-published ledger file (confirmed via check:published-files above). Requesting the skip-changeset label.

Refs: #12062 / #11925 (the binding work) · #11927 (the ledger)


Generated by Claude Code

`22c42c9b` (#12062) bound `packages.update`'s return type, closing its
any-return under #11925, but `packages/client/exported-any-returns.json`
still carried the entry. The ledger is shrink-only and judged EXACTLY, so
the lingering entry reds `pnpm --filter @objectstack/client run
check:exported-any-returns` for every PR whose gate family includes the
client consumer gates.
Deletes exactly the `ObjectStackClient.packages.update` entry; every other
entry (still-open #11925/#12104 debt) is untouched, as is `$comment`.
Fixes#12193
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KWRU3s15AJz7PGW7a7wdCh
@os-support-aios-support-ai added skip-changeset PR has no user-facing published change; bypasses the changeset gate and removed size/xs labels Aug 25, 2026 — with Claude
@github-actions

Copy link
Copy Markdown
Contributor

📓 Docs Drift Check

⚠️1 changed file(s) yielded no anchor (packages/client/exported-any-returns.json), so the pages documenting them are NOT COVERED by this run — this is not a clean bill of health for those files. Nothing else in this diff resolved to a documentable surface (no symbol, route or SDK anchor derived from 1 changed package(s)).

What this run could not see
  • 1 changed file(s) yielded no anchor (packages/client/exported-any-returns.json) — pages documenting those are invisible to this run
  • a page that states a rule by its inputs shares no identifier with the emitter that implements the rule, so an emitter-only diff cannot list it — not on this run and not on any run. Measured on fix(driver-sql): emit varchar(maxLength) for a text field a declared index keys on #11430: content/docs/protocol/objectql/types.mdx documents the text-family column mapping by the ObjectQL type names it maps FROM (text / textarea / html) while the diff changed createColumn; it went unlisted, and it was the page that diff falsified, in four places. No shared token exists to detect this on, so a rule your change carries has to be re-read by hand in the pages that restate it.

Coarse fallback — 15 page(s) merely mention a changed package (the pre-#9192 predicate, kept for the deliberately-wide backstop): node scripts/docs-audit/affected-docs.mjs --json 22c42c9b21a479b502583ae74ac588232564a6a8packageMentionDocs.

@os-support-ai
os-support-ai marked this pull request as ready for review August 25, 2026 13:34
@os-support-ai
os-support-ai added this pull request to the merge queueAug 25, 2026
Merged via the queue into main with commit c02fa22Aug 25, 2026
40 checks passed
@os-support-ai
os-support-ai deleted the claude/issue-12193-stale-any-returns-entry branch August 25, 2026 13:53
os-support-ai pushed a commit that referenced this pull request Aug 25, 2026
…-metadata-activation-ledger
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KWRU3s15AJz7PGW7a7wdCh
os-support-ai pushed a commit that referenced this pull request Aug 25, 2026
…-flow-clone-action
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KWRU3s15AJz7PGW7a7wdCh
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

skip-changesetPR has no user-facing published change; bypasses the changeset gate

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Stale exported-any-returns ledger entry for ObjectStackClient.packages.update reds the client consumer gate on main (left behind by #12062)

2 participants

@os-support-ai@claude