3213 Commits

Author SHA1 Message Date
Mohamed Hegazy
222b19d2d1
security-guidance: probe for a non-PATH 3.10+ interpreter on HOOK_PY_INCOMPATIBLE (2.0.6 → 2.0.7) (#2854)
Instrument-first for the macOS Python-3.9 cohort.

v2.0.6 telemetry: ~13.6% of macOS sessions (~6,337 users) run on Apple's
Python 3.9 → HOOK_PY_INCOMPATIBLE → the agentic reviewer can't load (needs
3.10+ syntax). That's ~12x macOS's build-failure rate and the single
biggest macOS degradation. sg-python.sh only probes `python3.1x` on PATH,
so these users have nothing newer ON PATH — but they may still have a
3.10+ installed at a standard location that isn't on the hook's PATH
(Homebrew /opt/homebrew, python.org framework, etc.).

Before building an explicit-path interpreter search, size the RECOVERABLE
fraction: `_probe_alt_python()` checks Homebrew / python.org / distro
locations for a 3.10+ binary and emits the highest found as `sdk_alt_py`
(major*100+minor, or 0 = genuinely 3.9-only). Telemetry-only; probed ONLY
on the HOOK_PY_INCOMPATIBLE path, so healthy sessions never run it.

After a data cycle: non-zero sdk_alt_py = recoverable by an explicit-path
search in sg-python.sh; 0 = needs a user-side Python install (the one-time
notice is the only lever). That decides whether the search is worth building.

Verified locally on macOS Python 3.13:
  - py_compile clean; probe returns 314 on this Mac (homebrew 3.14 present).
  - 7 new tests (test_altpython_probe.py): highest-version selection,
    0-when-none (mocked os.access), framework/distro path parsing, only
    counts 3.10+, and emit gated on outcome==HOOK_PY_INCOMPATIBLE.
  - Full suite 575/575 + 2 skipped.

