docs(agents): an image tag is not a git ref, and /tags echoes your input #38

Merged
jlxq0 merged 1 commit from docs-tag-endpoint into main 2026-08-27 04:57:10 +00:00
Owner

Documentation only, from verifying a report rather than filing it. It inverts the report.

The beta loop tags the container image and never the repository. git ls-remote --tags holds v0.1.0 v0.1.1 v0.1.2 v0.1.2-beta.20260826052605 v0.2.0 v0.2.1 v0.2.2 and nothing else, so v0.2.3-beta.20260827043744 exists in the registry and not in git. A contents lookup at that ref reporting object does not exist is correct. A beta build's source is reachable through the sha-<short> image tag or /health's revision, never through the version its image was published under.

And /repos/{r}/tags/{name} is not an existence check, because its miss echoes your input:

v0.2.3-beta.20260827043744  ->  {"message": "v0.2.3-beta.20260827043744"}
definitely-not-a-tag        ->  {"message": "definitely-not-a-tag"}
v0.2.2                      ->  {"name": "v0.2.2", ...}

A fabricated string produces the identical shape. Any reduction that greps the response for the tag name reports every tag as present, which is how a missing tag looked present and turned an accurate error into a suspected silent failure.

The reported version was that the contents API fails on tags. It does not: v0.2.2, v0.2.1, v0.2.0 and v0.1.0 all resolve. The endpoint that lied was the one that looked like corroboration, which is why checking it cost two commands and filing it would have cost somebody an afternoon.

Documentation only, from verifying a report rather than filing it. **It inverts the report.** **The beta loop tags the container image and never the repository.** `git ls-remote --tags` holds `v0.1.0 v0.1.1 v0.1.2 v0.1.2-beta.20260826052605 v0.2.0 v0.2.1 v0.2.2` and nothing else, so `v0.2.3-beta.20260827043744` exists in the registry and not in git. A contents lookup at that ref reporting `object does not exist` is **correct**. A beta build's source is reachable through the `sha-<short>` image tag or `/health`'s `revision`, never through the version its image was published under. **And `/repos/{r}/tags/{name}` is not an existence check, because its miss echoes your input:** v0.2.3-beta.20260827043744 -> {"message": "v0.2.3-beta.20260827043744"} definitely-not-a-tag -> {"message": "definitely-not-a-tag"} v0.2.2 -> {"name": "v0.2.2", ...} A fabricated string produces the identical shape. Any reduction that greps the response for the tag name reports **every** tag as present, which is how a missing tag looked present and turned an accurate error into a suspected silent failure. **The reported version was that the contents API fails on tags.** It does not: `v0.2.2`, `v0.2.1`, `v0.2.0` and `v0.1.0` all resolve. The endpoint that lied was the one that looked like corroboration, which is why checking it cost two commands and filing it would have cost somebody an afternoon.
docs(agents): an image tag is not a git ref, and /tags echoes your input
All checks were successful
CI / cargo (pull_request) Successful in 54s
CI / docker (pull_request) Successful in 49s
45ebac01ce
Two findings from verifying a report rather than filing it.

The beta loop tags the container image and never the repository, so a beta
version exists in the registry and not in git ls-remote --tags. A contents
lookup at that ref correctly reports that the object does not exist, and a beta
build's source is reachable only through the sha-<short> image tag or through
/health's revision.

And /repos/{r}/tags/{name} returns {"message": "<the name you asked>"} for a
name it cannot find, while a real tag returns {"name": ...}. A fabricated
string produces the identical shape, so any reduction grepping the response for
the tag name reports every tag as present. That is what made a missing tag look
like a present one and turned an accurate error from the contents API into a
suspected silent failure.

The reported version was that the contents API fails on tags. It does not:
v0.2.2, v0.2.1, v0.2.0 and v0.1.0 all resolve. The endpoint that lied was the
one that looked like corroboration.
jlxq0 merged commit 5449c3ea34 into main 2026-08-27 04:57:10 +00:00
jlxq0 deleted branch docs-tag-endpoint 2026-08-27 04:57:11 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
jlxq0/caldav-mcp!38
No description provided.