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
Jeremiah Lowin
cfff8e8d09
remove "good first issue" from triage workflow ( #3482 )
2026-03-13 19:03:09 -04:00
Jeremiah Lowin
30308332bb
Add FastMCPApp — a Provider for composable MCP applications ( #3385 )
...
* Add FastMCPApp — a Provider for composable MCP applications
* Wire Prefab callable resolver via to_json(tool_resolver=) parameter
* Remove inspect.signature compat check, use try/except until prefab 0.10.0
* Address review: fix add_tool registry gaps, normalize auth errors, bump prefab to 0.10.0
* Register global key after _add_component succeeds
* Simplify: extract decorator dispatch, use get_fastmcp_meta, expose get_global_tool
* Remove prek from Marvin workflows
These workflows run Claude to respond to /marvin mentions — linting
the repo is unnecessary and fails without renderer deps installed.
* Return ResolvedTool from callable resolver, add contacts example
The callable resolver now returns ResolvedTool (from prefab_ui) instead of a
plain string, carrying metadata like unwrap_result that the renderer needs to
correctly handle structuredContent envelopes. The unwrap_result flag is derived
from the tool's x-fastmcp-wrap-result output schema marker.
* Bump prefab-ui requirement to >=0.11.0
* Remove stale ty ignore comments now that prefab-ui 0.11 is published
2026-03-09 13:46:14 -04:00
Jeremiah Lowin
fce4182860
Fix uv sync flag in upgrade check notification
2026-03-03 17:08:46 -05:00
Jeremiah Lowin
b061126955
Fix ty 0.0.20 compatibility and improve upgrade check notifications
2026-03-03 17:08:46 -05:00
Jeremiah Lowin
d85cfb84e1
Revert to long-lived PR approach for auto-generated docs/schema ( #3272 )
...
🤖 Generated with Claude Code
https://claude.ai/code/session_01LUn4EnV6nZS5UgFz9wtyB3
Co-authored-by: Claude <noreply@anthropic.com>
2026-02-22 11:13:06 -05:00
Bill Easton
83d6254757
Allow Marvin to open PRs on comment ( #3267 )
...
* Update marvin-comment-on-issue.yml
* remove conflicting instructions
2026-02-21 15:07:27 -06:00
Jeremiah Lowin
7e0eb2ff9d
Update Marvin workflow models to claude-sonnet-4-6 ( #3250 )
2026-02-20 11:09:16 -05:00
Jeremiah Lowin
fc6290479f
Fix Marvin app token to use PrefectHQ org installation ( #3249 )
2026-02-20 11:08:38 -05:00
Jeremiah Lowin
5e2d698356
Fix dedupe bot labeling pipeline ( #3244 )
...
* Fix dedupe bot adding wrong label by making labeling deterministic
* Scope label step to comments from current workflow run
* Fetch newest comments first to avoid pagination miss
2026-02-20 09:12:44 -05:00
Jeremiah Lowin
a2efd686a9
Normalize repo references to PrefectHQ/fastmcp casing ( #3218 )
2026-02-18 14:51:18 -05:00