Skip to content

fix(readme): link release badges to the filtered release page#89

Merged
konard merged 3 commits into
mainfrom
issue-88-82c1eee49462
May 12, 2026
Merged

fix(readme): link release badges to the filtered release page#89
konard merged 3 commits into
mainfrom
issue-88-82c1eee49462

Conversation

@konard
Copy link
Copy Markdown
Member

@konard konard commented May 12, 2026

Summary

  • The C# Release / Rust Release shields.io badges in README.md displayed the per-language version but the badge link target was the generic /releases page, mixing C# and Rust releases. Clicking the C# v2.4.0 badge could land on a Rust release.
  • Switch the badge targets to GitHub's filtered releases page using the language prefix from the release title: C# for C# releases, Rust for Rust releases, with &expanded=true so the latest release card opens inline at the top.
  • Add docs/case-studies/issue-88/ capturing the issue, PR, release data, probe logs, template snapshots, and a full case-study analysis.

Fixes #88

Root cause

In Markdown [![alt](image)](target), the badge image and the link target are independent. The image was set up with shields.io filter=csharp-v* so it shows the latest C# tag, but the link target was the unfiltered /releases URL. Markdown cannot derive the target from the image (no JS), and GitHub's /releases/latest ignores filter, so a language-scoped target URL is needed.

The fix uses GitHub's releases?q=<title-prefix>&expanded=true which displays only the language's releases with the latest one expanded at the top, agreeing with the badge image.

Diff (README.md)

