chore(release): 0.39.53 - #189

Merged
pitimon merged 1 commit into
mainfrom
chore/0.39.53-fable-mythos-canary-pricing
Aug 22, 2026
Merged

chore(release): 0.39.53#189
pitimon merged 1 commit into
mainfrom
chore/0.39.53-fable-mythos-canary-pricing

Conversation

@pitimon

Copy link
Copy Markdown
Owner

PR Goal (one sentence)

Bump @ipv9/tokentracker-cli to 0.39.53 to release the fable/mythos canary pricing fix (#187 / #188) through npm.

Scope

  • CLI (src/)
  • Dashboard (dashboard/)
  • Docs / CI / config

Checklist

  • npm run ci:local passes, or focused test commands are listed below with rationale
  • New dashboard/user-facing strings go through dashboard/src/content/copy.csv (N/A)
  • Commits follow conventional style (feat: / fix: / refactor: / docs: / chore: / test: / ci:)
  • PR description explains why, not just what
  • Version bump files are in lockstep when release-bound (package.json, package-lock.json)
  • npm publish state is recorded when release-bound (npm view @ipv9/tokentracker-cli version versions --json confirmed 0.39.52 is latest/immutable; npm publish --dry-run verified 174 files, tarball ok, no unexpected pricing-seed diff after revert)

Why

fix(pricing): resolve fable/mythos canary variants via fuzzy match (#188) merged to main as a source-only fix. Per CLAUDE.md release workflow, changes under src/ that affect shipped behavior require a package version bump + npm publication, and .github/workflows/npm-publish.yml only publishes when the on-disk package.json version is not yet on the registry — it skip-noticed on the #188 merge because the version was still 0.39.52.

Version and publish discipline (CLAUDE.md checklist)

  1. npm view @ipv9/tokentracker-cli version versions --json → latest published is 0.39.52 (immutable, confirmed unused for 0.39.53).
  2. npm version 0.39.53 --no-git-tag-version --ignore-scripts → bumped package.json + package-lock.json only.
  3. NODE_ENV=test npm run ci:local → full pass. npm publish --dry-run → 174 files, tarball ok.
  4. npm run dashboard:build && node scripts/build-pricing-seed.cjs (via prepublishOnly during the dry-run) refreshed src/lib/pricing/seed-snapshot.json with fresh upstream LiteLLM data — reverted from this PR since it is an unrelated data refresh outside the scope of a version-bump PR (previous releases split this into its own chore(pricing): record publish snapshot PR, e.g. chore(pricing): record 0.39.52 publish snapshot #186). Publish (step 4 below) will regenerate and commit it as intended.
  5. Publish will run automatically via .github/workflows/npm-publish.yml on merge to main (Trusted Publishing/OIDC).
  6. Local web service deployment/redeploy is out of scope for this change — no local service is running against this checkout that needs the new bundle right now.

Regression Test Gate

Most likely regression surface

  • test/web-only-product-scope.test.js hardcodes the expected package.json version as a release-authority guard; updated in lockstep with this bump (was failing 0.39.52 vs actual 0.39.53 before this fix).

Verification method (choose at least one)

  • NODE_ENV=test npm run ci:local (full gate, all validators + product + dashboard suites)
  • node --test test/npm-publish-workflow.test.js test/release-automation.test.js test/web-only-product-scope.test.js per agent-os/standards/release/version-lockstep.md

Uncovered scope

  • Live npm publish + registry smoke test happens via CI after merge (.github/workflows/npm-publish.yml), not locally in this PR.

Version bump for the fable/mythos canary pricing fix (#187, merged in
#188). Updates the version-lockstep test's hardcoded package.json
expectation in step.
npm publish --dry-run verified: 174 files, tarball ok.
@pitimon
pitimon merged commit 9a233e4 into mainAug 22, 2026
2 checks passed
@pitimon
pitimon deleted the chore/0.39.53-fable-mythos-canary-pricing branch August 22, 2026 14:53
Sign up for freeto 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

@pitimon
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

chore(release): 0.39.53 - #189

Merged
pitimon merged 1 commit into
mainfrom
chore/0.39.53-fable-mythos-canary-pricing
Aug 22, 2026
Merged

chore(release): 0.39.53#189
pitimon merged 1 commit into
mainfrom
chore/0.39.53-fable-mythos-canary-pricing

Conversation

@pitimon

Copy link
Copy Markdown
Owner

PR Goal (one sentence)

Bump @ipv9/tokentracker-cli to 0.39.53 to release the fable/mythos canary pricing fix (#187 / #188) through npm.

Scope

  • CLI (src/)
  • Dashboard (dashboard/)
  • Docs / CI / config

Checklist

  • npm run ci:local passes, or focused test commands are listed below with rationale
  • New dashboard/user-facing strings go through dashboard/src/content/copy.csv (N/A)
  • Commits follow conventional style (feat: / fix: / refactor: / docs: / chore: / test: / ci:)
  • PR description explains why, not just what
  • Version bump files are in lockstep when release-bound (package.json, package-lock.json)
  • npm publish state is recorded when release-bound (npm view @ipv9/tokentracker-cli version versions --json confirmed 0.39.52 is latest/immutable; npm publish --dry-run verified 174 files, tarball ok, no unexpected pricing-seed diff after revert)

Why

fix(pricing): resolve fable/mythos canary variants via fuzzy match (#188) merged to main as a source-only fix. Per CLAUDE.md release workflow, changes under src/ that affect shipped behavior require a package version bump + npm publication, and .github/workflows/npm-publish.yml only publishes when the on-disk package.json version is not yet on the registry — it skip-noticed on the #188 merge because the version was still 0.39.52.

Version and publish discipline (CLAUDE.md checklist)

  1. npm view @ipv9/tokentracker-cli version versions --json → latest published is 0.39.52 (immutable, confirmed unused for 0.39.53).
  2. npm version 0.39.53 --no-git-tag-version --ignore-scripts → bumped package.json + package-lock.json only.
  3. NODE_ENV=test npm run ci:local → full pass. npm publish --dry-run → 174 files, tarball ok.
  4. npm run dashboard:build && node scripts/build-pricing-seed.cjs (via prepublishOnly during the dry-run) refreshed src/lib/pricing/seed-snapshot.json with fresh upstream LiteLLM data — reverted from this PR since it is an unrelated data refresh outside the scope of a version-bump PR (previous releases split this into its own chore(pricing): record publish snapshot PR, e.g. chore(pricing): record 0.39.52 publish snapshot #186). Publish (step 4 below) will regenerate and commit it as intended.
  5. Publish will run automatically via .github/workflows/npm-publish.yml on merge to main (Trusted Publishing/OIDC).
  6. Local web service deployment/redeploy is out of scope for this change — no local service is running against this checkout that needs the new bundle right now.

Regression Test Gate

Most likely regression surface

  • test/web-only-product-scope.test.js hardcodes the expected package.json version as a release-authority guard; updated in lockstep with this bump (was failing 0.39.52 vs actual 0.39.53 before this fix).

Verification method (choose at least one)

  • NODE_ENV=test npm run ci:local (full gate, all validators + product + dashboard suites)
  • node --test test/npm-publish-workflow.test.js test/release-automation.test.js test/web-only-product-scope.test.js per agent-os/standards/release/version-lockstep.md

Uncovered scope

  • Live npm publish + registry smoke test happens via CI after merge (.github/workflows/npm-publish.yml), not locally in this PR.

Version bump for the fable/mythos canary pricing fix (#187, merged in
#188). Updates the version-lockstep test's hardcoded package.json
expectation in step.
npm publish --dry-run verified: 174 files, tarball ok.
@pitimon
pitimon merged commit 9a233e4 into mainAug 22, 2026
2 checks passed
@pitimon
pitimon deleted the chore/0.39.53-fable-mythos-canary-pricing branch August 22, 2026 14:53
Sign up for freeto 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

@pitimon
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

chore(release): 0.39.53 - #189

Merged
pitimon merged 1 commit into
mainfrom
chore/0.39.53-fable-mythos-canary-pricing
Aug 22, 2026
Merged

chore(release): 0.39.53#189
pitimon merged 1 commit into
mainfrom
chore/0.39.53-fable-mythos-canary-pricing

Conversation

@pitimon

Copy link
Copy Markdown
Owner

PR Goal (one sentence)

Bump @ipv9/tokentracker-cli to 0.39.53 to release the fable/mythos canary pricing fix (#187 / #188) through npm.

Scope

  • CLI (src/)
  • Dashboard (dashboard/)
  • Docs / CI / config

Checklist

  • npm run ci:local passes, or focused test commands are listed below with rationale
  • New dashboard/user-facing strings go through dashboard/src/content/copy.csv (N/A)
  • Commits follow conventional style (feat: / fix: / refactor: / docs: / chore: / test: / ci:)
  • PR description explains why, not just what
  • Version bump files are in lockstep when release-bound (package.json, package-lock.json)
  • npm publish state is recorded when release-bound (npm view @ipv9/tokentracker-cli version versions --json confirmed 0.39.52 is latest/immutable; npm publish --dry-run verified 174 files, tarball ok, no unexpected pricing-seed diff after revert)

Why

fix(pricing): resolve fable/mythos canary variants via fuzzy match (#188) merged to main as a source-only fix. Per CLAUDE.md release workflow, changes under src/ that affect shipped behavior require a package version bump + npm publication, and .github/workflows/npm-publish.yml only publishes when the on-disk package.json version is not yet on the registry — it skip-noticed on the #188 merge because the version was still 0.39.52.

Version and publish discipline (CLAUDE.md checklist)

  1. npm view @ipv9/tokentracker-cli version versions --json → latest published is 0.39.52 (immutable, confirmed unused for 0.39.53).
  2. npm version 0.39.53 --no-git-tag-version --ignore-scripts → bumped package.json + package-lock.json only.
  3. NODE_ENV=test npm run ci:local → full pass. npm publish --dry-run → 174 files, tarball ok.
  4. npm run dashboard:build && node scripts/build-pricing-seed.cjs (via prepublishOnly during the dry-run) refreshed src/lib/pricing/seed-snapshot.json with fresh upstream LiteLLM data — reverted from this PR since it is an unrelated data refresh outside the scope of a version-bump PR (previous releases split this into its own chore(pricing): record publish snapshot PR, e.g. chore(pricing): record 0.39.52 publish snapshot #186). Publish (step 4 below) will regenerate and commit it as intended.
  5. Publish will run automatically via .github/workflows/npm-publish.yml on merge to main (Trusted Publishing/OIDC).
  6. Local web service deployment/redeploy is out of scope for this change — no local service is running against this checkout that needs the new bundle right now.

Regression Test Gate

Most likely regression surface

  • test/web-only-product-scope.test.js hardcodes the expected package.json version as a release-authority guard; updated in lockstep with this bump (was failing 0.39.52 vs actual 0.39.53 before this fix).

Verification method (choose at least one)

  • NODE_ENV=test npm run ci:local (full gate, all validators + product + dashboard suites)
  • node --test test/npm-publish-workflow.test.js test/release-automation.test.js test/web-only-product-scope.test.js per agent-os/standards/release/version-lockstep.md

Uncovered scope

  • Live npm publish + registry smoke test happens via CI after merge (.github/workflows/npm-publish.yml), not locally in this PR.

Version bump for the fable/mythos canary pricing fix (#187, merged in
#188). Updates the version-lockstep test's hardcoded package.json
expectation in step.
npm publish --dry-run verified: 174 files, tarball ok.
@pitimon
pitimon merged commit 9a233e4 into mainAug 22, 2026
2 checks passed
@pitimon
pitimon deleted the chore/0.39.53-fable-mythos-canary-pricing branch August 22, 2026 14:53
Sign up for freeto 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

@pitimon
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

chore(release): 0.39.53 - #189

Merged
pitimon merged 1 commit into
mainfrom
chore/0.39.53-fable-mythos-canary-pricing
Aug 22, 2026
Merged

chore(release): 0.39.53#189
pitimon merged 1 commit into
mainfrom
chore/0.39.53-fable-mythos-canary-pricing

Conversation

@pitimon

Copy link
Copy Markdown
Owner

PR Goal (one sentence)

Bump @ipv9/tokentracker-cli to 0.39.53 to release the fable/mythos canary pricing fix (#187 / #188) through npm.

Scope

  • CLI (src/)
  • Dashboard (dashboard/)
  • Docs / CI / config

Checklist

  • npm run ci:local passes, or focused test commands are listed below with rationale
  • New dashboard/user-facing strings go through dashboard/src/content/copy.csv (N/A)
  • Commits follow conventional style (feat: / fix: / refactor: / docs: / chore: / test: / ci:)
  • PR description explains why, not just what
  • Version bump files are in lockstep when release-bound (package.json, package-lock.json)
  • npm publish state is recorded when release-bound (npm view @ipv9/tokentracker-cli version versions --json confirmed 0.39.52 is latest/immutable; npm publish --dry-run verified 174 files, tarball ok, no unexpected pricing-seed diff after revert)

Why

fix(pricing): resolve fable/mythos canary variants via fuzzy match (#188) merged to main as a source-only fix. Per CLAUDE.md release workflow, changes under src/ that affect shipped behavior require a package version bump + npm publication, and .github/workflows/npm-publish.yml only publishes when the on-disk package.json version is not yet on the registry — it skip-noticed on the #188 merge because the version was still 0.39.52.

Version and publish discipline (CLAUDE.md checklist)

  1. npm view @ipv9/tokentracker-cli version versions --json → latest published is 0.39.52 (immutable, confirmed unused for 0.39.53).
  2. npm version 0.39.53 --no-git-tag-version --ignore-scripts → bumped package.json + package-lock.json only.
  3. NODE_ENV=test npm run ci:local → full pass. npm publish --dry-run → 174 files, tarball ok.
  4. npm run dashboard:build && node scripts/build-pricing-seed.cjs (via prepublishOnly during the dry-run) refreshed src/lib/pricing/seed-snapshot.json with fresh upstream LiteLLM data — reverted from this PR since it is an unrelated data refresh outside the scope of a version-bump PR (previous releases split this into its own chore(pricing): record publish snapshot PR, e.g. chore(pricing): record 0.39.52 publish snapshot #186). Publish (step 4 below) will regenerate and commit it as intended.
  5. Publish will run automatically via .github/workflows/npm-publish.yml on merge to main (Trusted Publishing/OIDC).
  6. Local web service deployment/redeploy is out of scope for this change — no local service is running against this checkout that needs the new bundle right now.

Regression Test Gate

Most likely regression surface

  • test/web-only-product-scope.test.js hardcodes the expected package.json version as a release-authority guard; updated in lockstep with this bump (was failing 0.39.52 vs actual 0.39.53 before this fix).

Verification method (choose at least one)

  • NODE_ENV=test npm run ci:local (full gate, all validators + product + dashboard suites)
  • node --test test/npm-publish-workflow.test.js test/release-automation.test.js test/web-only-product-scope.test.js per agent-os/standards/release/version-lockstep.md

Uncovered scope

  • Live npm publish + registry smoke test happens via CI after merge (.github/workflows/npm-publish.yml), not locally in this PR.

Version bump for the fable/mythos canary pricing fix (#187, merged in
#188). Updates the version-lockstep test's hardcoded package.json
expectation in step.
npm publish --dry-run verified: 174 files, tarball ok.
@pitimon
pitimon merged commit 9a233e4 into mainAug 22, 2026
2 checks passed
@pitimon
pitimon deleted the chore/0.39.53-fable-mythos-canary-pricing branch August 22, 2026 14:53
Sign up for freeto 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

@pitimon
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

chore(release): 0.39.53 - #189

Merged
pitimon merged 1 commit into
mainfrom
chore/0.39.53-fable-mythos-canary-pricing
Aug 22, 2026
Merged

chore(release): 0.39.53#189
pitimon merged 1 commit into
mainfrom
chore/0.39.53-fable-mythos-canary-pricing

Conversation

@pitimon

Copy link
Copy Markdown
Owner

PR Goal (one sentence)

Bump @ipv9/tokentracker-cli to 0.39.53 to release the fable/mythos canary pricing fix (#187 / #188) through npm.

Scope

  • CLI (src/)
  • Dashboard (dashboard/)
  • Docs / CI / config

Checklist

  • npm run ci:local passes, or focused test commands are listed below with rationale
  • New dashboard/user-facing strings go through dashboard/src/content/copy.csv (N/A)
  • Commits follow conventional style (feat: / fix: / refactor: / docs: / chore: / test: / ci:)
  • PR description explains why, not just what
  • Version bump files are in lockstep when release-bound (package.json, package-lock.json)
  • npm publish state is recorded when release-bound (npm view @ipv9/tokentracker-cli version versions --json confirmed 0.39.52 is latest/immutable; npm publish --dry-run verified 174 files, tarball ok, no unexpected pricing-seed diff after revert)

Why

fix(pricing): resolve fable/mythos canary variants via fuzzy match (#188) merged to main as a source-only fix. Per CLAUDE.md release workflow, changes under src/ that affect shipped behavior require a package version bump + npm publication, and .github/workflows/npm-publish.yml only publishes when the on-disk package.json version is not yet on the registry — it skip-noticed on the #188 merge because the version was still 0.39.52.

Version and publish discipline (CLAUDE.md checklist)

  1. npm view @ipv9/tokentracker-cli version versions --json → latest published is 0.39.52 (immutable, confirmed unused for 0.39.53).
  2. npm version 0.39.53 --no-git-tag-version --ignore-scripts → bumped package.json + package-lock.json only.
  3. NODE_ENV=test npm run ci:local → full pass. npm publish --dry-run → 174 files, tarball ok.
  4. npm run dashboard:build && node scripts/build-pricing-seed.cjs (via prepublishOnly during the dry-run) refreshed src/lib/pricing/seed-snapshot.json with fresh upstream LiteLLM data — reverted from this PR since it is an unrelated data refresh outside the scope of a version-bump PR (previous releases split this into its own chore(pricing): record publish snapshot PR, e.g. chore(pricing): record 0.39.52 publish snapshot #186). Publish (step 4 below) will regenerate and commit it as intended.
  5. Publish will run automatically via .github/workflows/npm-publish.yml on merge to main (Trusted Publishing/OIDC).
  6. Local web service deployment/redeploy is out of scope for this change — no local service is running against this checkout that needs the new bundle right now.

Regression Test Gate

Most likely regression surface

  • test/web-only-product-scope.test.js hardcodes the expected package.json version as a release-authority guard; updated in lockstep with this bump (was failing 0.39.52 vs actual 0.39.53 before this fix).

Verification method (choose at least one)

  • NODE_ENV=test npm run ci:local (full gate, all validators + product + dashboard suites)
  • node --test test/npm-publish-workflow.test.js test/release-automation.test.js test/web-only-product-scope.test.js per agent-os/standards/release/version-lockstep.md

Uncovered scope

  • Live npm publish + registry smoke test happens via CI after merge (.github/workflows/npm-publish.yml), not locally in this PR.

Version bump for the fable/mythos canary pricing fix (#187, merged in
#188). Updates the version-lockstep test's hardcoded package.json
expectation in step.
npm publish --dry-run verified: 174 files, tarball ok.
@pitimon
pitimon merged commit 9a233e4 into mainAug 22, 2026
2 checks passed
@pitimon
pitimon deleted the chore/0.39.53-fable-mythos-canary-pricing branch August 22, 2026 14:53
Sign up for freeto 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

@pitimon
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

chore(release): 0.39.53 - #189

Merged
pitimon merged 1 commit into
mainfrom
chore/0.39.53-fable-mythos-canary-pricing
Aug 22, 2026
Merged

chore(release): 0.39.53#189
pitimon merged 1 commit into
mainfrom
chore/0.39.53-fable-mythos-canary-pricing

Conversation

@pitimon

Copy link
Copy Markdown
Owner

PR Goal (one sentence)

Bump @ipv9/tokentracker-cli to 0.39.53 to release the fable/mythos canary pricing fix (#187 / #188) through npm.

Scope

  • CLI (src/)
  • Dashboard (dashboard/)
  • Docs / CI / config

Checklist

  • npm run ci:local passes, or focused test commands are listed below with rationale
  • New dashboard/user-facing strings go through dashboard/src/content/copy.csv (N/A)
  • Commits follow conventional style (feat: / fix: / refactor: / docs: / chore: / test: / ci:)
  • PR description explains why, not just what
  • Version bump files are in lockstep when release-bound (package.json, package-lock.json)
  • npm publish state is recorded when release-bound (npm view @ipv9/tokentracker-cli version versions --json confirmed 0.39.52 is latest/immutable; npm publish --dry-run verified 174 files, tarball ok, no unexpected pricing-seed diff after revert)

Why

fix(pricing): resolve fable/mythos canary variants via fuzzy match (#188) merged to main as a source-only fix. Per CLAUDE.md release workflow, changes under src/ that affect shipped behavior require a package version bump + npm publication, and .github/workflows/npm-publish.yml only publishes when the on-disk package.json version is not yet on the registry — it skip-noticed on the #188 merge because the version was still 0.39.52.

Version and publish discipline (CLAUDE.md checklist)

  1. npm view @ipv9/tokentracker-cli version versions --json → latest published is 0.39.52 (immutable, confirmed unused for 0.39.53).
  2. npm version 0.39.53 --no-git-tag-version --ignore-scripts → bumped package.json + package-lock.json only.
  3. NODE_ENV=test npm run ci:local → full pass. npm publish --dry-run → 174 files, tarball ok.
  4. npm run dashboard:build && node scripts/build-pricing-seed.cjs (via prepublishOnly during the dry-run) refreshed src/lib/pricing/seed-snapshot.json with fresh upstream LiteLLM data — reverted from this PR since it is an unrelated data refresh outside the scope of a version-bump PR (previous releases split this into its own chore(pricing): record publish snapshot PR, e.g. chore(pricing): record 0.39.52 publish snapshot #186). Publish (step 4 below) will regenerate and commit it as intended.
  5. Publish will run automatically via .github/workflows/npm-publish.yml on merge to main (Trusted Publishing/OIDC).
  6. Local web service deployment/redeploy is out of scope for this change — no local service is running against this checkout that needs the new bundle right now.

Regression Test Gate

Most likely regression surface

  • test/web-only-product-scope.test.js hardcodes the expected package.json version as a release-authority guard; updated in lockstep with this bump (was failing 0.39.52 vs actual 0.39.53 before this fix).

Verification method (choose at least one)

  • NODE_ENV=test npm run ci:local (full gate, all validators + product + dashboard suites)
  • node --test test/npm-publish-workflow.test.js test/release-automation.test.js test/web-only-product-scope.test.js per agent-os/standards/release/version-lockstep.md

Uncovered scope

  • Live npm publish + registry smoke test happens via CI after merge (.github/workflows/npm-publish.yml), not locally in this PR.

Version bump for the fable/mythos canary pricing fix (#187, merged in
#188). Updates the version-lockstep test's hardcoded package.json
expectation in step.
npm publish --dry-run verified: 174 files, tarball ok.
@pitimon
pitimon merged commit 9a233e4 into mainAug 22, 2026
2 checks passed
@pitimon
pitimon deleted the chore/0.39.53-fable-mythos-canary-pricing branch August 22, 2026 14:53
Sign up for freeto 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

@pitimon
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

chore(release): 0.39.53 - #189

Merged
pitimon merged 1 commit into
mainfrom
chore/0.39.53-fable-mythos-canary-pricing
Aug 22, 2026
Merged

chore(release): 0.39.53#189
pitimon merged 1 commit into
mainfrom
chore/0.39.53-fable-mythos-canary-pricing

Conversation

@pitimon

Copy link
Copy Markdown
Owner

PR Goal (one sentence)

Bump @ipv9/tokentracker-cli to 0.39.53 to release the fable/mythos canary pricing fix (#187 / #188) through npm.

Scope

  • CLI (src/)
  • Dashboard (dashboard/)
  • Docs / CI / config

Checklist

  • npm run ci:local passes, or focused test commands are listed below with rationale
  • New dashboard/user-facing strings go through dashboard/src/content/copy.csv (N/A)
  • Commits follow conventional style (feat: / fix: / refactor: / docs: / chore: / test: / ci:)
  • PR description explains why, not just what
  • Version bump files are in lockstep when release-bound (package.json, package-lock.json)
  • npm publish state is recorded when release-bound (npm view @ipv9/tokentracker-cli version versions --json confirmed 0.39.52 is latest/immutable; npm publish --dry-run verified 174 files, tarball ok, no unexpected pricing-seed diff after revert)

Why

fix(pricing): resolve fable/mythos canary variants via fuzzy match (#188) merged to main as a source-only fix. Per CLAUDE.md release workflow, changes under src/ that affect shipped behavior require a package version bump + npm publication, and .github/workflows/npm-publish.yml only publishes when the on-disk package.json version is not yet on the registry — it skip-noticed on the #188 merge because the version was still 0.39.52.

Version and publish discipline (CLAUDE.md checklist)

  1. npm view @ipv9/tokentracker-cli version versions --json → latest published is 0.39.52 (immutable, confirmed unused for 0.39.53).
  2. npm version 0.39.53 --no-git-tag-version --ignore-scripts → bumped package.json + package-lock.json only.
  3. NODE_ENV=test npm run ci:local → full pass. npm publish --dry-run → 174 files, tarball ok.
  4. npm run dashboard:build && node scripts/build-pricing-seed.cjs (via prepublishOnly during the dry-run) refreshed src/lib/pricing/seed-snapshot.json with fresh upstream LiteLLM data — reverted from this PR since it is an unrelated data refresh outside the scope of a version-bump PR (previous releases split this into its own chore(pricing): record publish snapshot PR, e.g. chore(pricing): record 0.39.52 publish snapshot #186). Publish (step 4 below) will regenerate and commit it as intended.
  5. Publish will run automatically via .github/workflows/npm-publish.yml on merge to main (Trusted Publishing/OIDC).
  6. Local web service deployment/redeploy is out of scope for this change — no local service is running against this checkout that needs the new bundle right now.

Regression Test Gate

Most likely regression surface

  • test/web-only-product-scope.test.js hardcodes the expected package.json version as a release-authority guard; updated in lockstep with this bump (was failing 0.39.52 vs actual 0.39.53 before this fix).

Verification method (choose at least one)

  • NODE_ENV=test npm run ci:local (full gate, all validators + product + dashboard suites)
  • node --test test/npm-publish-workflow.test.js test/release-automation.test.js test/web-only-product-scope.test.js per agent-os/standards/release/version-lockstep.md

Uncovered scope

  • Live npm publish + registry smoke test happens via CI after merge (.github/workflows/npm-publish.yml), not locally in this PR.

Version bump for the fable/mythos canary pricing fix (#187, merged in
#188). Updates the version-lockstep test's hardcoded package.json
expectation in step.
npm publish --dry-run verified: 174 files, tarball ok.
@pitimon
pitimon merged commit 9a233e4 into mainAug 22, 2026
2 checks passed
@pitimon
pitimon deleted the chore/0.39.53-fable-mythos-canary-pricing branch August 22, 2026 14:53
Sign up for freeto 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

@pitimon
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

chore(release): 0.39.53 - #189

Merged
pitimon merged 1 commit into
mainfrom
chore/0.39.53-fable-mythos-canary-pricing
Aug 22, 2026
Merged

chore(release): 0.39.53#189
pitimon merged 1 commit into
mainfrom
chore/0.39.53-fable-mythos-canary-pricing

Conversation

@pitimon

Copy link
Copy Markdown
Owner

PR Goal (one sentence)

Bump @ipv9/tokentracker-cli to 0.39.53 to release the fable/mythos canary pricing fix (#187 / #188) through npm.

Scope

  • CLI (src/)
  • Dashboard (dashboard/)
  • Docs / CI / config

Checklist

  • npm run ci:local passes, or focused test commands are listed below with rationale
  • New dashboard/user-facing strings go through dashboard/src/content/copy.csv (N/A)
  • Commits follow conventional style (feat: / fix: / refactor: / docs: / chore: / test: / ci:)
  • PR description explains why, not just what
  • Version bump files are in lockstep when release-bound (package.json, package-lock.json)
  • npm publish state is recorded when release-bound (npm view @ipv9/tokentracker-cli version versions --json confirmed 0.39.52 is latest/immutable; npm publish --dry-run verified 174 files, tarball ok, no unexpected pricing-seed diff after revert)

Why

fix(pricing): resolve fable/mythos canary variants via fuzzy match (#188) merged to main as a source-only fix. Per CLAUDE.md release workflow, changes under src/ that affect shipped behavior require a package version bump + npm publication, and .github/workflows/npm-publish.yml only publishes when the on-disk package.json version is not yet on the registry — it skip-noticed on the #188 merge because the version was still 0.39.52.

Version and publish discipline (CLAUDE.md checklist)

  1. npm view @ipv9/tokentracker-cli version versions --json → latest published is 0.39.52 (immutable, confirmed unused for 0.39.53).
  2. npm version 0.39.53 --no-git-tag-version --ignore-scripts → bumped package.json + package-lock.json only.
  3. NODE_ENV=test npm run ci:local → full pass. npm publish --dry-run → 174 files, tarball ok.
  4. npm run dashboard:build && node scripts/build-pricing-seed.cjs (via prepublishOnly during the dry-run) refreshed src/lib/pricing/seed-snapshot.json with fresh upstream LiteLLM data — reverted from this PR since it is an unrelated data refresh outside the scope of a version-bump PR (previous releases split this into its own chore(pricing): record publish snapshot PR, e.g. chore(pricing): record 0.39.52 publish snapshot #186). Publish (step 4 below) will regenerate and commit it as intended.
  5. Publish will run automatically via .github/workflows/npm-publish.yml on merge to main (Trusted Publishing/OIDC).
  6. Local web service deployment/redeploy is out of scope for this change — no local service is running against this checkout that needs the new bundle right now.

Regression Test Gate

Most likely regression surface

  • test/web-only-product-scope.test.js hardcodes the expected package.json version as a release-authority guard; updated in lockstep with this bump (was failing 0.39.52 vs actual 0.39.53 before this fix).

Verification method (choose at least one)

  • NODE_ENV=test npm run ci:local (full gate, all validators + product + dashboard suites)
  • node --test test/npm-publish-workflow.test.js test/release-automation.test.js test/web-only-product-scope.test.js per agent-os/standards/release/version-lockstep.md

Uncovered scope

  • Live npm publish + registry smoke test happens via CI after merge (.github/workflows/npm-publish.yml), not locally in this PR.

Version bump for the fable/mythos canary pricing fix (#187, merged in
#188). Updates the version-lockstep test's hardcoded package.json
expectation in step.
npm publish --dry-run verified: 174 files, tarball ok.
@pitimon
pitimon merged commit 9a233e4 into mainAug 22, 2026
2 checks passed
@pitimon
pitimon deleted the chore/0.39.53-fable-mythos-canary-pricing branch August 22, 2026 14:53
Sign up for freeto 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

@pitimon