Skip to content

Commit 411a609

Browse files
committed
docs(tracker-client): record unified module structure design decision
1 parent 1ee546e commit 411a609

2 files changed

Lines changed: 20 additions & 1 deletion

File tree

console/tracker-client/src/console/clients/unified/mod.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@
55
//! - New behavior and tests should be added here.
66
//! - Legacy binaries stay frozen except startup deprecation warnings.
77
//! - Once legacy binaries are removed, this module can be flattened in a dedicated cleanup.
8+
//!
9+
//! Sub-modules are kept as flat files (no per-action nesting). See the design decision in
10+
//! `docs/issues/open/1771-merge-clients-into-unified-tracker-client-cli.md`.
811
pub mod app;
912
pub mod check;
1013
pub mod http;

docs/issues/open/1771-merge-clients-into-unified-tracker-client-cli.md

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ github-issue: 1771
77
spec-path: docs/issues/open/1771-merge-clients-into-unified-tracker-client-cli.md
88
branch: "1771-merge-clients-into-unified-tracker-client-cli"
99
related-pr: 1772
10-
last-updated-utc: 2026-05-13 13:00
10+
last-updated-utc: 2026-05-13 15:00
1111
semantic-links:
1212
skill-links:
1313
- create-issue
@@ -17,6 +17,7 @@ semantic-links:
1717
- console/tracker-client/src/bin/tracker_checker.rs
1818
- packages/tracker-client/
1919
- console/tracker-client/
20+
- console/tracker-client/src/console/clients/unified/mod.rs
2021
---
2122

2223
<!-- skill-link: create-issue -->
@@ -114,6 +115,20 @@ is released and documented. The removal milestone should be tracked in a follow-
114115
with the Torrust Tracker management REST API was mentioned in discussion #660. This is out of scope
115116
for this issue but should be kept in mind for the CLI shape.
116117

118+
**`unified/` module structure — flat files, no per-action nesting.** The sub-modules
119+
`http.rs`, `udp.rs`, and `check.rs` are kept as flat single files rather than split into
120+
per-action nested directories (e.g. `http/announce.rs`, `http/scrape.rs`). Reasons:
121+
122+
- `unified/` is a migration scaffold planned for cleanup in issue #1775; adding nested
123+
directories now would introduce churn for code that will be restructured again during that
124+
cleanup.
125+
- Current file sizes are within the normal single-responsibility range (`http.rs` ~366 lines,
126+
`udp.rs` ~231 lines, `check.rs` ~199 lines).
127+
- Nesting by subcommand should be revisited when #1775 flattens `unified/` into the final
128+
module structure.
129+
130+
See: `console/tracker-client/src/console/clients/unified/mod.rs`
131+
117132
## Scope
118133

119134
### In Scope
@@ -244,6 +259,7 @@ Notes:
244259
- 2026-05-13 12:35 UTC - Copilot - Renamed internal module `tracker``unified` to better convey migration state; added Rust doc comments explaining deprecation plan.
245260
- 2026-05-13 12:40 UTC - Copilot - All automated gates pass: 46 unit tests, 10 checker integration tests, 3 unified binary integration tests, `linter all` exits 0.
246261
- 2026-05-13 13:00 UTC - Copilot - T6 DONE: ran manual verification matrix M1–M7 against local tracker; all 7 scenarios exit 0 with correct output. Spec updated with evidence.
262+
- 2026-05-13 15:00 UTC - Copilot - Recorded design decision: `unified/` sub-modules kept flat (no per-action nesting); deferred to #1775 cleanup. Cross-referenced `unified/mod.rs` in spec `related-artifacts`.
247263

248264
## Acceptance Criteria
249265

0 commit comments

Comments
 (0)