-[![C# Release](https://img.shields.io/github/v/release/link-foundation/link-cli?filter=csharp-v*&label=C%23%20release)](https://github.com/link-foundation/link-cli/releases)
-[![Rust Release](https://img.shields.io/github/v/release/link-foundation/link-cli?filter=rust-v*&label=Rust%20release)](https://github.com/link-foundation/link-cli/releases)
+[![C# Release](https://img.shields.io/github/v/release/link-foundation/link-cli?filter=csharp-v*&label=C%23%20release)](https://github.com/link-foundation/link-cli/releases?q=C%23&expanded=true)
+[![Rust Release](https://img.shields.io/github/v/release/link-foundation/link-cli?filter=rust-v*&label=Rust%20release)](https://github.com/link-foundation/link-cli/releases?q=Rust&expanded=true)

Template comparison

Per issue #88 requirements, the three referenced CI/CD templates were compared:

  • csharp-ai-driven-development-pipeline-template/README.md: no GitHub release version badge.
  • js-ai-driven-development-pipeline-template/README.md: no header badges at all.
  • rust-ai-driven-development-pipeline-template/README.md: no GitHub release version badge.

None of the templates publish multiple languages from one repository, so they have no per-language filter badge and therefore no matching defect to report upstream. Detailed in docs/case-studies/issue-88/README.md.

Case study

Full analysis with reconstructed timeline, requirement list, root cause, alternatives considered, and validation steps: docs/case-studies/issue-88/README.md

Evidence (issue/PR/release JSON, probe headers, template snapshots) is preserved in:

  • docs/case-studies/issue-88/github-data/
  • docs/case-studies/issue-88/logs/
  • docs/case-studies/issue-88/templates/

Test plan

  • curl -sI 'https://github.com/link-foundation/link-cli/releases?q=C%23&expanded=true' returns HTTP 200. Evidence: docs/case-studies/issue-88/logs/releases-q-csharp-headers.txt.
  • curl -sI 'https://github.com/link-foundation/link-cli/releases?q=Rust&expanded=true' returns HTTP 200. Evidence: docs/case-studies/issue-88/logs/releases-q-rust-headers.txt.
  • Inspecting the rendered HTML of releases?q=C%23&expanded=true shows only C# v2.4.0 and excludes Rust releases.
  • Inspecting the rendered HTML of releases?q=Rust&expanded=true shows only Rust v0.1.0 and excludes C# releases.
  • After merge: open the rendered README on main and click each release badge to confirm landing on the expanded latest release of the matching language.

Adding .gitkeep for PR creation (default mode).
This file will be removed when the task is complete.

Issue: #88
@konard konard self-assigned this May 12, 2026
konard added 2 commits May 12, 2026 22:02
The C# Release and Rust Release shields.io badges in README.md
displayed a per-language version (csharp-v*, rust-v*) but their
Markdown link target pointed at the generic /releases page, which
mixes C# and Rust releases. Clicking the C# v2.4.0 badge could land
on a Rust release whenever Rust released last.

Change the link target to the filtered releases page using the same
language selector encoded in the GitHub release-title prefix:

- C# badge: /releases?q=C%23&expanded=true
- Rust badge: /releases?q=Rust&expanded=true

This always lands on the latest release of the matching language with
the release notes expanded inline, so the page agrees with the badge.

Markdown cannot derive the target from the badge image (no JS), and
GitHub's /releases/latest ignores any per-language filter, so a
language-scoped target URL is required.
Force-include curl -I header dumps under docs/case-studies/issue-88/logs/
so the evidence referenced from the case-study README stays in the repo.
.gitignore excludes Logs/ for build output, but case-study evidence is
checked in alongside the analysis as in issue-86.
@konard konard changed the title [WIP] C# release has no badge to its specific version fix(readme): link release badges to the filtered release page May 12, 2026
@konard konard marked this pull request as ready for review May 12, 2026 22:03
@konard
Copy link
Copy Markdown
Member Author

konard commented May 12, 2026

Working session summary

Confirmed: all three workflows are scoped to their language directories. A README-only change correctly skips them.

The work is done. Summary:

  • Fix: README.md lines 8–9 — the C# Release and Rust Release badges now point to language-filtered, expanded release pages (/releases?q=C%23&expanded=true, /releases?q=Rust&expanded=true) so clicking the badge lands on the latest release of the matching language with its notes expanded. This matches the per-language filter already encoded in the badge image.
  • Case study: docs/case-studies/issue-88/ contains the analysis, timeline, root cause, alternatives, template comparison, evidence JSON, probe header logs, and template README snapshots.
  • Templates: None of the three referenced CI/CD templates carry the same defect (no per-language release version badge), so no upstream issue was filed.
  • PR: fix(readme): link release badges to the filtered release page #89 retitled, described in full, marked ready for review.

This summary was automatically extracted from the AI working session output.

@konard
Copy link
Copy Markdown
Member Author

konard commented May 12, 2026

🤖 Solution Draft Log

This log file contains the complete execution trace of the AI solution draft process.

💰 Cost: $2.822198

📊 Context and tokens usage:

Claude Opus 4.7:

  • 71.1K / 1M (7%) input tokens, 19.0K / 128K (15%) output tokens

Total: (76 new + 114.3K cache writes + 3.2M cache reads) input tokens, 19.0K output tokens, $2.810175 cost

Claude Haiku 4.5:

  • 9.4K / 200K (5%) input tokens, 524 / 64K (1%) output tokens

Total: 9.4K input tokens, 524 output tokens, $0.012023 cost

🤖 Models used:

  • Tool: Anthropic Claude Code
  • Requested: opus
  • Main model: Claude Opus 4.7 (claude-opus-4-7)
  • Additional models:
    • Claude Haiku 4.5 (claude-haiku-4-5-20251001)

📎 Log file uploaded as Gist (1506KB)


Now working session is ended, feel free to review and add any feedback on the solution draft.

@konard konard merged commit af58062 into main May 12, 2026
@konard
Copy link
Copy Markdown
Member Author

konard commented May 12, 2026

🎉 Auto-merged

This pull request has been automatically merged by hive-mind.

  • CI workflows exist but were not triggered for this commit

Auto-merged by hive-mind with --auto-merge flag

konard added a commit that referenced this pull request May 12, 2026
Update issue-88 case study to cover both layers: the README badge fix
shipped in #89 and the C# release body NuGet badges shipped here in
#90. Snapshot the upstream csharp template and post-fix release data
for evidence.
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.

C# release has no badge to its specific version

1 participant