fix(gitea): correct is_draft param and soften unverified claims in gitea-releases docs

An audit against plugins/gitea/docs/research/docs/gitea/*.md found the
gitea-releases skill told callers to set create_release's draft flag
as `draft` instead of `is_draft` (the actual input param; `draft` is
only the response field name) - a call following that gotcha would
have the flag silently ignored, publishing a non-draft release.

Also corrected an overclaimed "verified against live MCP schema"
provenance note in call-signatures.md/README.md (its sources are
gitea-mcp source-code extraction, not a live tool call - now noted
alongside a narrow live ToolSearch cross-check performed this session
for 3 of the 9 tools' input params), and softened three behavioral
claims (create_release auto-creating tags, get_latest_release
excluding drafts/prereleases, delete_tag preserving a wrapping
release) that don't trace to any research doc, with a recommendation
to verify release/tag state after delete operations rather than
assume it.
This commit is contained in:
2026-07-05 19:12:10 +00:00
parent fddf39e396
commit 940e414980
4 changed files with 27 additions and 14 deletions

View File

@@ -27,11 +27,15 @@ caller-supplied tag name against semver; just pass it through.
## Draft and prerelease are explicit flags
`draft` and `is_pre_release`/`prerelease` are booleans the caller sets directly on `create_release`
— Gitea does not infer either from the tag name, even though the `-beta`/`-rc` suffix convention
above is commonly used to signal a prerelease to humans. When a user asks to "cut a beta" or
"publish a release candidate," set `is_pre_release: true` explicitly in the same call rather than
relying on the tag string to carry that meaning.
`is_draft` and `is_pre_release` are booleans the caller sets directly on `create_release` — Gitea
does not infer either from the tag name, even though the `-beta`/`-rc` suffix convention above is
commonly used to signal a prerelease to humans. When a user asks to "cut a beta" or "publish a
release candidate," set `is_pre_release: true` explicitly in the same call rather than relying on
the tag string to carry that meaning.
Note the input/output naming mismatch: the input param is `is_draft`, but the release object
returned by the API uses `draft` (and `prerelease`) as the field names. `draft` is never a valid
input key — passing `draft: true` to `create_release` is silently ignored rather than erroring.
## Release notes sourcing