The legacy Python /sync-bank synced a hardcoded 2026-01-01..2026-12-31 window and would have stopped picking up transactions on 2027-01-01.
Go synced the current calendar year only, so a payment dated in late December that had not been synced before New Year would be missed by the dashboard button in January.
Changes
Both dashboards now use one shared default window: 1 November of the previous year to 31 December of the current year (banksync.DefaultWindow in Go, default_sync_window in Python).
New make sync-year [YEAR=N] with the same window. make sync-2026 is kept.
Unchanged: the CLI default without flags (fuj sync, make sync) is still the last 30 days.
Tests for the window on both sides; CLAUDE.md, CHANGELOG and task list (T3) updated.
Testing
make go-test and make test (39 Python tests) pass.
Dry runs against Fio with the new window, both implementations: 145 transactions fetched (142 with the old current-year window), 1 new. Both accounts returned data for the 14-month range.
Not exercised: a real, non-dry-run sync from the dashboard.
## Why
- The legacy Python `/sync-bank` synced a hardcoded `2026-01-01`..`2026-12-31` window and would have stopped picking up transactions on 2027-01-01.
- Go synced the current calendar year only, so a payment dated in late December that had not been synced before New Year would be missed by the dashboard button in January.
## Changes
- Both dashboards now use one shared default window: 1 November of the previous year to 31 December of the current year (`banksync.DefaultWindow` in Go, `default_sync_window` in Python).
- New `make sync-year [YEAR=N]` with the same window. `make sync-2026` is kept.
- Unchanged: the CLI default without flags (`fuj sync`, `make sync`) is still the last 30 days.
- Tests for the window on both sides; CLAUDE.md, CHANGELOG and task list (T3) updated.
## Testing
- `make go-test` and `make test` (39 Python tests) pass.
- Dry runs against Fio with the new window, both implementations: 145 transactions fetched (142 with the old current-year window), 1 new. Both accounts returned data for the 14-month range.
- Not exercised: a real, non-dry-run sync from the dashboard.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
/sync-bank now uses one shared default window in both implementations:
1 November of the previous year to 31 December of the current year.
Payments dated around New Year are picked up in January; duplicates
are still filtered by Sync ID.
Python used a hardcoded 2026 window and would have stopped syncing on
2027-01-01; Go used the current calendar year only.
Adds make sync-year [YEAR=N] with the same window. The CLI default
without flags (last 30 days) is unchanged.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
kacerr
merged commit 1d5a1c95d2 into main2026-10-08 12:05:16 +02:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Why
/sync-banksynced a hardcoded2026-01-01..2026-12-31window and would have stopped picking up transactions on 2027-01-01.Changes
banksync.DefaultWindowin Go,default_sync_windowin Python).make sync-year [YEAR=N]with the same window.make sync-2026is kept.fuj sync,make sync) is still the last 30 days.Testing
make go-testandmake test(39 Python tests) pass.🤖 Generated with Claude Code