Skip to content

refactor: make SpeedyBot v4 one integrated application - #6

Merged
roseshayan merged 10 commits into
mainfrom
refactor/v4-integrated-project
Aug 16, 2026
Merged

refactor: make SpeedyBot v4 one integrated application#6
roseshayan merged 10 commits into
mainfrom
refactor/v4-integrated-project

Conversation

@roseshayan

Copy link
Copy Markdown
Owner

Why

The first v4 merge shipped the new product layer as app.py + speedybot_v4/, which made v4 look like an overlay instead of the actual application.

This PR makes v4 the single integrated SpeedyBot project.

Architecture

  • main.py is again the one official production entrypoint.
  • the existing business core moves to speedybot/core.py without functional rewriting;
  • v4 modules move from speedybot_v4/ to the permanent version-independent speedybot/ package;
  • app.py is removed;
  • tests/test_v4_storage.py becomes tests/test_storage.py.

Complete-project deployment

  • install.sh installs the complete repository layout;
  • update.sh synchronizes the complete repository with rsync --delete instead of a hard-coded file list;
  • .env, .venv, SQLite DB/WAL/SHM, backups and deployment state are preserved;
  • obsolete version-specific source files are removed automatically;
  • rollback restores the complete previous application plus runtime state;
  • run.sh always executes /root/SpeedyBot/main.py.

Documentation

README English/Persian, migration notes, changelog and v4 release notes now describe the integrated architecture and the one-time updater refresh required for older installations.

Validation

  • Python syntax for main.py and speedybot/*.py
  • Unit tests
  • Shell syntax
  • CI layout check ensures app.py and speedybot_v4/ no longer exist
  • Version remains 4.0.0

Maintainer: SudoShayanNA

@roseshayan
roseshayan merged commit 2e6335c into main Aug 16, 2026
1 check passed
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