Commit Graph

131 Commits

Author SHA1 Message Date
Max Isbey ea01985871 ci: drop the canary's temporary branch trigger again
Second end-to-end branch run (31949021363) is green with the revised layout.

No-Verification-Needed: CI-only change (workflow trigger)
2026-08-16 13:13:00 +00:00
Max Isbey 00f5e50a81 ci: make the canary report reason over the planned matrix
Review feedback, taken as one structural change rather than patches:
the report classified whatever artifacts happened to arrive, so a cell
that timed out or lost its runner simply vanished (two passing cells
read as green and would have closed a live incident), a cancelled run
could still write to the issue, and any resolve-job failure was
reported as "cannot be resolved". Now the matrix is defined once and
published by the resolve job, the report checks every planned cell
against `needs.test.result`, a cell writes a provisional status before
doing anything, `uv lock` records whether it was the thing that failed,
and incomplete runs are their own class that comments on an open
incident instead of rewriting or closing it. Artifacts carry their own
top-level directory and are merged on download, so the layout no longer
depends on how many of them exist.

Smaller corrections from the same review: per-package cutoffs instead
of a global --exclude-newer (a freshly bumped exact pin elsewhere could
otherwise fail the resolution); the since-last-green diff uses the lock
the last green run actually uploaded rather than re-resolving today's
tree at an old cutoff; the issue's reproduce block is the literal
commands the job ran (group strip included) under `uvx uv@<version>`;
per-cell output is size-bounded at the source and the full report goes
to the step summary before any truncation; the flake/deprecation re-runs
key on whether pytest recorded failures rather than on its exit code;
titles say "nothing changed since last green" when that is the case;
bash runs with pipefail everywhere; the group-strip generator follows
include-group and default-groups = "all"; wording says tooling is
preferred at uv.lock, not frozen. The temporary branch trigger is back
for one more end-to-end run.

No-Verification-Needed: CI-only change (workflow + scripts/ci); scripts exercised locally, workflow verified by a branch run
2026-08-16 13:09:01 +00:00
Max Isbey 02dfbf5fb8 ci: drop the canary's temporary branch trigger
The workflow ran green end to end on the branch (run 31947729778), so
remove the push trigger that exercised it. Also read pyright's error
count rather than its last output line for the informational summary,
and silence its new-version nag.

