All checks were successful
Deploy to K8s / deploy (push) Successful in 7s
Prints an aligned tabwriter table of every Fio transaction in the look-back window, with a STATUS column showing NEW (would be appended) or DUP (already in sheet). Only fires when --dry-run is also set, so it can't affect real syncs. Refactors Sync ID computation into a single pre-pass shared by both the table printer and the row builder. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
30 lines
1.4 KiB
Markdown
30 lines
1.4 KiB
Markdown
# Add `--print-fio-table` debug flag to `fuj sync`
|
|
|
|
## Context
|
|
|
|
The Go port of `fuj sync --dry-run` currently prints only the **new**
|
|
transactions — i.e. rows that will be appended to the payments sheet after
|
|
deduping against existing Sync IDs (see [sync.go:125-129](../../go/internal/services/banksync/sync.go#L125-L129)).
|
|
When debugging Fio sync issues ("why isn't transaction X showing up?",
|
|
"is the dedup working?"), there's no way to see what Fio actually
|
|
returned versus what got filtered as a duplicate.
|
|
|
|
This change adds a `--print-fio-table` flag that, **only when combined
|
|
with `--dry-run`**, prints an aligned table of every Fio transaction in
|
|
the window with each row marked `NEW` (would be appended) or `DUP`
|
|
(already in sheet, skipped). The flag is silently ignored without
|
|
`--dry-run`, so it can't accidentally fire during a real sync.
|
|
|
|
## Decisions
|
|
|
|
- Flag name: `--print-fio-table` (specific, not generic `--verbose`).
|
|
- Columns: `DATE | AMOUNT | SENDER | VS | MESSAGE | BANKID | STATUS`,
|
|
with MESSAGE truncated and STATUS = `NEW` / `DUP`.
|
|
- Scope: only effective when `--dry-run` is also set.
|
|
|
|
## Files modified
|
|
|
|
- [go/cmd/fuj/main.go](../../go/cmd/fuj/main.go) — new flag + SyncOpts field
|
|
- [go/internal/services/banksync/sync.go](../../go/internal/services/banksync/sync.go) — SyncOpts struct + refactored step 4
|
|
- [go/internal/services/banksync/debug.go](../../go/internal/services/banksync/debug.go) — printFioTable helper (new)
|