Skip to content

fix(stellar): always write dry-run manifest report before exiting on … - #250

Merged
truthixify merged 2 commits into
wraith-protocol:developfrom
Dev-Zwaylo:fix/stellar-dryrun-failure-manifest
Oct 18, 2026
Merged

truthixify merged 2 commits into
wraith-protocol:developfrom
Dev-Zwaylo:fix/stellar-dryrun-failure-manifest

Conversation

@Dev-Zwaylo

Copy link
Copy Markdown
Contributor

this pr closes #234

Summary

Resolves [Wave 10][Carryover] Always write a failed Stellar dry-run report before exiting.

Previously in PR #216, if validation or execution encountered failure paths (e.g. missing output file, network/RPC failure, unverified contracts), the script exited before writing the failure manifest report.

Changes

  • Structured Failure Report on Exit: Added an EXIT trap in stellar/scripts/validate-deployment.sh to ensure that the JSON manifest report (<output-file>-manifest.json) is always emitted and populated before exiting on all code paths (whether validation, simulation, build, or RPC verification fails).
  • Exit Code Preservation: Preserved the original non-zero exit code on all failure paths.
  • Offline Mock Unit Testing: Added tests in stellar/scripts/validate-deployment.test.sh covering early failures (e.g., missing deployment output file) and late failures (e.g., RPC lookup failure) without requiring a live network, verifying that the structured failure manifest is generated and the non-zero exit code is preserved.
  • CI Integration: Wired validation and unit tests into .github/workflows/ci.yml and uploaded the generated dry-run report manifest alongside the deployment logs.
  • Documentation: Updated stellar/scripts/VALIDATION_README.md.

Verification

Ran stellar/scripts/validate-deployment.test.sh:

  • 12/12 unit tests passed including early (missing output file) and late (RPC lookup failure) tests verifying manifest status and exit code preservation.

@drips-wave

drips-wave Bot commented Oct 16, 2026

Copy link
Copy Markdown

@Dev-Zwaylo Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@truthixify truthixify left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Blocking: the deployment error scan logs matching error, fail, or panic lines but never sets VALIDATION_FAILED. An output containing the success marker plus a panic line therefore exits 0 and writes a passed manifest. Mark this condition failed and add a regression fixture containing both a success marker and an unexpected error.

@Dev-Zwaylo
Dev-Zwaylo requested a review from truthixify October 17, 2026 18:06

@truthixify truthixify left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The reported validation gap is fixed. The fatal-pattern scan now marks validation failed, and the focused shell suite passes 14/14 including a success marker followed by a panic. The original nonzero exit and failed manifest behavior are preserved.

@truthixify
truthixify merged commit 2270f89 into wraith-protocol:develop Oct 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Wave 10][Carryover] Always write a failed Stellar dry-run report before exiting

2 participants