From 8853940185ce28220cb6b6564d68b21f62a26ff0 Mon Sep 17 00:00:00 2001 From: axisrow Date: Thu, 13 Aug 2026 18:16:37 +0700 Subject: [PATCH 1/3] feat: add merged CodexBar (steipete) PR to contributions block Replace the oldest single-repo proof-row entry (yfinance) with the freshly merged upstream PR in Peter Steiner's CodexBar (Swift), and bump the merged_upstream_prs counter from 37 to 38 across all mirrored locations (hero stat, proof summary, experience bullet, meta description, og:description). Closes #39 Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01WcpqPB7ecX6NVukyEGUrax --- index.html | 12 ++++++------ tests/site-smoke.test.mjs | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/index.html b/index.html index 4a7572a..79f4825 100644 --- a/index.html +++ b/index.html @@ -4,12 +4,12 @@ axisrow — Python engineer - + - + @@ -101,7 +101,7 @@

AXISROW

Merged upstream PRs
-
37
+
38
Starred projects
@@ -229,9 +229,9 @@

Useful changes, merged upstream.

-
37merged upstream PRs
+
38merged upstream PRs

yfinance · IBM/mcp-cli · ai-resto · agent-orchestrator

    -
  • 37 merged PRs across upstream projects.
  • +
  • 38 merged PRs across upstream projects.
  • Reliability fixes, production features, automation, and safer interfaces.
  • Changes are scoped, tested, reviewed, and maintained after merge.
diff --git a/tests/site-smoke.test.mjs b/tests/site-smoke.test.mjs index 29831fb..f3a9a12 100644 --- a/tests/site-smoke.test.mjs +++ b/tests/site-smoke.test.mjs @@ -90,10 +90,10 @@ test('Open Source uses the asymmetric R1 field without duplicated cards', async const html = await source('index.html'); assert.match(html, /class="visual-field proof-field reveal"/); assert.match(html, /class="proof-field-copy veil-panel"/); - assert.match(html, /data-profile-value="merged_upstream_prs" data-target="37">37/); + assert.match(html, /data-profile-value="merged_upstream_prs" data-target="38">38/); assert.match(html, /class="proof-field-visual"/); assert.equal((html.match(/class="proof-row"/g) || []).length, 4); - assert.equal((html.match(/github\.com\/ranaroussi\/yfinance\/pull\/2627/g) || []).length, 1); + assert.equal((html.match(/github\.com\/steipete\/CodexBar\/pull\/2814/g) || []).length, 1); assert.doesNotMatch(html, /proof-stage|contribution-card|proof-layout|mandelbrot-frame|Iteration \/ proof/i); }); From 24bcc8ba21505d5c814ddc8e05592865c822c255 Mon Sep 17 00:00:00 2001 From: axisrow Date: Thu, 13 Aug 2026 18:31:40 +0700 Subject: [PATCH 2/3] feat: expand contributions block to 5 entries, restore yfinance MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Keep the yfinance proof-row instead of replacing it, and describe the CodexBar entry as Peter Steinberger's (steipete) side project, creator of OpenClaw (github.com/steipete/openclaw), rather than a low-context technical fix summary. Growing the field to 5 rows overflowed the fixed 380px .proof-field height, so the mandelbrot visual and the text panel no longer lined up — bump it to 412px (matches the panel's actual content height with 5 rows) and bump the styles.css cache-busting version. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01WcpqPB7ecX6NVukyEGUrax --- index.html | 5 +++-- styles.css | 2 +- tests/site-smoke.test.mjs | 5 +++-- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/index.html b/index.html index 79f4825..ac1af5e 100644 --- a/index.html +++ b/index.html @@ -43,7 +43,7 @@ document.documentElement.classList.add("js"); }()); - +
@@ -231,7 +231,8 @@

Useful changes, merged upstream.

