Artifacts (beta) internal error report template
Use this when Cloudflare Artifacts binding calls fail with internal error; reference = <id>.
The site admin page at /admin/artifacts shows failure rates by operation and the reference ids, and its Copy Cloudflare report button fills in this template.
Where the data comes from
artifacts_call_stats: hourly call and failure counts per operation (approximate, flushed from each isolate at most every 30 seconds).artifacts_failures: one row per untyped failure that survived every retry, with its reference id (kept for 30 days).
To query D1 directly:
SELECT operation, SUM(calls) AS calls, SUM(failures) AS failures,
ROUND(100.0 * SUM(failures) / MAX(SUM(calls), 1), 2) AS failure_pct
FROM artifacts_call_stats
WHERE hour >= (strftime('%s', 'now') - 86400) * 1000
GROUP BY operation ORDER BY failures DESC;
SELECT datetime(created_at / 1000, 'unixepoch') AS at, operation, reference, target, attempts
FROM artifacts_failures ORDER BY created_at DESC LIMIT 50;
Template
Subject: Artifacts (beta) internal errors: "internal error; reference = …"
Product: Cloudflare Artifacts (beta), Workers binding
Account / namespace: <account id> / <ARTIFACTS_NAMESPACE>
Window: <start ISO time> to <end ISO time>
Failure rate by operation (untyped failures / calls):
- <operation>: <failures> / <calls> (<rate>%)
Reference ids (most recent first):
- <reference> <ISO time> <operation> <artifacts repo name[:path]> attempts=<n>
Observed behaviour: the binding call rejects with an untyped error (no ArtifactsError code) whose message is
"internal error; reference = <id>". Idempotent reads are retried up to 3 times with jittered backoff; the
listed failures persisted through every attempt.
Expected: a typed ArtifactsError code, or success.
Impact: <pages/pushes affected, user-visible 502s>
Reproduction: <repo size, operation, whether it recurs for the same repo/ref>