From 0143dc30958ab89216e2ee95d26bc82e3d4b93f5 Mon Sep 17 00:00:00 2001 From: Pigbibi <20649888+Pigbibi@users.noreply.github.com> Date: Thu, 22 Oct 2026 16:30:17 +0800 Subject: [PATCH] ci(console): record envelope errors type and count in diagnostic The first read-only probe showed /versions returns success=true with a non-empty errors value while every other predicate passes. Record whether errors is absent, null or an array, plus counts only, so the minimal release guard fix can be written without printing envelope content. Co-Authored-By: Claude Code --- .github/workflows/diagnose-console-release-shape.yml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/.github/workflows/diagnose-console-release-shape.yml b/.github/workflows/diagnose-console-release-shape.yml index d00bda3a..3897c4ec 100644 --- a/.github/workflows/diagnose-console-release-shape.yml +++ b/.github/workflows/diagnose-console-release-shape.yml @@ -107,7 +107,14 @@ jobs: } result.json_parse = true; result.envelope_success = body?.success === true; - result.envelope_errors_empty = body?.errors === undefined + result.errors_type = body?.errors === undefined ? 'absent' + : body.errors === null ? 'null' : Array.isArray(body.errors) ? 'array' : typeof body.errors; + result.errors_count = Array.isArray(body.errors) ? body.errors.length : null; + result.messages_type = body?.messages === undefined ? 'absent' + : body.messages === null ? 'null' : Array.isArray(body.messages) ? 'array' : typeof body.messages; + result.messages_count = Array.isArray(body.messages) ? body.messages.length : null; + // Counts and types only; never print error or message content. + result.envelope_errors_empty = body?.errors === undefined || body?.errors === null || (Array.isArray(body.errors) && body.errors.length === 0); const value = body?.result; result.result_is_object = value !== null && typeof value === 'object' && !Array.isArray(value);