No behavior change — purely additive telemetry on the incompatible path.
Version 2.0.6 -> 2.0.7 per the per-PR-bump policy (#2114).

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-08-12 20:14:09 -05:00
Noah Zweben
1e96c6b0a0
fix(telegram): v0.0.7 reliability rollup — state-dir, PID guard, ppid watchdog, install stdout (#1424)
* fix(telegram): honor TELEGRAM_STATE_DIR/CLAUDE_CONFIG_DIR in skills and server

The server already reads TELEGRAM_STATE_DIR for multi-bot setups, but the
/telegram:access and /telegram:configure skills hardcoded
~/.claude/channels/telegram/ in 11 places. So with a custom state dir the
skill writes access.json to the default location while the server reads
from the override — pairing and allowlist edits silently don't take effect.

Skills now resolve the state dir via shell expansion (TELEGRAM_STATE_DIR →
CLAUDE_CONFIG_DIR/channels/telegram → ~/.claude/channels/telegram) before
any read/write. Server gets the same CLAUDE_CONFIG_DIR fallback. Also adds
Bash(echo)/Bash(chmod) to configure skill's allowed-tools (chmod was already
documented but not allowlisted).

* fix(telegram): verify stale PID is a server.ts process before SIGTERM

PID files race with OS PID recycling. The lockfile from #1349 stored only a
PID; after enough churn that PID can be reassigned to anything — including
the new launch's own bun-run wrapper. SIGTERMing the wrapper closes our
stdin and triggers immediate self-shutdown ('replacing stale poller' then
'shutting down' within seconds — matches #1459 item 3).

Now check 'ps -p <pid> -o args=' contains 'server.ts' before killing.
execFileSync (no shell); whole block already try/catch so Windows/ps-missing
falls through to just overwriting the lockfile.

* fix(telegram): drop ppid watchdog check; redirect bun install stdout to stderr

Two v0.0.5/0.0.6 regressions causing the plugin to fail at startup:

1. The orphan watchdog's process.ppid !== bootPpid check false-fires when the
   bun-run/shell wrapper exits or execs during normal startup and we get
   reparented to init — plugin self-terminates ~5s after launch. Stdin-close
   alone is the correct signal: the kernel closes the MCP pipe on any CLI
   death regardless of intermediate wrappers, so the ppid check was both
   unnecessary and harmful. (#1467; also the actual cause of #1459 item 3
   and likely #1425.)

2. 'bun install --no-summary' in the start script writes to stdout, which is
   the MCP JSON-RPC transport. The harness sees non-JSON bytes during the
   handshake and drops the connection ('Failed to connect'). Redirect install
   output to stderr. (#1470; also explains #1425 on Windows.)

---------

Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Bryan Thompson <238056179+bryan-anthropic@users.noreply.github.com>
2026-08-12 20:03:09 -05:00
github-actions[bot]
3bdce0232e
bump(carta-crm): 5da53736 → f29d4c77 (#5262)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-12 19:15:00 -05:00
github-actions[bot]
bc467a16da
bump(aws-transform): 34afdf50 → 9545072e (#5260)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-12 19:14:23 -05:00
github-actions[bot]
13ba6d93f5
bump(aws-startup-advisor): 3c287da6 → 7f6c1cc8 (#5259)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-12 19:13:44 -05:00
github-actions[bot]
f02eeac6c4
bump(carta-cap-table): 02c086ea → f29d4c77 (#5261)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-12 19:13:19 -05:00
github-actions[bot]
9ef09aae31
bump(amd-skills): ec4bf7f0 → 11c8edb0 (#5258)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-12 19:12:54 -05:00
github-actions[bot]
c9eec30f14
bump(carta-investors): 791f5afc → f29d4c77 (#5263)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-12 19:12:45 -05:00
github-actions[bot]
790b23d2d4
bump(netlify-skills): 6788099f → 47848e2d (#5266)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-12 19:12:20 -05:00
github-actions[bot]
d1a9392760
bump(sentry-cli): ad9cd1d6 → be024e41 (#5269)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-12 19:11:53 -05:00
github-actions[bot]
474e39ac05
bump(dataverse): 01dc8b7d → e2381ab2 (#5264)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-12 19:11:26 -05:00
github-actions[bot]
ae6447d18d
bump(hyperframes): cc40e35a → 3cfacf44 (#5265)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-12 19:10:59 -05:00
github-actions[bot]
77da84a383
bump(noibu): bcf16c97 → 91c562c4 (#5267)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-12 19:10:30 -05:00
github-actions[bot]
a01f382b67
bump(remember): 698b9ca4 → 7a24ebbd (#5268)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-12 19:09:59 -05:00
github-actions[bot]
61f375a926
bump(slack): 73df00b6 → 77a10794 (#5270)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-12 19:09:25 -05:00
github-actions[bot]
9e1fee9fe9
bump(wix): 5593a1e2 → d9b73923 (#5272)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-12 19:08:53 -05:00
github-actions[bot]
3ab679ae25
bump(langfuse): ea09af90 → 0f9a20a8 (#5273)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-12 19:08:20 -05:00
Mohamed Hegazy
088fccd927
Merge pull request #5257 from anthropics/readme-one-command-install
Update install instructions to the one-command plugin install
2026-08-12 16:14:44 -07:00
Mohamed Hegazy
c5b12e00f5
Drop the conditional reload note from discord and telegram READMEs 2026-08-12 15:57:07 -07:00
Mohamed Hegazy
de90047d7a
Update install instructions to the one-command plugin install
Claude Code's /plugin install now registers the official marketplace
automatically and activates the plugin in the same session, so the
/reload-plugins step these READMEs document is no longer needed.

discord and telegram keep a conditional note because their MCP servers
can't always be activated mid-session.
2026-08-12 15:52:07 -07:00
Bryan Thompson
c9bc1100cb
Update jfrog + fullstory sources from github to url (same pinned SHAs) (#5233)
Driver: unattended
2026-08-12 14:51:21 -07:00
github-actions[bot]
88a915cafc
bump(snowflake-cortex-code): ba58365f → 0c54225e (#5251)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-12 13:16:42 -05:00
github-actions[bot]
2d6d13414c
bump(firecrawl): b1bd4442 → ba1914a1 (#5244)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-12 13:16:17 -05:00
github-actions[bot]
ca5b5146f6
bump(superpowers): 44c9b2d6 → b36e0829 (#5253)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-12 13:15:50 -05:00
github-actions[bot]
0af04b67a9
bump(aws-dev-toolkit): abdf8673 → 05a3889e (#5238)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-12 13:15:15 -05:00
github-actions[bot]
680fe36ae5
bump(datarobot-agent-skills): a92f4277 → a37519e9 (#5242)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-12 13:15:05 -05:00
github-actions[bot]
543344899d
bump(hunter): 50a211c7 → ec0d819a (#5245)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-12 13:14:55 -05:00
github-actions[bot]
5814de747e
bump(hyperframes): 5752d224 → cc40e35a (#5246)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-12 13:14:27 -05:00
github-actions[bot]
610e71abb8
bump(jfrog): 3ae8f772 → 5410d332 (#5247)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-12 13:13:57 -05:00
github-actions[bot]
bde99eac2f
bump(pinecone): b93462be → d4b0ef62 (#5248)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-12 13:13:28 -05:00
github-actions[bot]
d51d10b927
bump(posthog): 13dd2e24 → 672b0076 (#5249)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-12 13:12:56 -05:00
github-actions[bot]
5e20c217bf
bump(superdesign): 8375be43 → a47784a8 (#5252)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-12 13:12:24 -05:00
github-actions[bot]
3e9070a5b2
bump(carbone-skill): ca19c321 → dfbb8042 (#5240)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-12 13:11:58 -05:00
github-actions[bot]
eb158ef66a
bump(carta-investors): 08c5765f → 791f5afc (#5241)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-12 13:11:26 -05:00
github-actions[bot]
3c22138e55
bump(qdrant-skills): 1578f1fe → 1047aa8d (#5250)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-12 13:10:52 -05:00
github-actions[bot]
373394a41a
bump(azure): 29e3b054 → 19290671 (#5239)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-12 13:10:19 -05:00
github-actions[bot]
66b9bac0f4
bump(deepeval): be9cac54 → d2de18c8 (#5243)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-12 13:10:05 -05:00
github-actions[bot]
7497789209
bump(wix): 7a1f4941 → 5593a1e2 (#5254)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-12 13:08:12 -05:00
github-actions[bot]
a33505300b
bump(carta-investors): 02c086ea → 08c5765f (#5236)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-12 12:58:21 -05:00
github-actions[bot]
a1e89d42ab
bump(chrome-devtools-mcp): b58c613f → f8572f04 (#5232)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-12 12:57:02 -05:00
github-actions[bot]
f3c54ca7ef
bump(databricks): b43377c9 → e9a5432d (#5234)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-12 12:55:53 -05:00
github-actions[bot]
d42d39baca
bump(langfuse-observability): f493772e → 5b3d4323 (#5235)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-12 12:37:50 -05:00
github-actions[bot]
ce6bf18b32
bump(carta-cap-table): 5577658f → 02c086ea (#5230)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-12 12:07:54 -05:00
github-actions[bot]
79353580ea
bump(base44): ee537101 → 773a301c (#5229)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-12 11:38:00 -05:00
github-actions[bot]
c272c599bf
bump(auth0): ff9618bb → abab92be (#5228)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-12 11:11:22 -05:00
github-actions[bot]
05d712b09d
bump(carta-investors): c59339c3 → 02c086ea (#5227)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-12 10:38:20 -05:00
github-actions[bot]
37f1792bcc
bump(dash0): d3988b6a → 04df55f0 (#5226)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-12 10:01:36 -05:00
github-actions[bot]
c54b5608d9
bump(chrome-devtools-mcp): 0dbc8c12 → b58c613f (#5225)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-12 07:38:20 -05:00
github-actions[bot]
e5be1026bd
bump(chrome-devtools-mcp): da8fc21a → 0dbc8c12 (#5223)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-12 07:27:00 -05:00
github-actions[bot]
38142b19c2
bump(aws-serverless): efe040ab → 34afdf50 (#5213)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-12 05:09:13 -05:00