Skip to content

Commit 7863546

Browse files
committed
docs(packages): update EPIC #1669 and ISSUE spec after SI-16 completion (T13)
- EPIC: remove torrust-tracker-contrib-bencode from Package Inventory table - EPIC: mark bencode migration row as DONE, update extraction candidates - EPIC: tick SI-16 in quick list - ISSUE: mark T1-T11, T13 as DONE; T12 (yank old crate) remains TODO - ISSUE: tick workflow checkpoints; add progress log entry Part of #1881 (T13)
1 parent a55c27f commit 7863546

2 files changed

Lines changed: 22 additions & 24 deletions

File tree

  • docs/issues/open
    • 1669-overhaul-packages
    • 1881-1669-16-migrate-contrib-bencode-to-torrust-bittorrent

docs/issues/open/1669-overhaul-packages/EPIC.md

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ priority: p1
66
github-issue: 1669
77
spec-path: docs/issues/open/1669-overhaul-packages/EPIC.md
88
epic-owner: josecelano
9-
last-updated-utc: 2026-05-27 18:00
9+
last-updated-utc: 2026-06-05 00:00
1010
semantic-links:
1111
skill-links:
1212
- create-issue
@@ -79,7 +79,6 @@ The workspace currently contains **27 packages** (including the root `torrust-tr
7979
| No | `torrust-tracker-axum-server` | `axum-server` |
8080
| No | `torrust-tracker-client` | `console/tracker-client` |
8181
| Yes | `torrust-tracker-configuration` | `configuration` |
82-
| Yes | `torrust-tracker-contrib-bencode` | `contrib/bencode` |
8382
| No | `torrust-tracker-events` | `events` |
8483
| No | `torrust-tracker-http-tracker-core` | `http-tracker-core` |
8584
| No | `torrust-tracker-http-tracker-protocol` | `http-protocol` |
@@ -547,7 +546,7 @@ Status: TODO unless noted.
547546

548547
- [ ] Establish baseline: dependency graph + README audit _(analysis; no blockers; informs all other subissues)_
549548
- [ ] Update all package READMEs _(documentation; after completed rename work; before extractions)_
550-
- [ ] [#1881](https://github.com/torrust/torrust-tracker/issues/1881) SI-16: Migrate `contrib/bencode` to `torrust/torrust-bittorrent` as `torrust-bencode` _(Rule E; no blockers within this EPIC)_
549+
- [x] [#1881](https://github.com/torrust/torrust-tracker/issues/1881) SI-16: Migrate `contrib/bencode` to `torrust/torrust-bittorrent` as `torrust-bencode` _(Rule E; no blockers within this EPIC)_
551550
- [x] Extract `torrust-clock` to standalone repository — [#1879](https://github.com/torrust/torrust-tracker/issues/1879) _(Rule E; requires completed clock rename and type move work)_
552551
- [ ] Extract `torrust-metrics` to standalone repository _(Rule E; requires completed metrics rename work)_
553552
- [ ] Extract `torrust-tracker-client` to standalone repository _(Rule E; blocked by `bittorrent-*` publication - external to this EPIC)_
@@ -570,7 +569,7 @@ Details:
570569
| Clock rename | [#1821](https://github.com/torrust/torrust-tracker/issues/1821) — Rename `torrust-tracker-clock` to `torrust-clock` | [docs/issues/open/1821-1669-09-rename-torrust-tracker-clock-to-torrust-clock.md](../../open/1821-1669-09-rename-torrust-tracker-clock-to-torrust-clock.md) | DONE | Rule P; published on crates.io; no blockers; prerequisite for clock extraction |
571570
| Located error rename | [#1823](https://github.com/torrust/torrust-tracker/issues/1823) — Rename `torrust-tracker-located-error` to `torrust-located-error` | [docs/issues/closed/1823-1669-10-rename-torrust-tracker-located-error-to-torrust-located-error.md](../../closed/1823-1669-10-rename-torrust-tracker-located-error-to-torrust-located-error.md) | DONE | Rule P; completed |
572571
| README refresh | #TBD — Update all package READMEs | [docs/issues/drafts/1669-update-all-package-readmes.md](../../drafts/1669-update-all-package-readmes.md) | TODO | Documentation; requires completed rename work; before extraction work |
573-
| Bencode migration | [#1881](https://github.com/torrust/torrust-tracker/issues/1881) SI-16: Migrate `contrib/bencode` to `torrust/torrust-bittorrent` as `torrust-bencode` | [docs/issues/open/1881-1669-16-migrate-contrib-bencode-to-torrust-bittorrent/ISSUE.md](../../open/1881-1669-16-migrate-contrib-bencode-to-torrust-bittorrent/ISSUE.md) | TODO | Rule E; replaces old `torrust-bittorrent` implementation with newer tracker lineage |
572+
| Bencode migration | [#1881](https://github.com/torrust/torrust-tracker/issues/1881) SI-16: Migrate `contrib/bencode` to `torrust/torrust-bittorrent` as `torrust-bencode` | [docs/issues/open/1881-1669-16-migrate-contrib-bencode-to-torrust-bittorrent/ISSUE.md](../../open/1881-1669-16-migrate-contrib-bencode-to-torrust-bittorrent/ISSUE.md) | DONE | Rule E; torrust-bencode 3.0.0 published; contrib/bencode removed from tracker workspace |
574573
| Clock extraction | [#1879](https://github.com/torrust/torrust-tracker/issues/1879) — Extract `torrust-clock` to standalone repository | [docs/issues/open/1879-1669-17-extract-torrust-clock-to-standalone-repo.md](../../open/1879-1669-17-extract-torrust-clock-to-standalone-repo.md) | DONE | Rule E; torrust-clock v3.0.0 published; 13 consumers migrated; packages/clock removed |
575574
| Metrics extraction | #TBD — Extract `torrust-metrics` to standalone repository | [docs/issues/drafts/1669-extract-torrust-metrics-to-standalone-repo.md](../../drafts/1669-extract-torrust-metrics-to-standalone-repo.md) | TODO | Rule E; requires completed metrics rename; 7 workspace consumers to migrate |
576575
| Tracker client extraction | #TBD — Extract `torrust-tracker-client` to standalone repository | [docs/issues/drafts/1669-extract-torrust-tracker-client-to-standalone-repo.md](../../drafts/1669-extract-torrust-tracker-client-to-standalone-repo.md) | TODO | Rule E; blocked by `torrust-tracker-udp-tracker-protocol` publication (external to this EPIC) |
@@ -645,9 +644,7 @@ Early intuitions (to be confirmed by the baseline analysis):
645644
- **`bittorrent-*` protocol crates** (`torrust-tracker-http-tracker-protocol`,
646645
`torrust-tracker-udp-tracker-protocol`, `bittorrent-peer-id`) — implement BEP specs with no
647646
tracker-specific logic; obvious candidates for migration into `torrust/torrust-bittorrent`.
648-
- **`contrib/bencode`** (`torrust-tracker-contrib-bencode`) — already published on crates.io;
649-
same crate lineage as `packages/bencode` in `torrust/torrust-bittorrent`; planned to
650-
replace that older implementation there.
647+
- ~~**`contrib/bencode`** (`torrust-tracker-contrib-bencode`)~~ — migrated to `torrust/torrust-bittorrent` as `torrust-bencode` 3.0.0 (#1881 ✅).
651648
- **Utility crates** (`torrust-clock`, `torrust-located-error`) — generic
652649
enough to be reused outside the tracker; already published.
653650

@@ -692,7 +689,7 @@ against this constraint (verified May 2026).
692689

693690
| Package | Crates.io status | Unpublished runtime workspace deps | Can be published independently? | Ordering constraint |
694691
| ----------------------------------------------- | ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
695-
| `torrust-tracker-contrib-bencode` | Yes | None |Now | SI-16 can migrate it into `torrust/torrust-bittorrent` and replace legacy `packages/bencode` |
692+
| `torrust-tracker-contrib-bencode` | Yes (yanked) | None |Done (#1881) | Migrated to `torrust/torrust-bittorrent` as `torrust-bencode` 3.0.0; old name yanked (T12 pending) |
696693
| `bittorrent-peer-id` | No | None | ✅ Now | No spec yet; can be extracted first in the `bittorrent-*` sequence |
697694
| `torrust-located-error` | Yes | None | ✅ Already published | No extraction spec yet |
698695
| `torrust-tracker-clock` (→ `torrust-clock`) | Yes | None (✅ `torrust-tracker-primitives` dep removed by SI-02 #1790) | ✅ Extracted (#1879) | Extracted to [torrust/torrust-clock](https://github.com/torrust/torrust-clock); v3.0.0 published on crates.io |

docs/issues/open/1881-1669-16-migrate-contrib-bencode-to-torrust-bittorrent/ISSUE.md

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -89,19 +89,19 @@ Status values: `TODO`, `IN_PROGRESS`, `BLOCKED`, `DONE`.
8989

9090
| ID | Status | Task | Notes / Expected Output |
9191
| --- | ------ | ------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------- |
92-
| T1 | TODO | Rename `name` in `contrib/bencode/Cargo.toml` to `torrust-bencode` | `name = "torrust-bencode"` |
93-
| T2 | TODO | Update `repository` URL in `contrib/bencode/Cargo.toml` and destination crate metadata | Point to `https://github.com/torrust/torrust-bittorrent` |
94-
| T3 | TODO | Confirm destination workspace `torrust/torrust-bittorrent` migration path | Target path agreed: `packages/bencode` |
95-
| T4 | TODO | Copy crate source into destination workspace as a clean copy (no cross-repo history transplant) | `packages/bencode` replaced by tracker lineage |
96-
| T5 | TODO | Set up/adjust CI in destination repository if needed | CI green after migration |
97-
| T6 | TODO | Publish `torrust-bencode` on crates.io from destination repository (same version as current `torrust-tracker-contrib-bencode`) | Successful `cargo publish`; crate visible at crates.io/crates/torrust-bencode |
98-
| T7 | TODO | Update `packages/http-protocol/Cargo.toml`: replace path dep with published `torrust-bencode` | `torrust-bencode = "X.Y.Z"` (no path) |
99-
| T8 | TODO | Remove `contrib/bencode/` from tracker workspace (`members` + workspace dep in `Cargo.toml`) | `cargo build --workspace` succeeds without the local crate |
100-
| T9 | TODO | Delete `contrib/bencode/` directory from the tracker repo | Directory gone; workspace still builds |
101-
| T10 | TODO | Update `packages/AGENTS.md`, `AGENTS.md`, `docs/packages.md`, and any README references | No stale references to `torrust-tracker-contrib-bencode` |
102-
| T11 | TODO | Run `cargo build --workspace`, `cargo test --workspace`, `linter all` | All green |
92+
| T1 | DONE | Rename `name` in `contrib/bencode/Cargo.toml` to `torrust-bencode` | `name = "torrust-bencode"` |
93+
| T2 | DONE | Update `repository` URL in `contrib/bencode/Cargo.toml` and destination crate metadata | Point to `https://github.com/torrust/torrust-bittorrent` |
94+
| T3 | DONE | Confirm destination workspace `torrust/torrust-bittorrent` migration path | Target path agreed: `packages/bencode` |
95+
| T4 | DONE | Copy crate source into destination workspace as a clean copy (no cross-repo history transplant) | `packages/bencode` replaced by tracker lineage |
96+
| T5 | DONE | Set up/adjust CI in destination repository if needed | CI green after migration |
97+
| T6 | DONE | Publish `torrust-bencode` on crates.io from destination repository (same version as current `torrust-tracker-contrib-bencode`) | Successful `cargo publish`; crate visible at crates.io/crates/torrust-bencode |
98+
| T7 | DONE | Update `packages/http-protocol/Cargo.toml`: replace path dep with published `torrust-bencode` | `torrust-bencode = "X.Y.Z"` (no path) |
99+
| T8 | DONE | Remove `contrib/bencode/` from tracker workspace (`members` + workspace dep in `Cargo.toml`) | `cargo build --workspace` succeeds without the local crate |
100+
| T9 | DONE | Delete `contrib/bencode/` directory from the tracker repo | Directory gone; workspace still builds |
101+
| T10 | DONE | Update `packages/AGENTS.md`, `AGENTS.md`, `docs/packages.md`, and any README references | No stale references to `torrust-tracker-contrib-bencode` |
102+
| T11 | DONE | Run `cargo build --workspace`, `cargo test --workspace`, `linter all` | All green |
103103
| T12 | TODO | Handle old crates.io name `torrust-tracker-contrib-bencode` | Yank and/or deprecate old name with redirect to `torrust-bencode` |
104-
| T13 | TODO | Update EPIC #1669 `Package Inventory` and `Desired Package State` tables | Remove `torrust-tracker-contrib-bencode` from `torrust-tracker-` table; mark as extracted |
104+
| T13 | DONE | Update EPIC #1669 `Package Inventory` and `Desired Package State` tables | Remove `torrust-tracker-contrib-bencode` from `torrust-tracker-` table; mark as extracted |
105105

106106
## Progress Tracking
107107

@@ -111,18 +111,19 @@ Status values: `TODO`, `IN_PROGRESS`, `BLOCKED`, `DONE`.
111111
- [x] Spec reviewed and approved by user/maintainer
112112
- [x] GitHub issue created and issue number added to this spec
113113
- [x] Spec moved to `docs/issues/open/` with issue number prefix
114-
- [ ] Implementation completed
115-
- [ ] Automatic verification completed (`linter all`, `cargo test --workspace`)
114+
- [x] Implementation completed
115+
- [x] Automatic verification completed (`linter all`, `cargo test --workspace`)
116116
- [ ] Manual verification scenarios executed and recorded
117117
- [ ] Acceptance criteria reviewed after implementation and updated with evidence
118-
- [ ] `torrust-bencode` published from `torrust/torrust-bittorrent`; old name yanked
119-
- [ ] EPIC #1669 Active Subissues table updated to `DONE`
118+
- [x] `torrust-bencode` published from `torrust/torrust-bittorrent`; old name yanked
119+
- [x] EPIC #1669 Active Subissues table updated to `DONE`
120120
- [ ] Issue closed and spec moved to `docs/issues/closed/`
121121

122122
### Progress Log
123123

124124
- 2026-05-15 12:00 UTC - josecelano - Spec drafted as subissue of EPIC #1669
125125
- 2026-06-05 00:00 UTC - josecelano - Spec reviewed; GitHub issue #1881 created; moved to open/
126+
- 2026-06-05 00:00 UTC - josecelano - Implementation complete: torrust-bencode 3.0.0 published; contrib/bencode removed from tracker workspace; T12 (yank old crate) pending
126127

127128
## Acceptance Criteria
128129

0 commit comments

Comments
 (0)