nate nowack
8661193411
Quote run-claude allowed tools argument ( #4741 )
...
Generated with Codex
2026-08-05 11:15:51 -04:00
nate nowack
b9b7ea6914
Declare run-claude extra allowed tools input ( #4740 )
...
Generated with Codex
2026-08-05 10:39:35 -04:00
Jeremiah Lowin
bcef61d806
Route published docs through pull requests ( #4713 )
2026-07-30 10:18:03 -04:00
nate nowack
44c0907dda
Give parallel Windows CI more timeout headroom ( #4680 )
...
pytest-timeout falls back to its thread method on Windows, which os._exit()s
the process instead of failing the test. A single slow test therefore kills an
xdist worker and fails whichever unrelated test it was running.
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-29 10:22:17 -05:00
Jeremiah Lowin
f4ae8bb0af
Let maintenance releases publish without fastmcp-tasks ( #4676 )
2026-07-27 16:07:54 -04:00
dependabot[bot]
bc770c6fc0
Bump actions/setup-python from 6 to 7 ( #4641 )
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-07-26 14:10:03 -04:00
dependabot[bot]
ac83711ff8
Bump actions/upload-artifact from 4 to 7 ( #4640 )
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-07-26 14:09:51 -04:00
Jeremiah Lowin
387a063aec
Pin Claude Code to 2.1.215 in the sandboxed Marvin workflows ( #4645 )
...
2.1.216 regressed the bubblewrap sandbox the action wraps Bash in when
allowed_non_write_users is set, so every command failed and triage applied
zero labels while reporting success. Also fail the triage job on sandbox
errors, which the existing denial guard could not see.
2026-07-26 13:57:14 -04:00
Jeremiah Lowin
f81d6c07d8
Load task settings from .env; gate root publish on fastmcp-tasks; fix worker command
...
DocketSettings now loads the same dotenv source as core settings, so a
FASTMCP_DOCKET_* value in .env configures the backend instead of silently
using memory://. The root fastmcp publish waits for the matching fastmcp-tasks
to appear on PyPI before uploading, so the [tasks] extra is never installable
but unresolvable. And the example README uses the real worker entry point
(python -m fastmcp_tasks.worker_cli worker).
2026-07-23 18:30:52 -04:00
Jeremiah Lowin
9019a7af70
Add PyPI publish workflow for fastmcp-tasks
...
The fastmcp[tasks] extra pins fastmcp-tasks=={version}, but no workflow
published it — pip install "fastmcp[tasks]" would fail to resolve. Mirror the
fastmcp-remote workflow: build on release, wait for the matching fastmcp-slim to
appear on PyPI, then publish.
2026-07-23 16:54:31 -04:00
Jeremiah Lowin
c33a3c3b29
Only fail triage when a granted tool is denied, and grant get_pull_request ( #4562 )
...
The guard failed on any denial, so an agent falling back to an unlisted tool
during a GitHub outage tripped it — and the error blamed the allowlist, which
was intact. It now fails only when a command the workflow actually grants is
refused, which is the signal that a pattern was mangled.
mcp__github__get_pull_request was never granted, so on a PR the agent could
only read via get_issue and reached for denied fallbacks when that failed.
2026-07-20 10:51:42 -04:00
Jeremiah Lowin
b0e782a2ee
Make the unit suite fast: in-process HTTP tests, no real sleeps, parallel Windows CI ( #4554 )
2026-07-20 10:51:14 -04:00
Jeremiah Lowin
33ed688a8f
Bump pinned Claude models to current versions ( #4561 )
2026-07-19 21:09:43 -04:00
Jeremiah Lowin
2676864163
Fix AI workflow allowlists being destroyed by tokenization ( #4560 )
2026-07-19 20:46:29 -04:00
Jeremiah Lowin
c6e31a3be6
Rename martian workflows to marvin ( #4558 )
2026-07-19 20:46:02 -04:00
Jeremiah Lowin
a3163bc275
Add 'prs welcome' label to waive the PR assignment gate ( #4557 )
...
* Add 'prs welcome' label to waive the PR assignment gate
Also documents contributor accountability, maintainer edit access, and
branch targeting in CONTRIBUTING.
* Protect 'prs welcome' from prompt-injected triage labeling
2026-07-19 20:37:40 -04:00
Jeremiah Lowin
cef327d0f2
Fix label triage applying no labels, and make blocked tool calls fail ( #4555 )
2026-07-19 19:24:20 -04:00
dependabot[bot]
87fa361239
chore(deps): bump actions/setup-node from 6 to 7 ( #4546 )
...
Bumps [actions/setup-node](https://github.com/actions/setup-node ) from 6 to 7.
- [Release notes](https://github.com/actions/setup-node/releases )
- [Commits](https://github.com/actions/setup-node/compare/v6...v7 )
---
updated-dependencies:
- dependency-name: actions/setup-node
dependency-version: '7'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-19 15:06:07 -04:00
Jeremiah Lowin
2ebf19e5e1
Make examples/ actually trigger the ty gate ( #4541 )
...
#4466 added examples/ to [tool.ty.src] include, but two filters still
excluded it: the ty prek hook's files: scope and the static-analysis
workflow's push path triggers. An examples-only commit or direct push
to main could skip the gate entirely.
2026-07-18 20:58:24 -04:00
Jeremiah Lowin
a3ecd1edb1
Clarify PR-reopen flow and fix label-race that broke auto-reopen ( #4518 )
...
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: Claude <noreply@anthropic.com>
2026-07-17 17:43:05 -04:00
Jeremiah Lowin
3522a98766
Migrate to MCP Python SDK v2 ( #4437 )
2026-07-06 17:36:45 -04:00
dependabot[bot]
0ca2c0d115
chore(deps): bump actions/checkout from 6 to 7 ( #4343 )
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-06-24 10:39:32 -04:00
Jeremiah Lowin
d7730788fa
Recognize all GitHub issue-link forms in require-issue-link workflow ( #4359 )
2026-06-24 10:28:36 -04:00
Jeremiah Lowin
986353f26b
Skip published docs update for prereleases ( #4224 )
2026-05-23 10:45:36 -04:00
Jeremiah Lowin
70013c5a91
Add fastmcp-remote bridge package ( #4208 )
2026-05-23 10:04:21 -04:00
Jeremiah Lowin
292e9af087
Update published docs after PyPI release ( #4211 )
2026-05-23 08:53:38 -04:00
Jeremiah Lowin
fd4d24ff62
Guard require-issue-link check job to pull_request_target events ( #4209 )
2026-05-22 18:43:46 -04:00
Jordan Ritter
1222e8e47a
Security: Fix 3 findings in GitHub Actions workflows ( #4183 )
...
Co-authored-by: Jeremiah Lowin <153965+jlowin@users.noreply.github.com>
2026-05-20 12:37:31 -04:00
Bill Easton
b4c35027c2
fix(ci): scope minimize-reviews concurrency by event name ( #4174 )
...
Co-authored-by: Jeremiah Lowin <153965+jlowin@users.noreply.github.com>
2026-05-20 12:23:18 -04:00
Bill Easton
d3ff774c78
ci: require external PRs to link a tracked issue ( #4173 )
...
Co-authored-by: Jeremiah Lowin <153965+jlowin@users.noreply.github.com>
2026-05-20 08:43:52 -04:00
Jeremiah Lowin
ee48a0fd6e
Refine fastmcp-slim packaging ( #4125 )
...
* Refine fastmcp-slim packaging
* Format install hints
2026-05-12 07:11:57 -07:00
Jeremiah Lowin
bb4894d215
Add fastmcp-slim for client-only installs ( #4122 )
...
* Add fastmcp-client workspace package
* Fix client package static checks
* Document client-only package
* Harden fastmcp-client package split
* Preserve forwarded headers in full package
* Switch to fastmcp-slim package
* Fix fastmcp-slim release edges
* Match pydantic-style slim layout
* Polish fastmcp-slim packaging
2026-05-11 17:13:21 -04:00
Bill Easton
55f3cade10
Improve Claude workflow prompts based on output audit ( #3934 )
...
* Improve Claude workflow prompts based on 60-day output audit
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* Encourage tl;dr-first structure and collapsible details across workflows
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* Add quality gates, evidence standards, and calibration examples to workflows
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 11:06:12 -05:00
Jeremiah Lowin
7d7607473d
Stop pydantic 2.13 from leaking _WrappedResult docstring into tool output schemas ( #3918 )
2026-04-13 21:38:13 -04:00
Jeremiah Lowin
7f80f78906
ci: speed up schema crash test (CSafeLoader + xdist-safe aggregation) ( #3873 )
2026-04-12 16:34:13 -04:00
dependabot[bot]
6a82eb3ead
chore(deps): bump actions/checkout from 4 to 6 ( #3864 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Jeremiah Lowin <153965+jlowin@users.noreply.github.com>
2026-04-12 15:39:34 -04:00
dependabot[bot]
9264728330
chore(deps): bump astral-sh/setup-uv from 6 to 7 ( #3865 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Jeremiah Lowin <153965+jlowin@users.noreply.github.com>
2026-04-12 15:39:24 -04:00
dependabot[bot]
683ce919e3
chore(deps): bump extractions/setup-just from 3 to 4 ( #3863 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Jeremiah Lowin <153965+jlowin@users.noreply.github.com>
2026-04-12 13:53:48 -04:00
Bill Easton
468559978a
Add real-world schema crash test against APIs.guru directory ( #3826 )
...
Integration test that runs json_schema_to_type against 232K schemas
from 4,120 real-world OpenAPI specs (APIs.guru openapi-directory).
Snapshots crash counts as regression baselines so future changes
can't silently increase the crash rate.
Current baseline (openapi-directory@f7207cf0):
TypeErrors: 2,342 (datetime serialization)
SchemaErrors: 273 (invalid regexes in specs)
Timeouts: 0
Other: 0
Skipped unless openapi-directory is cloned locally.
Run with: pytest -m integration tests/.../test_real_world_schemas.py
🤖 Generated with Claude Code
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-11 11:23:55 -04:00
dependabot[bot]
d1f7195d7b
chore(deps): bump actions/setup-node from 4 to 6 ( #3691 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-29 10:08:01 -04:00
Bill Easton
b1505ba5d7
Run MCP conformance tests in CI ( #3628 )
...
🤖 Generated with Claude Code
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-26 22:19:13 -04:00
Jeremiah Lowin
00df243171
Tighten too-long heuristic for design-document issues ( #3620 )
2026-03-25 10:57:53 -04:00
Jeremiah Lowin
6f4df1eac4
Tune too-long triage heuristic ( #3610 )
2026-03-24 14:17:39 -04:00
dependabot[bot]
b92f5662d7
chore(deps): bump j178/prek-action from 1 to 2 ( #3578 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-22 19:59:44 -04:00
Jeremiah Lowin
718ed8b140
fix: preserve tool properties named 'title' during schema compression ( #3582 )
2026-03-22 09:48:20 -04:00
Jeremiah Lowin
93753e137e
Claude/review contributor guidelines ( #3517 )
...
* Tighten contributor guidelines and too-long triage
🤖 Generated with Claude Code
https://claude.ai/code/session_01VTVuVM1t2Mas8F6z8j3wJh
* Relax issue length guidance from ~15 lines to "fit in a single screen"
🤖 Generated with Claude Code
https://claude.ai/code/session_01VTVuVM1t2Mas8F6z8j3wJh
* Fix conflicting no-comment rule for too-long label
---------
Co-authored-by: Claude <noreply@anthropic.com>
2026-03-15 14:15:21 -04:00
Jeremiah Lowin
b5a45034ab
Add security label to triage and release notes ( #3516 )
2026-03-15 11:43:16 -04:00
dependabot[bot]
abc89879a7
Bump actions/create-github-app-token from 2 to 3 ( #3511 )
...
Bumps [actions/create-github-app-token](https://github.com/actions/create-github-app-token ) from 2 to 3.
- [Release notes](https://github.com/actions/create-github-app-token/releases )
- [Commits](https://github.com/actions/create-github-app-token/compare/v2...v3 )
---
updated-dependencies:
- dependency-name: actions/create-github-app-token
dependency-version: '3'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-15 10:48:40 -04:00
Jeremiah Lowin
c861862aed
Add too-long label to Marvin triage workflow ( #3508 )
...
* Add too-long label to Marvin triage workflow
* Exclude .claude/ from loq file size checks
* Exempt too-long from core-category requirement in triage
2026-03-14 16:48:33 -04:00
Jeremiah Lowin
959ac2b111
Auto-close upgrade check issue when build passes ( #3505 )
...
* Auto-close upgrade check issue when build goes green
Closes #3484
* Restrict close-on-success to main branch
2026-03-14 16:46:38 -04:00