Skip to content

fix(e2e/stu380): account for the reconcile re-read in transport outcome counts - #117

Merged
sgardoll merged 1 commit into
hardening/deploy-resiliencefrom
fix/stu380-reconcile-read-counts
Oct 4, 2026
Merged

sgardoll merged 1 commit into
hardening/deploy-resiliencefrom
fix/stu380-reconcile-read-counts

Conversation

@sgardoll

@sgardoll sgardoll commented Oct 4, 2026 •

Copy link
Copy Markdown
Owner

Problem: Commit 5231e76 made every unconfirmed provision perform one extra project export (reconcileUnconfirmedProvision) so the deploy can report what actually landed. Six STU-380 transport-outcome regression tests count project exports with exact expect(exportCalls).toBe(N) assertions, so each was off by one (and the gateway-502 test still asserted the pre-reconcile message). Result: 31 passed / 6 failed.

Fix (test-only, app.js untouched):

  • Bumped the export counts by the one reconcile re-read wherever a count follows an unconfirmed provision. Confirmed/success paths add no read, so the two multi-provision tests (1171, 1282) shift by exactly one, not one per provision.
  • The gateway-502 test now asserts the reconcile message — the name of what the re-read showed and the re-read-before-retry advice — in place of the raw "HTTP 502", keeping the no-fabricated-"dropped" guard.

Proved the tests still bite: with the reconcile read stubbed to a no-op in a scratch copy, exactly these six tests fail (31 passed / 6 failed). The expectations depend on the reconcile read, so removing it fails them. Reverted the stub; app.js is untouched.

Verification: npx playwright test e2e/stu380-deploy.spec.js → 37 passed. Full suite (npx playwright test) → 262 passed.


Devin Review

…me counts

Commit 5231e76 made every unconfirmed provision perform one extra project
export (reconcileUnconfirmedProvision) to report what actually landed. Six
STU-380 transport regression tests counted project exports with exact
'expect(exportCalls).toBe(N)' assertions and were each off by one (or, for
the 502 test, still asserted the pre-reconcile message). Update them:

- Every count after an unconfirmed provision shifts by the one reconcile
  re-read; confirmed/success paths add no read, so multi-provision tests
  (1171, 1282) shift by exactly one, not by one per provision.
- The gateway-502 test now asserts the reconcile message (name of the
  re-read result and the re-read-before-retry advice) instead of the raw
  'HTTP 502', while keeping the no-fabricated-'dropped' guard.

Proved the tests still bite: with the reconcile read stubbed to a no-op in
a scratch copy, exactly these six tests fail (31 passed / 6 failed); the
expectations depend on the reconcile read, so removing it fails them.
app.js is untouched. Full e2e suite green (262 passed).
@greptile-apps

greptile-apps Bot commented Oct 4, 2026

Copy link
Copy Markdown
Contributor

This PR does not match any of the 1 configured review trigger rule.

@devin-ai-integration devin-ai-integration Bot 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.

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no bugs or issues to report.

Devin Review

@sgardoll
sgardoll merged commit 81db6c5 into hardening/deploy-resilience Oct 4, 2026
1 of 2 checks passed
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.

1 participant