feat(e2e): scripts/e2e_smoke.py — live deploy gate #29

Merged
goldstein merged 1 commit from feat/e2e-smoke into main 2026-04-18 10:18:24 +00:00
Owner

Task 5.4. Stdlib-only smoke script. Tails healthz, serves fixture over LAN, submits job with Paperless-style texts, asserts provenance_verified + text_agreement on closing_balance.

Task 5.4. Stdlib-only smoke script. Tails healthz, serves fixture over LAN, submits job with Paperless-style texts, asserts provenance_verified + text_agreement on closing_balance.
goldstein added 1 commit 2026-04-18 10:18:21 +00:00
feat(e2e): scripts/e2e_smoke.py — live deploy gate
All checks were successful
tests / test (push) Successful in 1m11s
tests / test (pull_request) Successful in 2m14s
d0648fe01d
Runs from the Mac after every `git push server main`.

Flow: starts a tiny HTTP server on the Mac's LAN IP serving
tests/fixtures/synthetic_giro.pdf → POST /jobs with bank_statement_header
+ Paperless-style texts so text_agreement has something to check against →
poll GET /jobs/{id} until terminal → assert status=done, bank_name
non-empty, closing_balance.provenance_verified=True, text_agreement=True,
elapsed < 60 s. Non-zero exit blocks the deploy.

Uses only stdlib (http.server, urllib) — no extra deps on the Mac-side,
no test framework overhead.

Task 5.4 of MVP plan.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
goldstein merged commit f6cc99f062 into main 2026-04-18 10:18:24 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
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: goldstein/infoxtractor#29
No description provided.