Money CSV Review e2e still counts the retired Totals checked list #1318

Open
opened 2026-10-07 04:54:02 +00:00 by kayg · 3 comments
Owner

Merge32 (#1122), head 5b2825e6c, now passes the reported Money Import route stopping point. The runner waits for the first-visit pathname while preserving the step/format query.

Command: CALTERNAL_E2E_MAC=1 CALTERNAL_E2E_ASSET_OVERRIDE=1 bun e2e/money.mjs.

The flow reaches CSV Review, then fails the unchanged assertion:

AssertionError: the CSV preview shows Account and Category checks; this fixture has no source Ready to Assign snapshot
0 !== 4

previewCsvImport counts [aria-label="Totals checked"] li. Current and origin/dev 3601719b8 MoneyImport.svelte instead render a div role="group" aria-label="Check groups" containing one Card per check. The old selector is absent in both source trees. This is source evidence of an inherited test/UI mismatch; the baseline run itself stopped earlier in a navigation timeout, so this exact runtime failure is unconfirmed on baseline.

Confirm the intended accessible check-group semantics and update the runner accordingly, retaining the four-check expectation. Merge32 does not change the existing assertion, the CSV fixtures or the UI merely to make it pass. Both production UI comparisons used the same prebuilt bash-security server binary.

Merge32 (#1122), head 5b2825e6c, now passes the reported Money Import route stopping point. The runner waits for the first-visit pathname while preserving the step/format query. Command: `CALTERNAL_E2E_MAC=1 CALTERNAL_E2E_ASSET_OVERRIDE=1 bun e2e/money.mjs`. The flow reaches CSV Review, then fails the unchanged assertion: ``` AssertionError: the CSV preview shows Account and Category checks; this fixture has no source Ready to Assign snapshot 0 !== 4 ``` `previewCsvImport` counts `[aria-label="Totals checked"] li`. Current and origin/dev 3601719b8 `MoneyImport.svelte` instead render a `div role="group" aria-label="Check groups"` containing one Card per check. The old selector is absent in both source trees. This is source evidence of an inherited test/UI mismatch; the baseline run itself stopped earlier in a navigation timeout, so this exact runtime failure is unconfirmed on baseline. Confirm the intended accessible check-group semantics and update the runner accordingly, retaining the four-check expectation. Merge32 does not change the existing assertion, the CSV fixtures or the UI merely to make it pass. Both production UI comparisons used the same prebuilt bash-security server binary.
Author
Owner

#1318 is the current Review selector contract, not Money arithmetic. The runner now opens See check details and counts the Check groups article Cards. The expected count remains four, and the bounded transaction sample remains one. No Money product logic, numbers or source fixture changed.

The real production flow passes these assertions and captures money-import-review-empty-light-390.png showing All 4 checks passed and the four detail Cards. It then stops on Cancel import because the borrowed server and frontend have different build IDs: the persistent Update available toast covers that button. This is the shared-server fixture environment, not an import failure. A complete flow with the branch's own matching server will follow the workspace build.

Atomic commit: test(money): inspect the current Review check groups. Evidence: artifacts/merge32b/money.log and money/money-import-review-empty-light-390.png.

#1318 is the current Review selector contract, not Money arithmetic. The runner now opens See check details and counts the Check groups article Cards. The expected count remains four, and the bounded transaction sample remains one. No Money product logic, numbers or source fixture changed. The real production flow passes these assertions and captures money-import-review-empty-light-390.png showing All 4 checks passed and the four detail Cards. It then stops on Cancel import because the borrowed server and frontend have different build IDs: the persistent Update available toast covers that button. This is the shared-server fixture environment, not an import failure. A complete flow with the branch's own matching server will follow the workspace build. Atomic commit: test(money): inspect the current Review check groups. Evidence: artifacts/merge32b/money.log and money/money-import-review-empty-light-390.png.
Author
Owner

Money Review fixture finding (#1318, DESIGN §48): the capture loop clicked Cancel import and immediately closed the browser context. The current client first cancels the durable Job (204), which clears its retained preview, then deletes the already-gone preview token (404, explicitly accepted by cancelMoneyImport). The previous cancellation assertion watched that latter route. A diagnostic that waits for the token DELETE reproduced 404 instead of the old 204. The revised fixture retains the 204 assertion on the owning Job route and waits until Review is hidden before closing the context. No Money logic, source data, computed values, status contracts or numeric assertions changed. The negative run is in artifacts/merge32b/money-corrected.log; the complete corrected flow is running.

Money Review fixture finding (#1318, DESIGN §48): the capture loop clicked Cancel import and immediately closed the browser context. The current client first cancels the durable Job (204), which clears its retained preview, then deletes the already-gone preview token (404, explicitly accepted by cancelMoneyImport). The previous cancellation assertion watched that latter route. A diagnostic that waits for the token DELETE reproduced 404 instead of the old 204. The revised fixture retains the 204 assertion on the owning Job route and waits until Review is hidden before closing the context. No Money logic, source data, computed values, status contracts or numeric assertions changed. The negative run is in artifacts/merge32b/money-corrected.log; the complete corrected flow is running.
Author
Owner

Correction to the preceding finding: the existing later cancellation waiter matched the broad /imports/ prefix, so it could already observe the first Job DELETE (204). My diagnostic narrowed it to the token DELETE and got the valid already-gone 404; that was not a product failure or an existing status-contract defect. The actual fixture defect is the earlier empty-state loop closing its browser context immediately after the click. The shared helper now waits explicitly for Job DELETE 204 and the closed Review in both capture loops. The original expected status remains 204.

Correction to the preceding finding: the existing later cancellation waiter matched the broad /imports/ prefix, so it could already observe the first Job DELETE (204). My diagnostic narrowed it to the token DELETE and got the valid already-gone 404; that was not a product failure or an existing status-contract defect. The actual fixture defect is the earlier empty-state loop closing its browser context immediately after the click. The shared helper now waits explicitly for Job DELETE 204 and the closed Review in both capture loops. The original expected status remains 204.
Commenting is not possible because the repository is archived.
No labels
No milestone
No project
No assignees
1 participant
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
kayg/calternal-v0#1318
No description provided.