Skip to content

Docs drift: mark the MCP client config fence instead of baselining its keys - #58

Merged
DrAlexHarrison merged 1 commit into
mainfrom
driftfence
Oct 1, 2026
Merged

DrAlexHarrison merged 1 commit into
mainfrom
driftfence

Conversation

@DrAlexHarrison

Copy link
Copy Markdown
Member

What: check-docs-drift.py skips the field check for a json fence preceded by an MDX comment {/* docs-drift: not-api */}. The MCP client config example on guides/mcp-integration.mdx carries it, and its three keys (headers, saturday, transport) leave api-drift-baseline.txt.

Why: those keys were baseline limit entries. The field check accepts any Go json:"..." tag in fuel-backend, so a limit entry goes stale, and fails an unrelated backend PR, the day any struct gains a tag with that name. SaturdayInc/fuel-backend#1333 (the Wahoo 48-hour deletion tool) decodes Gmail's message JSON with a json:"headers" tag; its Docs Drift went red and the merge queue held it. Marking the fence removes that coupling for these keys: the result no longer depends on fuel-backend's tag set.

  • Endpoints and webhook event names inside a marked fence are still checked.
  • A stale field entry now prints the file its name resolves to (now known from cmd/wahoo-deletion/intake.go), so the backend author sees the cause.
  • Go files are walked in sorted order, so that file name is the same on every machine.

User-visible impact: none. The MDX comment does not render (mint validate passes).

Verified: checker clean against fuel-backend main and against wahoodel (#1333's head); with the marker removed, all three keys report as drift against main; a prose line between marker and fence turns the skip off.

cramp stays a limit entry: it is a key inside a real API payload, so the fence cannot be skipped.

🤖 Generated with Claude Code

https://claude.ai/code/session_01K7oRCFcRzCtTKYiz8VL19k

…the page, not baselined

The MCP client config example's keys (headers, saturday, transport) were
baseline limit entries. A limit entry goes stale, and fails a backend PR,
as soon as any Go struct gains a tag with that name: fuel-backend #1333's
Gmail response struct tags headers, so its Docs Drift went red and held
it out of the merge queue.

The fence now carries {/* docs-drift: not-api */} and its keys are not
field-checked; endpoints and event names in it still are. The three
entries leave the baseline. A stale field entry names the file its name
now resolves to.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01K7oRCFcRzCtTKYiz8VL19k

Ci-From: linux
Ci-Session: e91a22ea-59f0-4998-92ce-67dd29b5f2cb
@DrAlexHarrison
DrAlexHarrison merged commit 496aa22 into main Oct 1, 2026
5 checks passed
@DrAlexHarrison
DrAlexHarrison deleted the driftfence branch October 1, 2026 09:31
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.

1 participant