∷ contributions · open source · shipped upstream

What I gave back

This page is the shelf. One entry per patch shipped upstream.9 shipped — four on a single day, 2026-04-22, after Claude Code had lived in Stéphane's terminal for 58 days, then a security fix merged upstream a week later — and that June, three more fixes landed on community-scripts/ProxmoxVE. The idea of "give back" took a while to cross from intention to diff. Once it crossed, it crossed hard.

Each entry links to the PR (or discussion) on GitHub. If the insight behind the patch deserves a longer read, there's a pr-notesarticle on the blog. Status reflects upstream state today— 6 merged, 2 closed without merge, 1 discussion. Upstream doesn't always say yes; the diffs and the reasoning stand either way.

# Shipped upstream

PR #94·2026-06-18
merged

adriannovegil / awesome-observability

add Grafana Alloy to the Logging collectors

∷ insightThe list was missing Grafana Alloy entirely — Grafana's OpenTelemetry Collector distribution and the supported successor to both Promtail and Grafana Agent, now EOL. Loki was already listed, but the agent Grafana points everyone to for shipping into it was not. Added under Collect → Logging, alphabetically between Elastic Beats and mTAIL, matching the existing format (+1).

observabilitygrafanaalloyawesome-listdocs
PR #14995·2026-06-07
merged

community-scripts / ProxmoxVE

changedetection: migrate the Python install to a uv venv

∷ insightThe install script relied on pip's --ignore-installed, which leaves duplicate dist-info metadata and a deferred crash on the next service restart. I reproduced it live on my own container (46 duplicated packages, certifi ×3) and migrated install + update onto the project's own setup_uv helper (Python 3.13 venv), with automatic migration of the existing pip-global layout. Fixes the root cause their earlier #13548 only patched over. (+33 −17)

proxmoxpythonuvpackaging
PR #14996·2026-06-07
merged

community-scripts / ProxmoxVE

homelable: preserve the MCP server config across updates

∷ insightThe Homelable update routine overwrote the MCP server configuration on every run, wiping local customizations. Reworked the update path to preserve the existing config instead of clobbering it.

proxmoxmcpconfig
PR #14870·2026-06-01
merged

community-scripts / ProxmoxVE

infisical: fix update abort caused by a credentials field mismatch

∷ insightFound on my own CT: the Infisical update aborted mid-run and left the service down. ct/infisical.sh grepped for 'Database Password:' but setup_postgresql_db writes 'Password:' — a one-line grep mismatch. Fixed the field; the update completes cleanly again.

proxmoxinfisicalpostgresbugfix
PR #1060·2026-04-29
merged

RightNow-AI / openfang

fix(security): unify SSRF protection for WASM host calls

∷ insightThe WASM sandbox's host_net_fetch() carried its own SSRF check that had drifted from the canonical check_ssrf() in web_fetch.rs — WASM agents could reach internal targets that builtin tools correctly block. Unified both call sites onto the single canonical implementation (+56 −98).

rustsecurityssrfwasm
PR #309·2026-04-22·first OSS PR
closed

ublue-os / homebrew-experimental-tap

claude-code-linux cask — livecheck npm vs GCS

∷ insightThe official Anthropic GCS /stable file lags up to 13 versions behind the npm registry. A livecheck pointing at npm catches releases the same day they ship.

homebrewcaskbluefinclaude-code
discussion #7986·2026-04-22
open

requarks / wiki

`render IS NULL` in DB causes silent HTTP 500 with no recovery path

∷ insightHit in production after a migration: pages with a NULL render column returned HTTP 500 instead of falling back to re-rendering from the source. Minimal repro + root cause pointer to server/models/pages.js#L952-L969 + suggested fix.

wikijspostgresbug-report
PR #6108·2026-04-22
merged

grafana / alloy

docs: systemd journal example for Promtail → Alloy migration

∷ insightThe official migration guide only covered file-based scrape configs, skipping the most common Linux source — systemd journal. Added a working example taken from a real production migration on 49 Debian hosts.

grafanaalloypromtaildocsloki
PR #9512·2026-04-22
closed

wazuh / wazuh-documentation