No-Verification-Needed: CI-only change (workflow trigger + report cosmetics)
2026-08-16 12:44:52 +00:00
Max Isbey 1b0d968d13 ci: run CI on uv 0.11.33
The canary relies on `--exclude-newer` leaving locked versions in place
for packages it does not explicitly upgrade, which uv only guarantees
from 0.10 (astral-sh/uv#17721), and on relative cutoffs. Move every
workflow to the same pin so the canary and PR CI cannot disagree about
resolution semantics. 0.10/0.11 carry no breaking changes that touch how
this repo uses uv (frozen syncs, lowest-direct resolution, lock --check).

No-Verification-Needed: CI configuration only; exercised by PR CI itself
2026-08-16 12:40:59 +00:00
Max Isbey cf25635a75 ci: add a weekly newest-dependencies canary
Users installing `mcp` get the newest release of every dependency the day
it ships, but PR CI only tests uv.lock and the floors, so an upstream
release that breaks the SDK is currently noticed by users first (median
11 days across past incidents). Running "highest" on every PR was tried
and removed (#1869) because a half-uploaded release turns unrelated PRs
red; the weekly lock-bump PR that replaced it (#1874) never got merged.

This adds a scheduled workflow instead. Every Monday it re-resolves the
runtime closure of mcp[cli,rich] to the newest versions the specifiers
allow (test tooling stays at uv.lock, releases younger than a day are
ignored), runs the suite on ubuntu 3.10/3.14 and windows 3.14, and keeps
a single tracking issue in sync: opened and assigned when newest-allowed
breaks, refreshed while it stays broken, closed once it passes again.
Each cell re-runs failures serially and once more with deprecation
warnings demoted, so the issue says whether users are actually broken or
a dependency merely deprecated something. The report lists what changed
since the last green run, what is held below latest by someone else's
cap, and the exact command to reproduce the resolution.

It never runs on pull requests and never opens a PR adding a ceiling;
the issue carries the runbook and a maintainer decides.

No-Verification-Needed: CI-only change (workflow + scripts/ci); scripts exercised locally, workflow verified by a branch run
2026-08-16 12:40:33 +00:00
Max 5285e936a9 Pin text I/O to UTF-8 and fail CI on locale-dependent reads/writes (#3296)
Co-authored-by: ShuQingDollarVoyager <57471784+ShuQingDollarVoyager@users.noreply.github.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-08-16 12:41:53 +01:00
Max 52ad0a8876 docs: publish translated docs in twelve languages and the tool that maintains them (#3280) 2026-08-14 17:07:34 +01:00
Max 14aa889992 Pin each conformance leg to a spec-revision wire (#3304) 2026-08-14 13:39:06 +01:00
Max 6e304527a5 Bump conformance harness to 0.2.0-alpha.11 (#3282) 2026-08-11 15:40:21 +01:00
Max fe47969fb9 Ask which release line a bug report is on (#3213) 2026-07-29 14:55:15 +01:00
Max 6f69a3758e Present v2 as the stable release across the README, docs, and policies (#3178)
Conformance Tests / server-conformance (push) Has been cancelled
Conformance Tests / client-conformance (push) Has been cancelled
Deploy Docs / deploy-docs (push) Has been cancelled
GitHub Actions Security Analysis / zizmor (push) Has been cancelled
CI / checks (push) Failing after 1s
CI / all-green (push) Has been cancelled
2026-07-28 14:31:36 +01:00
Max 78e6fbb7e4 Serve v2 docs at the site root, with permanent per-major paths (#3176) 2026-07-28 13:57:21 +01:00
Max b9422f1c9b Make the per-version wire packages private (mcp_types._v*) (#3191) 2026-07-27 22:16:48 +01:00
Max 333aca7ac8 Repin conformance harness to the published 0.2.0-alpha.10 (#3184) 2026-07-27 14:03:06 +01:00
Max 837ef904f8 Align with spec #3002: optional clientInfo, serverInfo in result _meta (#3143)
Deploy Docs / deploy-docs (push) Has been cancelled
CI / checks (push) Failing after 24m23s
CI / all-green (push) Has been cancelled
Conformance Tests / server-conformance (push) Has been cancelled
Conformance Tests / client-conformance (push) Has been cancelled
GitHub Actions Security Analysis / zizmor (push) Has been cancelled
2026-07-23 12:00:36 +01:00
Max 497f7afa61 docs: make API reference rendering independent of page order (#3107) 2026-07-16 18:29:44 +01:00
Marcelo Trylesinski 2713b53b12 Replace httpx and httpx-sse with httpx2 (#2972)
CI / checks (push) Failing after 1s
CI / all-green (push) Has been cancelled
Co-authored-by: Max Isbey <224885523+maxisbey@users.noreply.github.com>
2026-07-14 17:05:08 +01:00
Marcelo Trylesinski 4fc8882c02 docs: replace MkDocs with Zensical (#3073)
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Max Isbey <224885523+maxisbey@users.noreply.github.com>
2026-07-10 12:48:46 +01:00
Max 74a242ae7f ci: pick the docs-preview toolchain from the PR checkout (#3081) 2026-07-09 13:57:14 +01:00
Max 148278e07f Gate the test matrix and retry setup-uv's flaky manifest fetch (#3080) 2026-07-09 12:32:53 +01:00
Max 6d2e908f2b docs: pin mkdocs<2 and silence the mkdocs-material advisory banner in CI (#3072) 2026-07-07 13:45:30 +01:00
Max d39c68df23 De-flake conformance CI: solo re-verification, spawn-storm reduction, result artifacts (#3043) 2026-07-01 16:59:06 +01:00
Max 410cc0db31 Add v2 feedback issue template (#3037) 2026-07-01 00:03:11 +01:00
Max ca10dade2c Serve subscriptions/listen with a pluggable event bus (SEP-2575) (#3035) 2026-06-30 23:01:04 +01:00
Max 48ef569f7e Validate Mcp-Param-* headers server-side on the 2026-07-28 HTTP path (SEP-2243) (#3033) 2026-06-30 21:39:32 +01:00
Den Delimarsky 985652491a Add Cloudflare Pages docs preview with /preview-docs slash command (#3028) 2026-06-30 16:47:21 +01:00
Max 0b200ef03b Surface skipped conformance scenarios as baselined known failures (#3030) 2026-06-30 13:07:05 +01:00
Max 8d0f928e40 Pass InputRequiredResult through the MCPServer prompt and resource pipelines (#3020) 2026-06-29 16:50:58 +01:00
Max f2e63c979a Promote the v2 README to README.md ahead of the first v2 beta (#3014) 2026-06-29 12:01:54 +01:00
Max fe9723853d Wire SEP-990 enterprise-managed-authorization conformance fixture (#3007) 2026-06-29 10:42:37 +01:00
Max 067f90578c Add SSE response mode to the 2026 streamable-HTTP server entry (#3001) 2026-06-26 19:09:08 +02:00
Max 08b62308d4 Client auto-resolves InputRequiredResult via existing callbacks (SEP-2322) (#2998) 2026-06-26 17:35:23 +02:00
Max 3caa445c6c Pin conformance harness by commit SHA (ed314a73) instead of PR number (#3000) 2026-06-26 17:01:42 +02:00
Marcelo Trylesinski 5b2713d40c Mirror x-mcp-header tool arguments into Mcp-Param-* request headers (SEP-2243) (#2990) 2026-06-26 14:36:56 +02:00
Max 3a8da8c0c3 Fix docs/release follow-ups from the mcp-types package split (#2977) 2026-06-26 13:16:09 +02:00
Max 411a6d3980 Rebuild the docs around tested examples; shrink README.v2.md to a pitch (#2978) 2026-06-26 12:49:19 +02:00
Max 4caa41f6d5 Add story-style examples suite (27 stories + harness + CI) (#2957) 2026-06-26 12:02:27 +02:00
Marcelo Trylesinski e9cd1692b0 Remove comment-on-release workflow (#2985) 2026-06-26 09:00:51 +00:00
Max 587340279e Conformance burn-down: server-side InputRequiredResult, Mcp-Method/Name validation, x-mcp-header filter (14 scenarios → green) (#2974)
CI / checks (push) Failing after 0s
CI / all-green (push) Has been cancelled
2026-06-26 09:51:59 +02:00
Marcelo Trylesinski 0ee7f1b293 Split protocol types into a standalone mcp-types package (#2973) 2026-06-25 19:18:38 +02:00
Max f226d00d0a Client-side 2026-07-28 support: .discover()/.adopt() + Client(mode=); request-metadata green (#2950) 2026-06-25 16:09:23 +02:00
Max 5e013d9c54 OAuth client: harden SEP-2352/SEP-2350 edge cases; fix conformance comment (#2936) 2026-06-22 14:45:20 +01:00
Max 2397319a68 Server-side 2026-07-28 stateless support: classifier, driver split, server/discover (#2928) 2026-06-21 19:34:17 +01:00
Marcelo Trylesinski 44724284b3 Bind client credentials to their authorization server (SEP-2352) (#2933) 2026-06-20 18:47:22 +01:00
Marcelo Trylesinski 5734acf18e Pass json-schema-ref-no-deref conformance scenario (SEP-2106) (#2924) 2026-06-20 18:23:58 +02:00
Marcelo Trylesinski cf41441e44 Send application_type during Dynamic Client Registration (SEP-837) (#2930) 2026-06-20 18:19:12 +02:00
Max f5fe42f5a4 ci(conformance): bump harness to 0.2.0-alpha.5 preview (#2927) 2026-06-20 16:54:50 +01:00
Marcelo Trylesinski 48cf4950dc Validate the iss authorization-response parameter (RFC 9207 / SEP-2468) (#2921) 2026-06-20 17:54:18 +02:00
Marcelo Trylesinski f253682393 Return -32602 for resource not found (SEP-2164) (#2920) 2026-06-20 16:55:23 +02:00
Marcelo Trylesinski 0fa03ec69f Add uv ecosystem to dependabot and drop weekly lockfile workflow (#2919) 2026-06-20 15:13:17 +01:00