Skip to content

chore(distribution): standardise tool count on 19 + amend cascade docs (Glama auto-publish verified)#46

Merged
SoapyRED merged 2 commits into
mainfrom
chore/tool-count-standardize-19-and-cascade-docs
May 18, 2026
Merged

chore(distribution): standardise tool count on 19 + amend cascade docs (Glama auto-publish verified)#46
SoapyRED merged 2 commits into
mainfrom
chore/tool-count-standardize-19-and-cascade-docs

Conversation

@SoapyRED
Copy link
Copy Markdown
Owner

Summary

Sprint distribution-closure-tool-count-and-cascade-docs. Two commits:

  1. Phase 1 — diagnosis (docs(audit): tool-count standardise diagnosis (Phase 1)). Audit-only commit listing every stale tool-count occurrence in this repo with file:line and what each should become. Landed BEFORE any copy was changed per sprint hard rule.
  2. Phase 2 + 3 — copy edits + cascade-doc amendments (chore(distribution): standardise tool count on 19; amend cascade docs). Both phases in one commit since they're tightly coupled and Phase 1 was the gating commit.

Phase 1 — audit findings (committed at docs/audit/tool-count-standardise-2026-05-17.md)

The canonical count is 19 (MCP-surface — 18 REST endpoints + get_subscribe_link meta-tool). Verified by scripts/smoke-test.mjs:633/647/660/675 which asserts toolCount: 19 and hasTool: 'get_subscribe_link' on /api/mcp tools/list.

Surface-by-surface truth table:

Surface Underlying count
REST API (/api/tools, /api/health) 18 (per lib/api-tools-registry.ts)
MCP (/api/mcp, /api/mcp/mcp, npm freightutils-mcp, MCP Registry) 19 (includes get_subscribe_link)

Per sprint hard rule "standardise on 19 across all copy. Do not introduce 18 anywhere new", the site copy now reports 19.

Phase 2 — in-repo edits

File Change
lib/constants/siteStats.ts toolCount: 18 → 19, mcpToolCount: 18 → 19. Propagates automatically to homepage, /about, /api-docs.
FREIGHTUTILS_STRATEGY.md mcp.directory bullet "live v2.1.0 / 18 tools""live v2.1.1 / 19 tools".

LEFT as-is (historical narrative correctly describing past/external state — see Phase 1 audit doc §"In-repo findings — historical / no-change" for the full list):

  • Historical changelog entries in CHANGELOG.md, lib/changelog-data.ts referencing "11 tools" / "18 tools" in past-state context (PR fix(distribution): cut GitHub Releases on tag push (Glama tracking gap) #45, B003 bug-fix entry, etc.).
  • STATE.md lines 63 / 144 / 224 describing past Glama state.
  • docs/audit/distribution-cascade-2026-05-16.md forensic record (lines 99, 104, 112, 192, 258, 322, 346).

Build verification on local prod-build:

/                  →  "19 tools and 19 API endpoints"
/about             →  "19 free freight calculators"
/api-docs          →  "AI agents direct access to all 19 freight calculation and reference tools"
/changelog         →  new entry rendered

Phase 3 — cascade-doc amendments (Glama mental-model correction)

Chrome verification confirmed: Glama auto-publishes its build artefact when the scrape-derived build succeeds. The "Build succeeded for FreightUtils MCP Server" maintainer email is informational, no "Create a release" click required. Maintenance grade C → B confirmed post-publish.

Recurring lesson — third cascade drift in three days:

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) "Tag push enough; Smithery + Glama scrape independently" Glama specifically scrapes the GitHub Releases API — tag without Release is invisible to Glama.
2026-05-17 (afternoon, this sprint) "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.

Encoded changes:

  • CLAUDE.md "Distribution cascade" → Glama bullet rewritten + new one-liner: "verify Glama behaviour, do not predict it — Chrome it, do not infer it from registry semantics."
  • STATE.md distribution surfaces table → Glama row Maintenance grade C → B (post-publish); wording implying manual maintainer publish step removed.
  • docs/audit/distribution-cascade-2026-05-16.md → third amendment appended ("Amendment 2026-05-17 (afternoon): Glama auto-publishes on successful build").

