| 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/config → src/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 |