fix(tests/e2e): surface diagnose step Detail in EIC smoke output (mc#687) #748

Merged
hongming merged 2 commits from fix/713-eic-diagnose-detail into staging 2026-05-12 21:08:41 +00:00
Member

Summary

mc#687 root-cause finding from mc#424: the EIC diagnose smoke was reading diagnoseStep.error (Go error string) and discarding diagnoseStep.detail (subprocess stderr).

Before:

exec: process exited with status 1

After:

AccessDeniedException: ... is not authorized to perform: ec2-instance-connect:OpenTunnel (exec: process exited with status 1)

The subprocess stderr (.detail) contains the actionable signal. The Go error string (.error) is appended in parentheses for context when both are populated.

Test plan

  • CI runs tests/e2e/test_staging_full_saas.sh E2E smoke
  • Manual: trigger a diagnose failure and verify .detail is surfaced

🤖 Generated with Claude Code

## Summary mc#687 root-cause finding from mc#424: the EIC diagnose smoke was reading `diagnoseStep.error` (Go error string) and discarding `diagnoseStep.detail` (subprocess stderr). **Before:** ``` exec: process exited with status 1 ``` **After:** ``` AccessDeniedException: ... is not authorized to perform: ec2-instance-connect:OpenTunnel (exec: process exited with status 1) ``` The subprocess stderr (`.detail`) contains the actionable signal. The Go error string (`.error`) is appended in parentheses for context when both are populated. ## Test plan - [ ] CI runs `tests/e2e/test_staging_full_saas.sh` E2E smoke - [ ] Manual: trigger a diagnose failure and verify `.detail` is surfaced 🤖 Generated with [Claude Code](https://claude.com/claude-code)
fullstack-engineer added 1 commit 2026-05-12 17:11:55 +00:00
fix(tests/e2e): surface diagnose step Detail in EIC smoke output (mc#687)
Secret scan / Scan diff for credential-shaped strings (pull_request) Successful in 2s
sop-tier-check / tier-check (pull_request) Successful in 3s
21f55579fa
mc#687 root-cause finding from mc#424: the EIC diagnose smoke was
reading diagnoseStep.error (Go error string) and discarding
diagnoseStep.detail (subprocess stderr). The actionable signal — e.g.

  AccessDeniedException: ... is not authorized to perform:
  ec2-instance-connect:OpenTunnel

— lives in detail. Reading only .error produced:

  exec: process exited with status 1

which was uninformative and caused a 21h outage investigation.

Fix: extract .detail (subprocess stderr) as primary output; append
Go error string in parentheses when both fields are populated.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
triage-operator added the tier:low label 2026-05-12 17:20:01 +00:00
core-qa reviewed 2026-05-12 17:39:34 +00:00
core-qa left a comment
Member

[core-qa-agent] N/A — MR !748 (e2e shell script improvement, mc#687 diagnose detail surfacing)

[core-qa-agent] N/A — MR !748 (e2e shell script improvement, mc#687 diagnose detail surfacing)
core-qa approved these changes 2026-05-12 20:21:28 +00:00
core-qa left a comment
Member

[core-qa-agent] Five-Axis Review — APPROVED

Correctness

No issues. New Python block correctly surfaces detail (subprocess stderr) before error (Go error string), composing both when non-empty. The sys.exit(0) early-return on no-failed-steps is intentionally silent and consistent with the surrounding 2>/dev/null || echo "" defensive pattern.

Readability

Clearer than the original one-liner. The mc#687 header comment explains the detail vs error distinction and is genuinely useful for future maintainers.

Architecture

Test-only e2e shell script. No architectural concerns; strictly additive diagnostic output.

Security

N/A — no new imports, no credentials, reads local JSON from an already-authenticated API call.

Performance

N/A for an e2e smoke test.


Verdict: APPROVE — clean improvement, no critical or required findings.

[core-qa-agent] Five-Axis Review — APPROVED ## Correctness No issues. New Python block correctly surfaces `detail` (subprocess stderr) before `error` (Go error string), composing both when non-empty. The `sys.exit(0)` early-return on no-failed-steps is intentionally silent and consistent with the surrounding `2>/dev/null || echo ""` defensive pattern. ## Readability Clearer than the original one-liner. The mc#687 header comment explains the `detail` vs `error` distinction and is genuinely useful for future maintainers. ## Architecture Test-only e2e shell script. No architectural concerns; strictly additive diagnostic output. ## Security N/A — no new imports, no credentials, reads local JSON from an already-authenticated API call. ## Performance N/A for an e2e smoke test. --- **Verdict: APPROVE** — clean improvement, no critical or required findings.
hongming added 1 commit 2026-05-12 20:51:13 +00:00
ci: rerun after mc#724 all-required fix lands
Secret scan / Scan diff for credential-shaped strings (pull_request) Successful in 13s
sop-tier-check / tier-check (pull_request) Successful in 16s
audit-force-merge / audit (pull_request) Successful in 23s
24df054dfb
hongming merged commit cfa91075ed into staging 2026-05-12 21:08:41 +00:00
Sign in to join this conversation.
No Reviewers
3 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: molecule-ai/molecule-core#748