External follow-ups (out of this sandbox's SoapyRED/freightutils-mcp repo access)

Listed in docs/audit/tool-count-standardise-2026-05-17.md §"External" with exact target text + URLs. Summary:

Surface Target action URL
SoapyRED/freightutils-mcp/README.md Enumerate 19 tools. Add a "Subscription helpers" subsection that tags get_subscribe_link as a meta-tool (not a freight calculator) so users don't expect another calculator. https://github.com/SoapyRED/freightutils-mcp/blob/main/README.md
SoapyRED/freightutils-mcp/server.json description (≤100 chars — do NOT regress past 100) Suggested: "AI agent access to 19 freight tools — DG, HS, customs, airlines, UN/LOCODE, more" (89 chars) https://github.com/SoapyRED/freightutils-mcp/blob/main/server.json
SoapyRED/freightutils-mcp/package.json description (npm registry surface) Match server.json target above. https://www.npmjs.com/package/freightutils-mcp
Glama listing description (dashboard-frozen — glama.json only accepts maintainers) Refresh via dashboard edit to mirror the server.json target. https://glama.ai/mcp/servers/SoapyRED/freightutils-mcp
Glama Overview text Will re-derive automatically on next Glama scrape after freightutils-mcp README + server.json + package.json land. (same URL)
punkpeye/awesome-mcp-servers PR #5358 Confirm description already states "19 freight tools" pre-merge. Target text already drafted in docs/audit/distribution-cascade-2026-05-16.md:198. punkpeye/awesome-mcp-servers#5358
mcp.directory, Smithery, Postman, RapidAPI Re-scrape / Soap-manual; not blocking in-repo sprint exit.

FAULT 5 release-hygiene checklist

  • siteStats.ts updated (toolCount 18→19, mcpToolCount 18→19).
  • CHANGELOG.md entry added (top of 2026-05-17 section).
  • lib/changelog-data.ts mirror entry added (new entry above the existing 17 May MCP Update entry).
  • /changelog renders the new entry (verified in built static HTML — both versions render).
  • No new pages → app/sitemap.ts untouched (N/A).
  • No new endpoints → public/openapi.json untouched (N/A).
  • No new tool → MCP server registration untouched (N/A; the 19 number was always correct on the MCP surface — this PR fixes the copy that reported 18).
  • Distribution sync (FAULT 13): cross-surface drift addressed; external follow-ups itemised above.
  • Smoke test PASS against preview — pending Vercel preview build.
  • Sentry quiet via prod-curl 5xx proxy — pending post-merge verification.

Sprint exit criteria

  • docs/audit/tool-count-standardise-2026-05-17.md committed listing every stale-count occurrence found (Phase 1).
  • All in-repo stale counts updated to 19 (Phase 2).
  • PR body lists external follow-ups with exact target text and URLs (above).
  • CLAUDE.md "Distribution cascade" section amended (Phase 3).
  • STATE.md Glama row amended; distribution surfaces table accurate (Phase 3).
  • docs/audit/distribution-cascade-2026-05-16.md third amendment committed (Phase 3).
  • FAULT 5 checklist applied (above).
  • Smoke test green on prod — pending merge + verification.
  • Sentry-quiet 5xx proxy: 0/5 5xx post-merge — pending verification.

🤖 Generated with Claude Code


Generated by Claude Code

claude added 2 commits May 18, 2026 18:50
Diagnosis-only commit. Lands BEFORE any copy is changed per sprint hard
rule "diagnosis lands as a commit before any copy is changed".

Findings summary:
- siteStats.ts:5 toolCount: 18 → 19  (propagates to homepage, /about,
  /api-docs)
- siteStats.ts:7 mcpToolCount: 18 → 19  (genuinely stale; MCP surface IS
  19, verified by scripts/smoke-test.mjs assertion at lines 633/647/660/
  675 plus hasTool: 'get_subscribe_link')
- FREIGHTUTILS_STRATEGY.md:54 "live v2.1.0 / 18 tools" → "live v2.1.1 /
  19 tools"
- All other in-repo "11 / 18" occurrences are historical narrative
  (STATE.md PR-#45 entry, CHANGELOG.md release notes, changelog-data.ts
  archive, distribution-cascade audit doc forensic record). LEAVE.

Surface architecture documented:
- REST API surface = 18 (api-tools-registry.ts)
- MCP surface = 19 (REST 18 + get_subscribe_link meta-tool)
- STATE.md:10 leads with the MCP-surface number for both surfaces, per
  sprint directive to standardise.

External follow-ups for the PR body (out of this sandbox's repo scope):
- SoapyRED/freightutils-mcp README.md, server.json (≤100 char), package.
  json descriptions — must enumerate 19 tools and tag get_subscribe_link
  as a meta-tool, not a freight calculator
- Glama listing description (dashboard-only edit) — currently frozen at
  "11 freight calculation and reference tools"
- punkpeye/awesome-mcp-servers PR #5358 — already targets 19, confirm
  pre-merge
- Smithery, Glama Overview, mcp.directory — will re-derive on next scrape

Glama mental-model amendment (Phase 3 prep): Chrome verification confirms
Glama auto-publishes builds when they succeed. The "Build succeeded for
FreightUtils MCP Server" email is informational, no maintainer click
required. CLAUDE.md + STATE.md currently lead with the Releases-scrape
framing without noting the auto-publish behaviour.
Phase 2 + Phase 3 of the distribution-closure sprint. Diagnosis (Phase 1)
landed in the prior commit at docs/audit/tool-count-standardise-2026-05-17.md.

Phase 2 — copy standardisation:
- lib/constants/siteStats.ts: toolCount 18 → 19, mcpToolCount 18 → 19.
  Propagates to homepage ("19 tools and 19 API endpoints"), /about
  ("19 free freight calculators"), and /api-docs ("AI agents direct
  access to all 19 freight calculation and reference tools").
- FREIGHTUTILS_STRATEGY.md: mcp.directory bullet "live v2.1.0 / 18 tools"
  → "live v2.1.1 / 19 tools".
- Historical "11" / "18" mentions in changelog entries, STATE.md PR-#45
  record, and the distribution-cascade audit doc's forensic record are
  LEFT — they correctly describe past or external state. See the Phase 1
  audit doc for the full leave-vs-update inventory.

Phase 3 — cascade-doc amendments (Glama mental-model correction):
- CLAUDE.md "Distribution cascade" section Glama bullet rewritten to
  reflect verified reality: Glama auto-publishes its build artefact on
  successful scrape-derived build — the "Build succeeded for FreightUtils
  MCP Server" maintainer email is informational, no "Create a release"
  click required. Added one-liner "Glama mental-model history: cascade
  was repeatedly mis-described in our docs/memory. Verify Glama
  behaviour, do not predict it — Chrome it, do not infer it from
  registry semantics." Third drift in three days.
- STATE.md distribution surfaces table: Glama row Maintenance grade
  C → B (post-publish). Notes amended to remove any wording implying a
  manual maintainer publish step. Auto-publish behaviour now explicit.
- docs/audit/distribution-cascade-2026-05-16.md: third amendment block
  "Amendment 2026-05-17 (afternoon): Glama auto-publishes on successful
  build" appended. Documents the recurring-lesson table (three cascade
  drifts since 2026-05-15) and confirms Maintenance grade C → B
  post-publish.

FAULT 5:
- CHANGELOG.md + lib/changelog-data.ts entries added for /changelog page.
- tsc clean. next build green. Static HTML for /, /about, /api-docs,
  /changelog all render 19 / new entry.

External follow-ups (out of this sandbox's repo access; listed in the PR
body with exact target text + URLs):
- SoapyRED/freightutils-mcp README.md: enumerate 19 tools, add a
  "Subscription helpers" subsection tagging get_subscribe_link as a
  meta-tool (not a freight calculator).
- SoapyRED/freightutils-mcp server.json description: ≤100 char, must
  mention 19 tools. Suggested: "AI agent access to 19 freight tools —
  DG, HS, customs, airlines, UN/LOCODE, more" (89 chars).
- SoapyRED/freightutils-mcp package.json description (npm registry):
  match server.json target.
- Glama dashboard description field (frozen, not in glama.json): refresh
  via dashboard edit to mirror the server.json target.
- punkpeye/awesome-mcp-servers PR #5358: confirm description already
  states "19 freight tools" pre-merge.
@vercel
Copy link
Copy Markdown

vercel Bot commented May 18, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
freighttools Ready Ready Preview, Comment May 18, 2026 6:58pm

Request Review

@SoapyRED SoapyRED marked this pull request as ready for review May 18, 2026 18:59
@SoapyRED SoapyRED merged commit e9749a8 into main May 18, 2026
2 checks passed
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.

2 participants