38merged upstream PRs
- steipete / CodexBarStop background Ollama refresh from spuriously requiring re-sign-in.Merged · PR #2814 ↗ + steipete / CodexBarSide project of Peter Steinberger, creator of OpenClaw (github.com/steipete/openclaw).Merged · PR #2814 ↗ + yfinanceRetry transient network errors.Merged · PR #2627 ↗ IBM / mcp-cliUnix-friendly automation and serialization.Merged · PR #227 ↗ ai-restoAuth, caching, database, E2E, PWA and security.23 merged PRs ↗ agent-orchestratorMultiline submit and safer permission handling.Merged · PR #2357 ↗ diff --git a/styles.css b/styles.css index e765980..ec35a3e 100644 --- a/styles.css +++ b/styles.css @@ -863,7 +863,7 @@ main { .proof-field { display: flex; - height: 380px; + height: 412px; align-items: center; } diff --git a/tests/site-smoke.test.mjs b/tests/site-smoke.test.mjs index f3a9a12..8d47295 100644 --- a/tests/site-smoke.test.mjs +++ b/tests/site-smoke.test.mjs @@ -92,8 +92,9 @@ test('Open Source uses the asymmetric R1 field without duplicated cards', async assert.match(html, /class="proof-field-copy veil-panel"/); assert.match(html, /data-profile-value="merged_upstream_prs" data-target="38">38/); assert.match(html, /class="proof-field-visual"/); - assert.equal((html.match(/class="proof-row"/g) || []).length, 4); + assert.equal((html.match(/class="proof-row"/g) || []).length, 5); assert.equal((html.match(/github\.com\/steipete\/CodexBar\/pull\/2814/g) || []).length, 1); + assert.equal((html.match(/github\.com\/ranaroussi\/yfinance\/pull\/2627/g) || []).length, 1); assert.doesNotMatch(html, /proof-stage|contribution-card|proof-layout|mandelbrot-frame|Iteration \/ proof/i); }); @@ -749,7 +750,7 @@ test('both themes and reduced-motion rendering are present', async () => { assert.match(css, /\.visual-field\s*\{[^}]*width: 100vw;/s); assert.match(css, /\.proof-field\s*\{/); assert.match(css, /grid-template-columns: minmax\(360px, 0\.38fr\) minmax\(0, 0\.62fr\)/); - assert.match(css, /\.proof-field\s*\{[^}]*height: 380px;/s); + assert.match(css, /\.proof-field\s*\{[^}]*height: 412px;/s); // Panels over a live canvas fade towards their canvas instead of painting a // flat near-opaque plate, matching .experience-field / .about-field. assert.match(css, /\.contact-card\.veil-panel[^{]*\{[^}]*linear-gradient\(90deg, var\(--veil\), var\(--veil\) 46%, transparent 100%\)/s); From eaf271d1c3f7c4c81411d4ca47e79024dbb93cb5 Mon Sep 17 00:00:00 2001 From: axisrow Date: Thu, 13 Aug 2026 18:40:58 +0700 Subject: [PATCH 3/3] fix: correct stale starred_projects counter (7 -> 16) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit starred_projects was a manually maintained counter that had drifted from reality — 16 original (non-fork) repositories currently have at least 1 star, not 7. Fix it in profile/projects.json (the source of truth the daily bot sync reads) and mirror it into index.html so the next bot run doesn't revert the on-page value. Also syncs merged_upstream_prs to 38 in projects.json to match the value already updated in index.html earlier in this branch. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01WcpqPB7ecX6NVukyEGUrax --- index.html | 8 ++++---- profile/projects.json | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/index.html b/index.html index ac1af5e..ee76fc0 100644 --- a/index.html +++ b/index.html @@ -4,12 +4,12 @@ axisrow — Python engineer - + - + @@ -105,7 +105,7 @@

AXISROW

Starred projects
-
7
+
16
@@ -276,7 +276,7 @@

Independent Python Engineer

Telegram automation · AI agent tooling · data & finance

  • Production services built around Python, asyncio, agents, and APIs.
  • -
  • Author of 7 starred open-source projects.
  • +
  • Author of 16 starred open-source projects.
  • 106 stars across original work and maintained forks.
diff --git a/profile/projects.json b/profile/projects.json index 59a29f7..79de596 100644 --- a/profile/projects.json +++ b/profile/projects.json @@ -10,8 +10,8 @@ "stars_earned": 104, "fork_stars": 5, "star_history_start": "2026-03-01", - "merged_upstream_prs": 37, - "starred_projects": 7, + "merged_upstream_prs": 38, + "starred_projects": 16, "_note": "stars_earned includes 5 stars on forks; the graph uses a 2026-03-01 opening balance plus GitHub star events and ends at 99 original-repository stars" },