warn that wazuh-agent conflicts with wazuh-manager on same host

∷ insightThe wazuh-agent package silently uninstalls wazuh-manager via dpkg Conflicts/Replaces when both are installed on the same machine. No warning in the install doc. Cost us a 17-hour silent outage (see the blog post-mortem).

wazuhsiemdocsdpkg

# Reports & reviews

Not every contribution is a merge-able patch. Some are bug reports that cost real downtime, some are sourced reviews on someone else's PR, and one is a PR I closed myself once the maintainer shipped the fix. They count too.

issue #4741·2026-06-05
report

ublue-os / bluefin

∷ insightThe default JXL wallpaper renders pure white on Fedora 44: libjxl ships as a codec, but there's no gdk-pixbuf loader module for it, so GNOME can't decode the .jxl the default gschema points at. Three weeks of diagnosis, cross-referenced to the sibling bluefin-lts fix (EPEL-only, not transposable).

bluefinfedorajxlgnome
bug #8022·2026-06-05
report

requarks / wiki

∷ insightA pages.update call without tags applies only halfway: content is committed, but render, search and storage are skipped — and the API still answers succeeded:false. Root cause: associateTags isn't guarded the way createPage guards it. The angle the 2021 report missed is the non-atomicity, not the crash.

wikijsgraphqlbug-report
review #29412·2026-06-02
review

BerriAI / litellm

∷ insightMiniMax-M3's max_input_tokens was set to 512000 — but that's the billing-tier boundary, not the model's 1M window (1048576). Sourced from OpenRouter, official pricing and the sibling M2.x entries. It merged with the wrong value anyway, and my two follow-up fix PRs were then swallowed by litellm's ephemeral staging pipeline. A clean lesson in reading a repo's merge flow before contributing.

litellmllmreview
review #2273·2026-06-05
review

rtk-ai / rtk

∷ insight`rtk gh run view --job <id>` still failed after the run-id crash was patched: a two-layer bug where --job isn't in the passthrough allowlist, so it falls into the wrong formatter. Sourced onto the existing PR rather than opening a duplicate.

rustclireview
report

gadievron / raptor

∷ insightUnder rootless podman/distrobox the sandbox half-engages and raptor reported '0 findings in 0 files' instead of failing loudly — a false clean. The maintainer declined my env-override approach on trust-model grounds but shipped his own fail-loud fix (#800 — silence env-warning under strict_env + route Landlock-only attribution), which I validated end to end on rootless distrobox incl. --extra-config. It merged.

securitysandboxpython
report

grafana / alloy

∷ insightAlloy's anonymous usage reporting retried stats.grafana.org every ~3s with no backoff. When a DNS blocklist NXDOMAINs that host, one unreachable endpoint becomes a fleet-wide query storm — ~900k DNS queries a day across 57 agents. Reported with the repro and the mechanism; the maintainer wrote the fix the same day (#6478 — back off on persistent failure instead of retrying every tick), I reviewed it against my fleet, and it merged.

grafanaalloydnsreliability

blader / humanizer

∷ insightAfter forking humanizer-fr (33 French-specific AI-writing patterns, MIT, attribution preserved), opened the question of whether a localized SKILL variant belonged in-repo upstream. blader's answer: keep locales as separate community repositories so each language can evolve without adding duplicate runtime authorities upstream — humanizer-fr is the right shape. Closed with that validation.

i18nskillclaude-codecommunity

# What's cooking

I watch a handful of projects for "good first issues" I can pick up without being an insider. The watchers run onchangedetection (CT 228) and ping me viantfy when a new issue lands.

  • ublue-os/homebrew-tap — additional casks for Bluefin users
  • Bluefin (good first issues) — documentation, scripts, small fixes
  • Beszel (good first issues) — the monitoring agent I rely on daily
  • CrowdSec Hub — scenarios & parsers for the services I run

When I pick one up, it'll land here. Until then, this section is a pointer, not a promise.

∷ the ruleA PR earns an article here by insight size, not diff size. Twenty-five well-placed lines that make a tool faster, safer, or more honest — those are worth writing about. A typo fix lives in a monthly recap, not its own page.