thomas
09d0c9b99b
fix(pipeline): skip rule evaluation when PDF extraction fails (US-13)
...
An unreadable PDF was still passed to cfg.Evaluate with nil pages, producing
a cascade of spurious errors (index out of range on pages[0], missing
mandatory fields) in the imported event. Route straight to pending/ with the
extraction failure as the single error.
2026-11-03 22:53:16 +01:00
thomas
02f7fd99bb
Corrections after first run
2026-11-03 22:36:27 +01:00
thomas
6f94674fc9
archivist: migrate to PocketBase v0.41.1 (module ganigeorgiev.com/pocketbase/pocketbase); dbx moved to ganigeorgiev.com/pocketbase/dbx; go 1.27 and golang:1.27-alpine builder
2026-11-03 21:01:00 +01:00
thomas
7829d73cd4
archivist: scratch runtime Dockerfile (static binary only, non-root, CA bundle + tzdata); .dockerignore; README build section; arch.md packaging; fix ARCHIVIST_HTTP_ADDR doc row
2026-11-02 13:28:50 +01:00
thomas
233c153072
archivist: single-file E2E regression gate (Garage + image under test); superuser-only poll route; ARCHIVIST_S3_REGION
2026-11-02 12:28:58 +01:00
thomas
1cbe96b173
archivist: fix README spacing before Troubleshooting section
2026-11-02 11:27:57 +01:00
thomas
67c337eb14
archivist: runtime logs through PocketBase logger (Dashboard > Logs); stderr kept for pre-bootstrap fatals
2026-11-02 11:27:00 +01:00
thomas
61586a670a
archivist: clarify Remove() comment re optional versioning
2026-11-02 11:13:02 +01:00
thomas
3bba6a82db
archivist: versioning check becomes a startup warning in code
2026-11-02 11:12:31 +01:00
thomas
72fe21c9c1
archivist: brief aligned with versioning-optional decision
2026-11-02 11:12:23 +01:00
thomas
20385eafca
archivist: README aligned with versioning-optional decision
2026-11-02 11:12:15 +01:00
thomas
e667ee7203
archivist: US-01/US-12/US-17 aligned with versioning-optional decision
2026-11-02 11:12:08 +01:00
thomas
fd35991397
archivist: versioning no longer required, warning at startup instead (recommended)
2026-11-02 11:11:59 +01:00
thomas
24b22c5815
archivist: render template from stored fields when recovering interrupted filings
2026-11-01 23:02:52 +01:00
thomas
a9b4fa5eca
archivist: initial Go implementation of the written user stories (US-01..US-23)
2026-11-01 23:02:24 +01:00
thomas
7de824d797
archivist: correction and validation through the standard PocketBase UI via the update hook
2026-11-01 22:52:40 +01:00
thomas
ce19e97711
archivist: allow document correction and validation through the standard PocketBase UI via the update hook (US-22, US-23)
2026-11-01 22:52:32 +01:00
thomas
d04134d8cd
archivist: enforce document_events append-only via request hooks instead of API rules (superusers bypass rules)
2026-11-01 22:46:02 +01:00
thomas
a2f448873a
archivist: add user stories for startup, configuration, polling/classification and PocketBase UI visualization
2026-11-01 19:16:17 +01:00
thomas
a9d6af7f9c
archivist: add user-facing README (docker deployment, configuration, dashboard)
2026-11-01 18:43:34 +01:00
thomas
fe9ba799b9
archivist: document firstMatch empty-string semantics, interrupted-filing recovery, log-only duplicates
2026-11-01 18:37:27 +01:00
thomas
d6cf724878
archivist: move status into before/after snapshots in document_events payloads
2026-11-01 16:15:04 +01:00
thomas
b4e7c983a8
archivist: document document_events payload format (imported/corrected/validated)
2026-11-01 16:11:04 +01:00
thomas
348c69224d
archivist: drop original_filename and size columns
2026-11-01 11:54:40 +01:00
thomas
b6f23a30f9
archivist: firstMatch examples use pages expressions
2026-11-01 11:51:49 +01:00
thomas
bfc02c626f
archivist: firstMatch takes a pages expression, not page numbers
2026-11-01 11:51:42 +01:00
thomas
3b743345f1
archivist: update examples for pages array and firstMatch scope
2026-11-01 11:45:11 +01:00
thomas
7e1b53adf0
archivist: page-by-page text storage and firstMatch pages argument
2026-11-01 11:45:04 +01:00
thomas
e080bc3069
archivist: brief wording for page-based extraction
2026-11-01 11:44:57 +01:00
thomas
21d727c9a3
archivist: use backtick raw strings in expression examples
2026-11-01 11:37:51 +01:00
thomas
fe497fb6d8
archivist: document period() and use it in bank statement example
2026-11-01 11:23:48 +01:00
thomas
84557434d4
archivist: document period() helper for period-based naming
2026-11-01 11:23:40 +01:00
thomas
daa1d4f0b5
archivist: {expr} placeholder templates, rename date field to emissionDate
2026-11-01 11:13:36 +01:00
thomas
8eb69367c0
archivist: templates keep {expr} placeholders whose content is an expr expression
2026-11-01 11:13:29 +01:00
thomas
6a92127d20
archivist: fix date field type (string -> date) in example config
2026-11-01 11:07:37 +01:00
thomas
d6678aa1e3
archivist: use expr standard date(value, layout) builtin instead of custom parseDate
2026-11-01 11:07:19 +01:00
thomas
a17de3c004
archivist: drop custom parseDate helper, use expr standard date(value, layout) builtin
2026-11-01 11:07:12 +01:00
thomas
db90657598
archivist: field types in example config, native date via parseDate helper
2026-11-01 11:05:37 +01:00
thomas
36d79a188d
archivist: field types (text/number/date/boolean/enum), native time.Time dates, parseDate helper, enum vocabulary dropdown
2026-11-01 11:05:30 +01:00
thomas
7f1fbb7f4b
archivist: fix invalid JSON (unescaped quotes), use expr raw strings (backticks) in expressions
2026-10-31 12:58:25 +01:00
thomas
c5373da667
archivist: add example config.jsonc (banks, tax notices, invoices) with firstMatch extraction
2026-10-31 11:05:08 +01:00
thomas
105a762579
archivist: rule structure (when/set/delete/rules), eval expressions, firstMatch helper, date normalization
2026-10-31 11:05:04 +01:00
thomas
1417ceb4bf
archivist: simplify brief, remove redundancies
2026-10-30 16:49:24 +01:00
thomas
dd20b63a79
archivist: correction implies validation, save blocked on unresolvable template, template renders full path
2026-10-30 14:56:03 +01:00
thomas
99c3d4a050
archivist: explicit filing order, extraction failure reason in classified event, drop redundant timestamps
2026-10-30 14:45:18 +01:00
thomas
b01e19534c
archivist: template as a declared field, first-page-only rule context, duplicate handled via logs
2026-10-30 14:37:36 +01:00
thomas
01b6dc2c4b
archivist: align scope wording with rules-based extraction
2026-10-30 14:28:41 +01:00
thomas
6f65fe141d
archivist: drop lists section, template chosen via rules, log-based rule trace, crash-safe pipeline ordering
2026-10-30 14:28:36 +01:00
thomas
70d8bc8922
archivist: clarify reference data and mark pre-existing files out of scope
2026-10-30 14:12:35 +01:00
thomas
a605299af7
archivist: fix brief/architecture inconsistencies (rules context, duplicates, pending re-filing, config reload, FTS, history)
2026-10-30 14:12:31 +01:00