fix(registry): align server.json with the published registry entry, and gate its description - #337
Merged
Merged
Conversation
The description still advertised "72 references" — a figure the doc-claim gate already corrected everywhere else to a 97-reference bibliography behind 36 mechanisms (see CHANGELOG "Stale documentation claims corrected"). server.json escaped it because check_doc_claims.py only asserts that file's `version` field. Rewritten to lead with the measured 36 mechanisms, within the schema's 100-char description cap. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
server.json is served verbatim by the MCP registry, so a stale number in its
description is published to every registry client. The gate only asserted that
file's `version` field, which is how the description kept advertising "72
references" — two corrections behind the 97-reference bibliography — and shipped
that way to the registry.
Adding it to SCANNED_FILES was not enough on its own: MECHANISM_CLAIM did not
match the qualified phrasing ("36 cited neuroscience mechanisms"), so the claim
parsed as no claim at all. The same blind spot covered the README lede's "36
cited brain mechanisms", never asserted against the canonical count either.
`cited` is now an optional qualifier.
Verified by falsification: rewriting the description to 35 fails the gate with
"server.json:4: advertises 35 mechanisms, canonical is 36" (exit 1).
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
cdeust
added a commit
that referenced
this pull request
Aug 2, 2026
…he build (#338) Both image builds pre-cache the embedding model with a single-shot network fetch. A transient huggingface.co blip therefore fails the build outright: CI run 30749502167 (PR #337, 2026-08-02) died on "We couldn't connect to 'https://huggingface.co'" after 73s, on a commit whose diff touched neither Dockerfile nor any of their dependencies. Re-running the same job with no code change passed — the fetch, not the change, decided the outcome. ci.yml already solved this in four places (attempts + backoff + loud failure). The Dockerfiles were the paths that never got it. This mirrors that idiom verbatim, constants included, and cites it as the source. The devcontainer image gets the same treatment for its FlashRank prewarm: failing loudly after the retries is deliberate there, since a silently unprewarmed image reproduces the 2026-07-11 silent-reranker incident one layer up. No BuildKit cache mount: the runtime stage COPYs the HF cache out of the builder layer, and a cache mount is not part of the layer. scripts/setup.sh performs the same fetch but is deliberately left alone — it already degrades to "will download on first use" instead of failing, so retries would buy no correctness and cost up to 100s of silent wait in an interactive installer. Verified: both RUN bodies joined the way Docker joins continuations parse under `sh -n`; all three `python -c` payloads compile; the retry helper returns 0 on the success path and propagates non-zero after exhausting attempts. Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Contexte
L'entrée
hypermnesia-mcpdu registre MCP officiel a été republiée en 4.17.1 le 2026-08-02. Deux écarts constatés entre leserver.jsondu dépôt et ce qui est publié / ce que le schéma autorise :descriptionnon conforme — le schéma du registre plafonne le champ à 100 caractères, la description GitHub (290-380 car.) n'est donc pas copiable telle quelle ; la version courte publiée n'était pas reflétée dans le dépôt.websiteUrlabsent — l'entrée publiée pointe vershttps://ai-architect.tools.Sans ce commit, le dépôt et le registre divergent silencieusement : rien ne le détecte.
Changements
server.json: description alignée sur l'entrée publiée (≤ 100 car.) + ajout dewebsiteUrl.scripts/check_doc_claims.py: la gate n'assertait que la version deserver.json. Elle asserte désormais aussi sa description, de sorte qu'une dérive du claim mécanisme dans ce fichier échoue en CI comme dans les autres documents scannés.MECHANISM_CLAIMne matchait pas « 36 cited neuroscience mechanisms » ni le chapô README « 36 cited brain mechanisms » — le qualificatifcitedest rendu optionnel.Vérification
scripts/check_doc_claims.py→ exit 0.ruff check+ruff format --checkpropres.active, sha256 juste.Note
Ces deux commits étaient sur
fix/release-workflow-network-hardening, dont la PR #335 a été mergée en squash avant qu'ils ne soient inclus. Ils sont ici rebasés proprement surmain.🤖 Generated with Claude Code