refactor: move Python implementation to legacy/, make Go primary #43

Merged
kacerr merged 1 commits from feat/python-to-legacy into main 2026-10-08 11:45:12 +02:00
Owner

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

## 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)
kacerr added 1 commit 2026-10-08 11:35:47 +02:00
refactor: move Python implementation to legacy/, make Go primary
Deploy to K8s / deploy (push) Successful in 20s
022facc957
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 main 2026-10-08 11:45:12 +02:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: kacerr/fuj-management#43