Go (go/) becomes the primary implementation. The original Python version moves to legacy/ and is considered legacy from now on. It stays runnable, and new features are still built in both.
Changes
git mv of app.py, scripts/, templates/, tests/, pyproject.toml, uv.lock and build/ into legacy/.
CLAUDE.md rewritten for the Go-first layout, with a new "Dual implementation rule" section.
Makefile: Python targets keep their names and point at legacy/. The virtualenv is now legacy/.venv, the Python cache is legacy/tmp/, and CREDENTIALS_PATH is exported pointing at the root .secret/ file.
CI and make image build the Python image with legacy/ as context. The Makefile is no longer copied into the image.
.dockerignore moved to legacy/ (the context root) so it takes effect, and now excludes nested __pycache__.
Go comments, fixture README, capture script and VS Code launch config updated to the new paths.
Testing
make test (32 Python tests), make go-test and make go-parity pass.
Both Docker images build; all read-only routes return 200 on each container.
Not exercised: the CI workflow itself (runs only on tag push or manual dispatch) and a real bank sync.
After merge
Trigger "Build and Push" manually once to confirm both images still publish.
The old root .venv/ and root tmp/*_cache.json are unused and can be deleted locally.
## What
Go (`go/`) becomes the primary implementation. The original Python version moves to `legacy/` and is considered legacy from now on. It stays runnable, and new features are still built in both.
## Changes
- `git mv` of `app.py`, `scripts/`, `templates/`, `tests/`, `pyproject.toml`, `uv.lock` and `build/` into `legacy/`.
- `CLAUDE.md` rewritten for the Go-first layout, with a new "Dual implementation rule" section.
- Makefile: Python targets keep their names and point at `legacy/`. The virtualenv is now `legacy/.venv`, the Python cache is `legacy/tmp/`, and `CREDENTIALS_PATH` is exported pointing at the root `.secret/` file.
- CI and `make image` build the Python image with `legacy/` as context. The Makefile is no longer copied into the image.
- `.dockerignore` moved to `legacy/` (the context root) so it takes effect, and now excludes nested `__pycache__`.
- Go comments, fixture README, capture script and VS Code launch config updated to the new paths.
## Testing
- `make test` (32 Python tests), `make go-test` and `make go-parity` pass.
- Both Docker images build; all read-only routes return 200 on each container.
- Not exercised: the CI workflow itself (runs only on tag push or manual dispatch) and a real bank sync.
## After merge
- Trigger "Build and Push" manually once to confirm both images still publish.
- The old root `.venv/` and root `tmp/*_cache.json` are unused and can be deleted locally.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Go (go/) becomes the primary implementation. The original Python
version moves to legacy/ and is kept runnable; new features are still
built in both (see the Dual implementation rule in CLAUDE.md).
- git mv app.py, scripts/, templates/, tests/, pyproject.toml, uv.lock
and build/ into legacy/
- Makefile: Python targets point at legacy/, venv in legacy/.venv,
CREDENTIALS_PATH exported for the root .secret/ file
- CI and make image build the Python image with legacy/ as context;
the Makefile is no longer copied into the image
- legacy/.dockerignore moved to the context root so it takes effect
- CLAUDE.md, docs/README.md, Go comments, fixture README, capture
script and VS Code launch config updated to the new layout
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
kacerr
merged commit e2ae5a7ec4 into main2026-10-08 11:45:12 +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.
What
Go (
go/) becomes the primary implementation. The original Python version moves tolegacy/and is considered legacy from now on. It stays runnable, and new features are still built in both.Changes
git mvofapp.py,scripts/,templates/,tests/,pyproject.toml,uv.lockandbuild/intolegacy/.CLAUDE.mdrewritten for the Go-first layout, with a new "Dual implementation rule" section.legacy/. The virtualenv is nowlegacy/.venv, the Python cache islegacy/tmp/, andCREDENTIALS_PATHis exported pointing at the root.secret/file.make imagebuild the Python image withlegacy/as context. The Makefile is no longer copied into the image..dockerignoremoved tolegacy/(the context root) so it takes effect, and now excludes nested__pycache__.Testing
make test(32 Python tests),make go-testandmake go-paritypass.After merge
.venv/and roottmp/*_cache.jsonare unused and can be deleted locally.🤖 Generated with Claude Code