Skip to content

Upgrade Node.js from 20 to 22 in workflows - #11

Merged
anilmurty merged 1 commit into
mainfrom
fix-node-version
Apr 7, 2026
Merged

Upgrade Node.js from 20 to 22 in workflows#11
anilmurty merged 1 commit into
mainfrom
fix-node-version

Conversation

@anilmurty

Copy link
Copy Markdown
Contributor

Summary

  • Upgrade Node.js from 20 to 22 in ci.yml and publish-npm.yml
  • Node 20 is deprecated and will be forced to Node 24 on June 2, 2026

Note

The npm publish failure on v0.1.3 is likely due to a missing NPM_TOKEN secret in repo settings, not the Node version. Please add it at Settings > Secrets > Actions if you want npm publishing to work.

🤖 Generated with Claude Code

Node.js 20 actions are deprecated and will be forced to Node 24 on
June 2, 2026. Moving to 22 now to avoid the forced migration.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@anilmurty
anilmurty merged commit b67f58b into main Apr 7, 2026
4 checks passed
anilmurty added a commit that referenced this pull request Jun 19, 2026
…#10,#13)

Smoke-test playbook (tests/manual-new-release-tests.md):

- #3 (and #8/#9/#11/#12/#14/#16 — same root cause): code blocks are now
  command-only; the inline "# comments" and "# [ ]" checklists that the markdown
  copy button was pulling into copied commands moved to prose / "- [ ]" lists
  around each block. Added a note explaining the convention.
- #10: corrected the Section 4 trim expectation — with [capture] prompts=false
  (default), trim checks the capture prereq first and prints the capture hint,
  NOT the tokenjam[bloat] install hint (only reachable once capture is on).
- #13: export file is "claude-code-<date>.jsonc", not ".json".

Doc-only; no code changes.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
anilmurty pushed a commit that referenced this pull request Jul 2, 2026
`tj context` (#4) named re-read overhead (cache reads) but not the two
specific large sources #11 asked for: MCP schema-injection and prompt-
cache-miss tokens. This ships the derivable half and parks the other with
a precise note, keeping the honesty discipline (Rule 14) — no invented
attribution numbers.

Cache-miss (DERIVABLE): cache-creation tokens (NormalizedSpan.cache_write_
tokens, from the on-disk usage block's cache_creation_input_tokens) are
input that missed the cache and had to be written to it, billed by
Anthropic at a premium. They were already summed into total_cache_write_
tokens and the composition denominator but never named as their own
overhead category — so the re-read and net-new-work shares silently failed
to sum to 100% whenever cache writes were present. Now surfaced as a
distinct `cache_miss` category: total_cache_miss_tokens / cache_miss_share
on the diagnostic, cache_miss_tokens / cache_miss_share per turn, a new
"Cache-miss:" breakdown line in the card (shown only when non-zero so
default output is unchanged), and corresponding JSON fields.

MCP schema-injection (~25K tok/call) (PARKED): not derivable from current
data. Neither the on-disk transcript nor live spans carry per-tool /
per-schema token attribution — tool-definition tokens are folded into
input/cache-creation, and `mcp__`-prefixed names appear only on tool-
invocation spans (no schema-injection token count). Surfaced as
MCP_INJECTION_PARK_NOTE (a diagnostic note + a JSON field) naming exactly
what data would be needed (a per-request tool-schema token delta) rather
than fabricating a figure.

Tests: extend the synthetic fixture so session B pays a cache-creation
premium; assert the named cache-miss category is computed (core + per-turn
+ JSON), rendered in the card, and that the MCP half is parked with a
precise note. Default-off behavior unchanged. Full suite green
(1207 passed), ruff + mypy clean.

Co-Authored-By: Claude <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant