Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ Subscribe via RSS: <https://www.freightutils.com/changelog.xml>

## 2026-05-17

- **Distribution**: Tool-count standardised on **19** across all in-repo copy + cascade docs amended. `SITE_STATS.toolCount` and `SITE_STATS.mcpToolCount` in [`lib/constants/siteStats.ts`](lib/constants/siteStats.ts) both moved from `18` → `19`, propagating to the homepage, `/about`, and `/api-docs` automatically. `FREIGHTUTILS_STRATEGY.md` mcp.directory bullet updated to "live v2.1.1 / 19 tools". Historical narrative references to "11" and "18" in changelog entries, the cascade audit doc, and STATE.md PR-#45 record are intentionally LEFT — they correctly describe past or external state. CLAUDE.md "Distribution cascade" section + STATE.md distribution-surfaces table Glama row amended to encode the verified cascade behaviour: **Glama auto-publishes its build artefact on successful scrape-derived build — the "Build succeeded" maintainer email is informational, no "Create a release" click required**. Maintenance grade C → B confirmed post-publish. Added a one-liner mental-model rule: "verify Glama behaviour, do not predict it — Chrome it, do not infer it from registry semantics" (third drift in three days). Audit: [docs/audit/tool-count-standardise-2026-05-17.md](docs/audit/tool-count-standardise-2026-05-17.md). Cascade audit appended: [docs/audit/distribution-cascade-2026-05-16.md](docs/audit/distribution-cascade-2026-05-16.md) (2026-05-17 afternoon amendment). External follow-up — Soap-manual edits to `SoapyRED/freightutils-mcp` README + `server.json` (≤100 char) + npm `package.json` descriptions, and the Glama dashboard description field — listed with exact target text in the PR body.
- **Distribution**: Glama Release-tracking gap closed. Chrome verification revealed Glama still on "Latest release: v1.0.0" + Tool Definition cache at 11 tools + Maintenance grade C — despite Sprint 1's MCP Registry cascade fix. Diagnosed that Glama scrapes the GitHub Releases API specifically; the publish workflow on [`SoapyRED/freightutils-mcp`](https://github.com/SoapyRED/freightutils-mcp) didn't cut Releases. Extended `publish-registry.yml` with a final step that creates a GitHub Release on every tag push (notes from `CHANGELOG.md`, `--latest=true` when the version matches MCP Registry isLatest); plus an idempotent guard on the publish step so re-runs on already-published versions are no-ops. Backfilled four historical Releases (v2.1.1 Latest, v2.1.0, v2.0.0, v1.1.0) via `workflow_dispatch`. Glama re-scrape lag is days, not hours — Chrome re-verify in 3–5 days. Companion PR: [SoapyRED/freightutils-mcp#3](https://github.com/SoapyRED/freightutils-mcp/pull/3) MERGED. Audit amendment: [docs/audit/distribution-cascade-2026-05-16.md](docs/audit/distribution-cascade-2026-05-16.md) (2026-05-17 section). CLAUDE.md "Distribution cascade" section amended.

## 2026-05-16
Expand Down
3 changes: 2 additions & 1 deletion CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,8 @@ Canonical version source for the MCP surface is **`SoapyRED/freightutils-mcp/pac
**Days-of-lag scrape (no event link; do not block sprint on movement):**

- **Smithery** — re-fetches npm + HTTP MCP endpoint on its own cadence. Score won't move same-day a release publishes. If past 7 days and still stale, request manual rescan via dashboard.
- **Glama** — scrapes the **GitHub Releases API specifically** (not git tags, not the MCP Registry). The "Latest release" cache, Tool Definition cache, and Maintenance grade all refresh on the next Glama scrape AFTER a Release is published. Description field is dashboard-frozen (not in `glama.json`, which only accepts `maintainers`). To refresh the description, Soap edits via dashboard. The 2026-05-17 amendment to the audit doc covers the Release-API specifics — diagnosed because Sprint 1's tag-push cascade made Registry catch up but Glama remained on its first-ever scrape value.
- **Glama** — scrapes the **GitHub Releases API specifically** (not git tags, not the MCP Registry). The "Latest release" cache, Tool Definition cache, and Maintenance grade refresh on the next Glama scrape after a Release is published. **Glama auto-publishes its build artefact when the scrape-derived build succeeds — the "Build succeeded for FreightUtils MCP Server" email is informational, no maintainer "Create a release" click required.** Maintenance grade upgrades (e.g. C → B) occur on the next scrape after the Release is cut and the auto-publish runs. Description field is dashboard-frozen (not in `glama.json`, which only accepts `maintainers`); to refresh the description Soap edits via dashboard. The 2026-05-17 amendment(s) to the audit doc cover the Release-API specifics — diagnosed because Sprint 1's tag-push cascade made Registry catch up but Glama remained on its first-ever scrape value.
- **Glama mental-model history:** cascade was repeatedly mis-described in our docs/memory (three drifts since 2026-05-15). **Verify Glama behaviour, do not predict it** — Chrome it, do not infer it from registry semantics.

**Manual UI work every release (no automation):**

Expand Down
2 changes: 1 addition & 1 deletion FREIGHTUTILS_STRATEGY.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ Honest measured signals only:
- GitHub `freightutils-mcp` — 2 stars
- PulseMCP — listed at #3,270 global, "5.3k visitors all-time, 1.1k this week" = algorithmic estimate, not measured
- Official MCP Registry — listed, manifest-only, no rank/install/popularity exposed
- mcp.directory — listed but stale (lists v1.0.0 / 11 tools vs live v2.1.0 / 18 tools); the "22 reviews / 4.4 rating" was SEO JSON-LD metadata, not real user reviews
- mcp.directory — listed but stale (lists v1.0.0 / 11 tools vs live v2.1.1 / 19 tools); the "22 reviews / 4.4 rating" was SEO JSON-LD metadata, not real user reviews
- Glama — listed, 1 favorite (likely test/Soap)
- Zero independent editorial coverage on Reddit, HN, dev.to, Medium, LinkedIn (beyond Marius's own posts)

Expand Down
2 changes: 1 addition & 1 deletion STATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,7 @@ Scrape-path scope (single regex): `^/(hs/(code|heading|chapter|section)|adr|airl
| MCP Registry | **v2.1.1 (isLatest)** | published 2026-05-16T10:12Z | Workflow fires on tag push (`v*`), Release published, or `workflow_dispatch`. Publish step is now idempotent (skip if version already in Registry history). Catch-up: `gh workflow run "Publish to MCP Registry" --repo SoapyRED/freightutils-mcp --ref main`. Reference: `docs/audit/distribution-cascade-2026-05-16.md`. |
| GitHub Releases (freightutils-mcp) | **v2.1.1 (Latest)** + v2.1.0, v2.0.0, v1.1.0 | backfilled 2026-05-17 | Cut automatically by the publish workflow's final step on every tag push (notes from `CHANGELOG.md`). v1.0.5 / v1.0.4 historical tags deferred — no CHANGELOG entries; backfill is Soap-manual if ever needed. |
| Smithery | listed | **88/100 · 28 uses · 13 daily sessions** (pre-rescrape) | Scrape-based, days-of-lag after `freightutils-mcp` publish. No event link from MCP Registry. Rescrape on v2.1.1 pending. |
| Glama | listed | License A · Quality A · **Maintenance C** | **Tracks the GitHub Releases API specifically.** Stale "Latest release: v1.0.0" + Tool Definition cache at 11 tools + Maintenance grade C were all downstream of the missing Releases — addressed by the 2026-05-17 release-gap sprint. Glama re-scrapes on its own cadence (days, not hours); Chrome re-verify in 3–5 days. Description still dashboard-frozen; `glama.json` schema only accepts `maintainers`. |
| Glama | listed | License A · Quality A · **Maintenance B (post-publish)** | **Tracks the GitHub Releases API specifically.** Stale "Latest release: v1.0.0" + Tool Definition cache at 11 tools + Maintenance grade C were all downstream of the missing Releases — addressed by the 2026-05-17 release-gap sprint. **Glama auto-publishes its build artefact on successful scrape-derived build; the "Build succeeded" maintainer email is informational, no manual "Create a release" click required.** Maintenance C → B confirmed post-publish (2026-05-17). Glama re-scrapes on its own cadence (days, not hours); Chrome re-verify lag. Description still dashboard-frozen (`glama.json` schema only accepts `maintainers`) — Soap-manual dashboard edit pending. |
| awesome-mcp-servers | listed | PR #5358 OPEN (17→19, v2.1.1) | Punkpeye-merge pending. PR description carries Glama badge + grades per April 2026 policy. |
| Postman | live | 0 views / 0 forks | — |
| RapidAPI | Pro live | — | — |
Expand Down
36 changes: 36 additions & 0 deletions docs/audit/distribution-cascade-2026-05-16.md
Original file line number Diff line number Diff line change
Expand Up @@ -428,3 +428,39 @@ The Sprint 1 docs covered "Smithery + Glama scrape independently" correctly. Thi
- CLAUDE.md "Distribution cascade" section: amend the Glama bullet to "re-scrapes GitHub Releases on its own cadence."
- `STATE.md` distribution surfaces table — Glama row: add "tracks GitHub Releases" detail.
- `freightutils-distribution` skill (external `Skills-Claude/freightutils-distribution.md`): same amendment.

---

## Amendment 2026-05-17 (afternoon): Glama auto-publishes on successful build

**Sprint:** `distribution-closure-tool-count-and-cascade-docs`
**Branch:** `chore/tool-count-standardize-19-and-cascade-docs`

Chrome verification ~hours after the 2026-05-17 release-gap fix landed surfaced a third correction to the cascade mental model:

- **Glama auto-publishes its build artefact when the scrape-derived build succeeds.** The "Build succeeded for FreightUtils MCP Server" email Soap received is informational — no maintainer "Create a release" click required, no dashboard action needed for the build to go live. The earlier framing in CLAUDE.md / STATE.md / this audit doc implied a manual maintainer publish step gating each new build; that's wrong.
- **Maintenance grade C → B is confirmed post-publish.** Driven by the successful Release cut + auto-publish run. The C grade was load-bearing on the missing-Releases signal alone, exactly as the 2026-05-17 (morning) amendment predicted.

### Recurring lesson: verify Glama behaviour, do not predict it

This is the **third time** in three days that the cascade has been mis-described in our docs/memory:

| Date | Wrong claim | Verified reality |
|---|---|---|
| 2026-05-15 (Sprint 1) | "MCP Registry GH Action cascades to Smithery + Glama auto-sync" | Smithery + Glama are scrape-based with days-of-lag. No cascade. |
| 2026-05-17 (morning, release-gap sprint) | "Smithery + Glama scrape independently; tag push enough" | Glama specifically scrapes the **GitHub Releases API** — tag push without Release publish is invisible to Glama. |
| 2026-05-17 (afternoon, this amendment) | "After Release publish, maintainer cuts the Glama build via dashboard" | Glama **auto-publishes** the build artefact when its scrape-derived build succeeds. Email is informational. |

CLAUDE.md "Distribution cascade" section now carries a "Glama mental-model history" one-liner: **verify Glama behaviour, do not predict it — Chrome it, do not infer it from registry semantics.**

### Phase 2 of this amendment

No code/workflow change required for this realisation — Glama's auto-publish is upstream of anything in our repos. The fix is documentation-only:

- CLAUDE.md "Distribution cascade" section: Glama bullet updated to note the auto-publish behaviour + "email is informational" + new "verify, do not predict" mental-model line.
- STATE.md distribution surfaces table Glama row: Maintenance grade updated `C` → `B (post-publish)`, notes amended to drop any wording implying a manual maintainer publish step, mention the auto-publish explicitly.

### What's still pending Soap-manual

- **Glama description dashboard edit** — description field is dashboard-frozen ("11 freight calculation and reference tools …"); `glama.json` only accepts `maintainers`. Independent of build cascade. Soap-manual when convenient.
- **freightutils-mcp README + server.json + package.json descriptions** — out of this sandbox's repo access. External follow-up per the companion audit `docs/audit/tool-count-standardise-2026-05-17.md`.
Loading