This website requires JavaScript.
36158ae761
feat(notificaciones): sweep one aseguradora at a time, and stop the robot quoting a premium
master
rmancinas and Claude Opus 5
2026-08-20 07:24:28 -07:00
fa38ff581e
fix(deploy): reclaim superseded images so the host stops filling up
rmancinas and Claude Opus 5
2026-08-19 20:32:52 -07:00
c4213aa697
fix(audit): the corte audit computed a book the app no longer shows
rmancinas and Claude Opus 5
2026-08-19 20:05:43 -07:00
f7507f2370
chore(release): v1.0.26
v1.0.26
gitea-actions
2026-08-20 02:44:12 +00:00
2f9a9afc0d
fix(billing): the cash receipt book is not a second ledger
rmancinas and Claude Opus 5
2026-08-19 18:36:45 -07:00
7e71a993d0
chore(release): v1.0.25
v1.0.25
gitea-actions
2026-08-20 00:31:07 +00:00
aa5867c8ea
fix(statements): an archive is history below the year start, not nothing
rmancinas and Claude Opus 5
2026-08-19 17:28:59 -07:00
5549a1e0cf
chore(release): v1.0.24
v1.0.24
gitea-actions
2026-08-19 23:58:27 +00:00
c6feae9522
fix(customers): the customer file's balances are the statement's balances
rmancinas and Claude Opus 5
2026-08-19 16:19:06 -07:00
93f817158e
feat(statements): a year selector, reading each closed year from its archive
rmancinas and Claude Opus 5
2026-08-19 15:48:25 -07:00
29ae9fa5bc
feat(migration): import prior periods so a closed year can be shown on its own
rmancinas and Claude Opus 5
2026-08-19 15:26:58 -07:00
9973488330
fix(billing): folio typos hid two double-booked receipts from the audit
rmancinas and Claude Opus 5
2026-08-18 23:35:53 -07:00
75dcbc11b8
feat(billing): audit the two populations the balance floor misses
rmancinas and Claude Opus 5
2026-08-18 23:18:48 -07:00
9929a9a3ac
feat(customers): the customer file's estado de cuenta follows the same year rule
rmancinas and Claude Opus 5
2026-08-18 20:21:41 -07:00
8b8de0fdca
chore(release): v1.0.23
v1.0.23
gitea-actions
2026-08-19 03:10:16 +00:00
bc749055e7
feat(statements): scope the estado de cuenta to the current year, oldest-first
rmancinas and Claude Opus 5
2026-08-18 08:45:15 -07:00
75e9f582b4
feat(policy-ocr): store the IVA A.N.A. already prints
rmancinas and Claude Opus 5
2026-08-18 07:38:23 -07:00
48e01ddd21
feat(policies): capture the full premium breakdown
rmancinas and Claude Opus 5
2026-08-18 00:24:14 -07:00
8c144fe8c4
chore(release): v1.0.22
v1.0.22
gitea-actions
2026-08-15 20:06:28 +00:00
4f2f064955
fix(web): OCR batch review returns to capture, not the policy list
rmancinas and Claude Opus 5
2026-08-15 13:04:14 -07:00
2f99bd5f98
fix(web): define the layout utilities the screens were already using
rmancinas and Claude Opus 5
2026-08-15 12:58:14 -07:00
458b2b272d
chore(release): v1.0.21
v1.0.21
gitea-actions
2026-08-15 19:41:02 +00:00
81938877ed
feat(policy-ocr): suggest the customer from the printed insured name
rmancinas and Claude Opus 5
2026-08-15 12:37:09 -07:00
d854dff091
chore(release): v1.0.20
v1.0.20
gitea-actions
2026-08-15 18:59:38 +00:00
19864f16f2
fix(ocr): keep the printed layout when rebuilding text from word boxes
rmancinas and Claude Opus 5
2026-08-15 11:56:19 -07:00
ca6432efc8
chore(release): v1.0.19
v1.0.19
gitea-actions
2026-08-15 08:33:01 +00:00
022d1935ad
feat(policy-ocr): set policyTypeId and insuranceProviderId on confirm
rmancinas and Claude Opus 5
2026-08-15 01:28:26 -07:00
5a277f4885
feat(deploy): apply migrations at api container start
rmancinas and Claude Opus 5
2026-08-15 01:17:01 -07:00
d645ba51d3
feat(policy-ocr): read A.N.A. Seguros' two policy faces
rmancinas and Claude Opus 5
2026-08-15 01:09:16 -07:00
14c4d44acb
docs(policy-ocr): vigencia/agente/prima are keyed in by hand on the PVL layout
rmancinas and Claude Opus 5
2026-08-15 00:20:09 -07:00
45be0ad77d
feat(policy-ocr): read GMX's Spanish PVL especificación layout
rmancinas and Claude Opus 5
2026-08-15 00:10:26 -07:00
7be897ef2b
chore(release): v1.0.18
v1.0.18
rmancinas
2026-08-11 13:17:45 -07:00
cf40cd22ef
fix(deploy): stop pinning API_ORIGIN, and probe one origin not the list
rmancinas and Claude Opus 5
2026-08-11 13:14:04 -07:00
3b02c6944f
chore(release): v1.0.17
v1.0.17
rmancinas
2026-08-11 12:56:52 -07:00
683fd37b08
docs(deploy): stop documenting API_ORIGIN as required
rmancinas and Claude Opus 5
2026-08-11 12:56:50 -07:00
14c6183aa2
feat(deploy): derive the API origin from the page, not from a pinned env var
rmancinas and Claude Opus 5
2026-08-11 12:55:26 -07:00
5352d49ecf
chore(release): v1.0.16
v1.0.16
gitea-actions
2026-08-07 05:06:42 +00:00
2169ffa78d
feat(ops): verify the replica against the master, not just its own status
rmancinas and Claude Opus 5
2026-08-06 21:38:22 -07:00
17d83291c3
feat(migration): refuse a full re-import that would delete native rows
rmancinas and Claude Opus 5
2026-08-06 21:01:01 -07:00
6a97242fc3
feat(customers): allocate portal NUMids, with an audit for reusable ones
rmancinas and Claude Opus 5
2026-08-06 20:04:03 -07:00
7981c715ce
chore(release): v1.0.15
v1.0.15
gitea-actions
2026-08-05 07:37:01 +00:00
d173c9e9a0
fix(billing): stop double-counting history a BALANCE FORWARD already carries
rmancinas and Claude Opus 5
2026-08-05 00:34:53 -07:00
e9a5ee9e90
fix(migration): carry NOPAGO into transactions.outstanding
rmancinas and Claude Opus 5
2026-08-04 23:53:37 -07:00
458e67340c
chore(release): v1.0.14
v1.0.14
gitea-actions
2026-08-05 05:33:49 +00:00
b12382b436
ci: move the galactus deploy chain to a tag-only workflow
rmancinas and Claude Opus 5
2026-08-04 22:27:58 -07:00
2620559975
chore(release): v1.0.13
v1.0.13
gitea-actions
2026-08-05 05:23:57 +00:00
ed19f51a52
fix(ops): re-stage before an additive sync
rmancinas and Claude Opus 5
2026-08-04 22:20:30 -07:00
e85db73dbc
ci: deploy to galactus automatically when a tag build goes green
rmancinas and Claude Opus 5
2026-08-04 21:48:17 -07:00
d38bbc52ec
chore(release): v1.0.12
v1.0.12
gitea-actions
2026-08-05 04:40:07 +00:00
fe761e119e
feat(ops): show relay apply progress on the replication card
rmancinas and Claude Opus 5
2026-08-04 21:35:34 -07:00
4a929f7e7c
chore(release): v1.0.11
v1.0.11
gitea-actions
2026-08-04 00:55:49 +00:00
66d0d071b0
feat(ops): show step progress for reimport and sync jobs
rmancinas and Claude Opus 5
2026-08-03 17:53:01 -07:00
f269dc8bfa
chore(release): v1.0.10
v1.0.10
gitea-actions
2026-08-04 00:43:02 +00:00
eef9a5f4c8
fix(ops): stop the replica field parser reading the next line
rmancinas and Claude Opus 5
2026-08-03 17:40:49 -07:00
7f1bfe906e
chore(release): v1.0.9
v1.0.9
gitea-actions
2026-08-04 00:31:58 +00:00
7797c45e9f
fix(ops): fail orphaned RUNNING jobs at startup
rmancinas and Claude Opus 5
2026-08-03 17:22:15 -07:00
dac1f1982f
feat(ops): show read-replica health on the Operaciones screen
rmancinas and Claude Opus 5
2026-08-03 17:22:15 -07:00
1d689d8f46
fix(migration): label EFECTIVO cash rows as CASH DEPOSIT
rmancinas and Claude Opus 5
2026-08-03 17:10:12 -07:00
7bec2a13d8
feat(deploy): add a replication health check for the read replica
rmancinas and Claude Opus 5
2026-08-03 17:07:33 -07:00
127eaa9689
chore(release): v1.0.8
v1.0.8
gitea-actions
2026-08-03 20:47:55 +00:00
7226772c22
fix(migration): recover transaction type labels and minimum balance
rmancinas and Claude Opus 5
2026-08-03 12:29:49 -07:00
2fa12890f5
chore(release): v1.0.7
v1.0.7
gitea-actions
2026-08-02 20:29:10 +00:00
e77e5546d8
docs: SES secrets created, ship blocker cleared
rmancinas and Claude Opus 5
2026-08-02 13:25:44 -07:00
3e12597204
docs: add BACKLOG.md, one list of everything outstanding
rmancinas and Claude Opus 5
2026-08-02 13:14:25 -07:00
ec139737be
docs: as-built reference for the statement OCR capture
rmancinas and Claude Opus 5
2026-08-02 13:02:14 -07:00
872a661051
docs: document policy OCR capture, the feature no spec proposed
rmancinas and Claude Opus 5
2026-08-02 12:56:25 -07:00
6331481f82
docs: record notificaciones as built, flags global, schedules editable
rmancinas and Claude Opus 5
2026-08-02 12:43:19 -07:00
89611da202
feat(notificaciones): global send flags + editable schedules
rmancinas and Claude Opus 5
2026-08-02 12:23:19 -07:00
a491ef3eed
feat(notificaciones): edit summary recipients in the UI
rmancinas and Claude Opus 5
2026-08-02 11:58:42 -07:00
f4b92fa7a5
fix(deploy): pass SES config through to the app stack
rmancinas and Claude Opus 5
2026-08-02 10:59:45 -07:00
33833c3af9
feat(notificaciones): one send log across servicios and pólizas
rmancinas and Claude Opus 5
2026-08-02 03:01:03 -07:00
c0cc0d2ac2
feat(renovaciones): send renewal notices from the list, drop manual marking
rmancinas
2026-08-02 02:40:38 -07:00
53a5fe8076
feat(notificaciones): ejecutar todos for servicios jobs
rmancinas
2026-08-02 02:32:13 -07:00
0332292ae9
fix(notificaciones): merge renewals into one screen, fix MailModule DI
rmancinas and Claude Opus 5
2026-08-02 02:21:51 -07:00
ec0e9c2a5d
Merge branch 'massive-email-notification' into master
rmancinas
2026-08-02 02:05:36 -07:00
a52e59cbc5
feat(notificaciones): mass email notifications over SES
rmancinas
2026-08-02 02:04:14 -07:00
87d8743251
feat(renovaciones): renewal notification emails over SES
rmancinas
2026-08-02 01:59:54 -07:00
3125b52057
feat(ocr): discard abandoned capture batches
rmancinas
2026-08-02 01:59:40 -07:00
905fa31e47
chore(release): v1.0.6
v1.0.6
gitea-actions
2026-08-02 02:06:12 +00:00
5e9cb12fba
feat(polizas): OCR capture for insurance policy PDFs
rmancinas and Claude Opus 5
2026-08-01 14:07:29 -07:00
5bce0e4c94
feat(recibos): OCR capture for zona federal (ZOFEMAT Tijuana)
rmancinas and Claude Opus 5
2026-08-01 14:07:21 -07:00
d6501f1d74
feat(recibos): OCR capture for gas butano and municipal predial
rmancinas and Claude Opus 5
2026-08-01 12:52:20 -07:00
216309190c
feat(recibos): live OCR progress bar on review page
rmancinas
2026-08-01 02:43:19 -07:00
e589bda28b
ci(build): skip the redundant master build when a release is cut
rmancinas and Claude Opus 5
2026-08-01 02:28:01 -07:00
98f7aa8a2d
chore(release): v1.0.5
v1.0.5
gitea-actions
2026-08-01 09:22:56 +00:00
898cf48c80
fix(migration): re-import died on the last step because blob_extract required deploy/.env.prod
rmancinas and Claude Opus 5
2026-08-01 02:21:29 -07:00
70fe425043
chore(release): v1.0.4
v1.0.4
gitea-actions
2026-08-01 09:09:15 +00:00
567b033c46
fix(docker): re-import failed because the Access CLI tools were never installed
rmancinas and Claude Opus 5
2026-08-01 02:07:22 -07:00
1934470d53
ci(release): dispatch the fallback build with a fully qualified ref
rmancinas and Claude Opus 5
2026-08-01 02:00:23 -07:00
fdbe9fdb88
ci(release): fail the release when the build never starts
rmancinas and Claude Opus 5
2026-08-01 01:58:10 -07:00
e082113640
chore(release): v1.0.3
v1.0.3
gitea-actions
2026-08-01 08:45:42 +00:00
860d483bad
fix(ops): backup failed on the MariaDB client shipped in the API image
rmancinas and Claude Opus 5
2026-08-01 01:43:25 -07:00
783ec83464
feat(ops): show upload percent, speed and ETA for ingest files
rmancinas and Claude Opus 5
2026-08-01 01:38:18 -07:00
a9b4aab7ec
chore(release): v1.0.2
v1.0.2
gitea-actions
2026-08-01 08:23:07 +00:00
a8afd87c3f
ci: add a "Cut release" dispatch workflow
rmancinas and Claude Opus 5
2026-08-01 01:21:13 -07:00
b59abda895
feat(captura): fold recibo OCR into Captura as an automatic mode
rmancinas and Claude Opus 5
2026-08-01 01:04:09 -07:00
4d5008b545
feat(statements): OCR intake for scanned utility bills
rmancinas and Claude Opus 5
2026-08-01 00:42:35 -07:00
121952fdc1
chore(release): v1.0.1
v1.0.1
rmancinas and Claude Opus 5
2026-07-30 16:38:06 -07:00
15f533b984
fix(web): show the full commit hash in the build footer
rmancinas and Claude Opus 5
2026-07-30 16:37:48 -07:00
db2bd545a1
chore(release): v1.0.0
v1.0.0
rmancinas and Claude Opus 5
2026-07-30 16:21:35 -07:00