Skip to content

refactor: retire Python optimizer and separate updates - #1083

Merged
frahlg merged 4 commits into
masterfrom
refactor/remove-python-optimizer
Sep 7, 2026
Merged

frahlg merged 4 commits into
masterfrom
refactor/remove-python-optimizer

Conversation

@frahlg

@frahlg frahlg commented Sep 7, 2026

Copy link
Copy Markdown
Member

Core already runs the compiled Energyplan worker in beta, but each installation still starts the retired Python service and the updater refuses Core updates without it. This removes the Python package, container and release workflow, runtime settings, Python shadow, and separate optimizer update controls. Core updates carry Energyplan; Core DP remains the validated fallback and comparison shadow.

Older planner.engine: python settings migrate to Energyplan. New Compose installations start no Python service. An explicit updater -retire-python command checks that Energyplan is healthy, starts a helper from the exact installed updater image with a writable project mount, saves the old Compose files, removes the retired service and its FTW socket wiring, and keeps custom services, image pins and persistent data. Older updaters can install this pair before the old container is retired.

Validation: make verify passed, including the bundled worker integration, and all 541 web tests passed. Browser checks covered the engine choices, removal of the optimizer row and Python controls, and the single Core update channel. Migration tests cover installations without Python, preservation of custom overrides, and Core/updater rollback. The new retirement tests cover both Compose environment formats, volume formats, idempotence, preservation of the data mount, writable helper mounts, and orphan removal within the existing project.

This retires the Python code touched by #1036 and the Python portions of #963 and #971. Their separate Go planning and validation work remains outside this change.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 7, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-09-07T08:30:38.577615Z 7f8fbc3 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@cursor cursor Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Stale Bugbot comment from a previous run.

Comment thread go/cmd/ftw-updater/retire_python.go
Comment thread go/cmd/ftw-updater/retire_python.go

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 7f8fbc3fa4

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread go/cmd/ftw-updater/retire_python.go

@cursor cursor Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Stale comment

Left a non-blocking comment; not approved. Cursor Bugbot was present but finished as skipped, so its review is not a usable approval signal. No reviewers were assigned because the matching CODEOWNERS path is the PR author.

Open in Web View Automation 

Sent by Cursor Approval Agent: Pull Request Router and Approver

@cursor cursor Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Stale comment

Left a non-blocking comment; not approved. Cursor Bugbot was present but finished as skipped, so its review is not a usable approval signal. No reviewers were assigned because the matching CODEOWNERS path is the PR author.

Open in Web View Automation 

Sent by Cursor Approval Agent: Pull Request Router and Approver

@frahlg
frahlg merged commit 8515c96 into master Sep 7, 2026
20 checks passed

@cursor cursor Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes using high effort and found 2 potential issues.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit fc25852. Configure here.

Comment thread go/cmd/ftw-updater/retire_python.go
Comment thread go/cmd/ftw-updater/retire_python.go

@cursor cursor Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Left a non-blocking comment; not approved. Cursor Bugbot was present but finished as skipped, so its review is not a usable approval signal. No reviewers were assigned because the matching CODEOWNERS path is the PR author.

Open in Web View Automation 

Sent by Cursor Approval Agent: Pull Request Router and Approver

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant