Skip to content

Latest commit

 

History

History
27 lines (26 loc) · 9.29 KB

File metadata and controls

27 lines (26 loc) · 9.29 KB

Completed Refactorings

Document Completed Target Notes
Docker Compose Topology Domain Model Jan 26, 2026 Move topology rules to domain, derive volumes/networks See git history at docs/refactors/plans/docker-compose-topology-domain-model.md - Moved all Docker Compose topology decisions to domain layer with Network/Service enums and DockerComposeTopology aggregate (Epic #287, 8 proposals)
Strengthen Domain Invariant Enforcement Jan 26, 2026 Enforce DDD invariants in domain layer See git history at docs/refactors/plans/strengthen-domain-invariant-enforcement.md - Added validated constructors and private fields to domain config types (Issue #281, 6 proposals, all completed)
Secret Type Introduction Dec 18, 2025 Secret handling for sensitive data (API tokens, passwords) See git history at docs/refactors/plans/secret-type-introduction.md - Introduced ApiToken and Password wrappers using secrecy crate for sensitive data handling (Issue #243)
Rename Test Functions to Follow Conventions Dec 12, 2025 All test functions with test_ prefix (21 files) See git history at docs/refactors/plans/rename-test-functions-to-follow-conventions.md - Renamed 93 test functions and 14 helper functions across 20 files to follow behavior-driven naming conventions (21 proposals, all completed), PR #228
Command Code Quality Improvements Dec 3, 2025 ProvisionCommand, ConfigureCommand See git history at docs/refactors/plans/command-code-quality-improvements.md - API simplification, state persistence, clock injection, trace writing, and test builders (5 of 9 proposals completed, 4 postponed for future work)
User Output Architecture Improvements Nov 13, 2025 src/presentation/views/ (formerly user_output) See git history at docs/refactors/plans/user-output-architecture-improvements.md - Superseded by Presentation Layer Reorganization which renamed user_output to views and integrated it into four-layer MVC architecture
Presentation Layer Reorganization Nov 13, 2025 src/presentation/ See git history at docs/refactors/plans/presentation-layer-reorganization.md - Transformed presentation layer into four-layer MVC architecture (Input → Dispatch → Controllers → Views), Epic #154 with 6 proposals, all completed
Presentation Commands Cleanup Oct 30, 2025 src/presentation/commands module See git history at docs/refactors/plans/presentation-commands-cleanup.md - Eliminated duplication, improved abstraction, enhanced testability, and ensured consistent patterns across command handlers (11 proposals, all completed)
Move Config Module to Create Command Oct 30, 2025 src/domain/configsrc/application/command_handlers/create/config See git history at docs/refactors/plans/move-config-to-create-command.md - Moved config DTOs from domain to application layer to align with DDD principles (1 proposal, completed)
Command Handlers Refactoring Oct 28, 2025 All command handlers See git history at docs/refactors/plans/command-handlers-refactoring.md - Comprehensive refactoring covering error handling, logging patterns, and method organization across all command handlers (7 proposals, all completed)
Consolidate Adapters in src/adapters/ Oct 15, 2025 External tool adapters organization See docs/refactors/plans/consolidate-adapters-in-src-adapters.md - Moved all external tool adapters to unified src/adapters/ module for better discoverability and consistency (4 proposals, all completed)
SSH Client Code Quality Improvements Oct 15, 2025 SshClient, SshConfig See git history at docs/refactors/ssh-client-code-quality-improvements.md - Extracted magic numbers into SshConnectionConfig, improved test quality, enhanced error context (7 of 8 proposals completed, 2 discarded)
SSH Server Testing Improvements Oct 14, 2025 testing/integration/ssh_server/ See git history at docs/refactors/ssh-server-testing-improvements.md - Refactored SSH server testing module with trait abstractions, proper error handling, and Docker client injection (13 of 15 proposals completed)
SSH Client Integration Tests Refactor Oct 13, 2025 tests/ssh_client_integration.rs See git history at docs/refactors/ssh-client-integration-tests-refactor.md - Split monolithic test file into focused modules, eliminated ~80% code duplication (4 of 5 proposals completed)
Repository Rename to Deployer Oct 10, 2025 Repository and package names Renamed from "Torrust Tracker Deploy" to "Torrust Tracker Deployer" - Updated all references, package names, and added deprecation notices to PoC repositories (5 proposals, all completed)
Environment Context Three-Way Split Oct 8, 2025 EnvironmentContext See git history at docs/refactors/environment-context-three-way-split.md - Split context into UserInputs, InternalConfig, and RuntimeOutputs (4 proposals, all completed)
Environment Context Extraction Oct 8, 2025 Environment<S>, AnyEnvironmentState See git history at docs/refactors/environment-context-extraction.md - Extracted EnvironmentContext from Environment to reduce pattern matching (2 phases, all completed)
JSON File Repository Improvements Oct 3, 2025 json_file_repository.rs See git history at docs/refactors/json-file-repository-improvements.md for the complete refactoring plan (9 proposals, all completed)
File Lock Improvements Oct 3, 2025 file_lock.rs See git history at docs/refactors/file-lock-improvements.md for the complete refactoring plan (10 proposals, all completed)
Command Preparation for State Management Oct 7, 2025 ProvisionCommand, ConfigureCommand See git history at docs/refactors/command-preparation-for-state-management.md - Refactored commands to prepare for type-state pattern integration
Error Context with Trace Files Oct 7, 2025 Error handling infrastructure See git history at docs/refactors/error-context-with-trace-files.md - Replaced string-based error context with structured, type-safe context and trace files
Error Kind Classification Strategy Oct 7, 2025 Traceable trait, error types See git history at docs/refactors/error-kind-classification-strategy.md - Moved error kind determination into error types via Traceable trait
Step Tracking for Failure Context Oct 7, 2025 Command execution flow See git history at docs/refactors/step-tracking-for-failure-context.md - Added explicit step tracking to eliminate reverse engineering from error types