Skip to content

chore(issues): archive closed issue #2450 spec to docs/issues/closed - #2664

Merged
josecelano merged 2 commits into
torrust:developfrom
josecelano:chore/archive-issue-2450-spec
Oct 26, 2026
Merged

josecelano merged 2 commits into
torrust:developfrom
josecelano:chore/archive-issue-2450-spec

Conversation

@josecelano

Copy link
Copy Markdown
Member

Related to #2450

Archives the spec of #2450 (SI-24, closed on GitHub when PR #2652 merged) from docs/issues/open/ to docs/issues/closed/.

Commits, oldest first:

  • chore(issues): archive closed issue #2450 spec to docs/issues/closed
  • docs(issues): [#2450] tick the acceptance criteria as the maintainer instructed

Verification: linter all exits 0 and the local link check passes. This pull request changes only Markdown, so CI should run only Docs Lint.

josecelano and others added 2 commits October 26, 2026 19:51
…closed

Moves the SI-24 spec to docs/issues/closed/ after PR torrust#2652 merged and torrust#2450 closed, marks roadmap row 17 of EPIC torrust#1488 Done, updates the two stale status statements there, and repairs every live link to the old docs/issues/open/ path.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…tainer instructed

Ticks AC1 to AC8, the definition-of-done items and the three review checkpoints, fills each acceptance row with its evidence pointer, and appends a progress-log entry that corrects the earlier statement that they stay unticked.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI balanced review requested due to automatic review settings October 26, 2026 20:09

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

The documentation-only changes consistently reflect the completed implementation and issue closure, with no unresolved blocking findings.

No open issues 🎉

What changed in this PR

Archives issue #2450’s health-check API lifecycle specification after implementation merged in PR #2652. This documentation-only change brings the issue records and related shutdown roadmap up to date.

Changes:

  • Moves the specification and supporting records to docs/issues/closed/.
  • Records completion of tasks, acceptance criteria, and review checkpoints with evidence references.
  • Updates parent roadmap status and repairs live links while preserving historical records.
File Description
docs/​issues/​open/​2482-1669-reorganize-shared-test-support/​EPIC.md Updates the dependency link and records #2450 as closed.
docs/​issues/​open/​1488-overhaul-tracker-shutdown/​ISSUE.md Marks SI-24 complete and refreshes lifecycle status descriptions.
docs/​issues/​drafts/​2482-gate-axum-health-check-api-server-test-environment/​ISSUE.md Points metadata and dependency links to the archived spec.
docs/​issues/​closed/​2450-1488-si-24-migrate-health-check-api-test-environment/​manual-verification-evidence.md Updates the evidence record’s issue-spec path.
docs/​issues/​closed/​2450-1488-si-24-migrate-health-check-api-test-environment/​ISSUE.md Records archival, completed checkpoints, and acceptance evidence.
docs/​issues/​closed/​2450-1488-si-24-migrate-health-check-api-test-environment/​implementation-retrospective.md Preserves implementation lessons in the archived folder.
docs/​issues/​closed/​2450-1488-si-24-migrate-health-check-api-test-environment/​agent-review-reports.md Preserves review history alongside the archived spec.
docs/​issues/​closed/​2448-1488-si-17-migrate-standalone-udp-environment/​ISSUE.md Repairs metadata and links referencing SI-24.

Review effort: Balanced

@josecelano josecelano self-assigned this Oct 26, 2026
@josecelano
josecelano requested a review from da2ce7 October 26, 2026 21:57
@josecelano

Copy link
Copy Markdown
Member Author

ACK 9986378

@josecelano
josecelano merged commit 71e1302 into torrust:develop Oct 26, 2026
1 check passed

@da2ce7 da2ce7 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed at 998637855cc03db9fdb28e94bb0f8774b51ca7ab (post-merge). Recomputed from the bytes at the merged head, against the base 72d0bca6a; the PR merged on 2026-10-26 at 22:01:38Z as 71e130242.

Label: POST_MERGE_FINDINGS — Review requested at 2026-10-26T21:57:43Z; the PR merged before this round ran. Findings below stand at the merged head for a follow-up; no ACK follows a merged PR.

Archive: the four issue-local files move together; status, primary path, evidence path and timestamps change, and the parent roadmap and test-support dependency links follow the move. Runtime bytes are unchanged from the implementation delivered by PR 2652. Its fixed-port restart and registration-preservation tests support AC4/AC8; the acceptance table names those actual tests. The new AC5 evidence overstates the visibility change: the state and fields are private, but the typestate remains public.

Records: the second commit appends the acceptance-tick correction without rewriting the first archive event. The capture supports the PR merge and review-request chronology. Issue closure, task-reviewer execution and reported test results are not independently established by this capture. Completion ticks do not substitute for those executions. A live audit frontmatter reference still names the removed open path; historical command quotations are correctly retained.

Hygiene: recomputed two commits, eight files, +48/-48. Subjects use Conventional scopes and identify the issue; author and committer identities match. Attribution footers occur with no applicable prohibition. Per-commit whitespace checks are clean. No closing-keyword match occurs in the title, body or commit messages. Changed Markdown relative file links resolve; the separate semantic-reference search finds F1.

Bot and group: the review bot left a summary without inline findings. Its broad assertion that live links were repaired is incomplete. This PR depends on PR 2652; PR 2669 later plans the separate shutdown-policy work and PR 2686 performs the analogous archive for that work.

Findings: F1 Minor and F2 Nit below.

Checked, no finding: complete folder move; primary and evidence metadata; parent roadmap update; preserved historical review records; fixed-port cleanup evidence; no runtime changes.

Checks

On the loop's compute hub at the merged head, against the base 72d0bca6a (receipt server-gates-sojka-471; the PR merged as 71e130242): pre-commit profile gate exit 0 (126 s); linter markdown, linter cspell, linter lychee exit 0; frontmatter-validator --all: 16 errors / 4 warnings at the merged head and 16 / 4 at the base re-measured, the same 20 diagnostics by path and category. GitHub checks at this head at posting time: "Docs Lint: completed/success". At posting, develop is 968099d93.

- 2026-10-26 12:42 UTC - GitHub Copilot - Copilot's review of #2652 (`review-finding:pr-2652-f1`) found that a fixed-port stop-then-start panics, because the token-aware start registers the service and the `Registar` cannot remove it. This corrects the 07:38 entry: the discovery is material, so `implementation-retrospective.md` is added. The maintainer chose to document and pin the limitation and file a follow-up; recorded in V7, with V6 re-run after the new last production change. The acceptance criteria stay TODO.
- 2026-10-26 16:24 UTC - GitHub Copilot - Review round on #2652 (`review-finding:pr-2652-f1`, `-f2`, `-f3`). This reverses the 12:42 UTC decision to document the fixed-port limitation: da2ce7 re-raised the finding as a Major (`-f2`) and asked for the fix, and measuring the cost showed a small additive registry method was enough. The maintainer chose to fix it in this PR (route R1) with `Registar::deregister`. Opened torrust/torrust-server-lib#2 at 16:04 UTC (CI green, merged 16:19 UTC), published `torrust-server-lib` 0.4.0, bumped it here, and made `stop()` deregister its own binding (D6, AC8), also when a task failed, with a green fixed-port restart test replacing the `should_panic` pin. The earlier independent review entry is corrected in `agent-review-reports.md` (`-f3`). V6 and V7 and the retrospective are rewritten to the final state. A new independent review on the final tree and the audit follow. The acceptance criteria stay TODO.
- 2026-10-26 16:31 UTC - GitHub Copilot - A new independent Task Reviewer ran on the final tree and returned REVIEW FAILED for one documentation blocker (V5 lacked the prose-first comparison of the three tests added in this round) and six low findings, with no production defect; recorded in `agent-review-reports.md`. Fixed: V5 now covers the eleven environment tests, the production call-site count is corrected from eight to seven, V4 is labelled as measured at T1, `related-pr` is set, and the dropped-`stop()` risk is stated. The acceptance criteria stay TODO.
- 2026-10-26 19:50 UTC - GitHub Copilot - PR #2652 merged on 2026-10-26 at 19:34 UTC by the maintainer, and #2450 is closed. The maintainer merged without waiting for the re-requested review of da2ce7, whose earlier findings F2 and F3 were fixed and their threads resolved. Archived this spec to `docs/issues/closed/`: `status: done`, `spec-path` and `issue-spec` updated, T4 and T5 marked DONE, the roadmap row 17 of EPIC #1488 marked Done, and every live link to the old `docs/issues/open/` path repaired. The acceptance criteria and the checkpoints for AC review, reviewer validation and committer verification stay unticked: the maintainer has not told the author to tick them.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[Minor][F1] Repair the remaining live audit reference to the moved spec

The new archive entry says every live link was repaired, but docs/pr-reviews/pr-2451-review/PR-REVIEW.md:9 still lists docs/issues/open/2450-1488-si-24-migrate-health-check-api-test-environment/ISSUE.md under semantic-links.related-artifacts. That target exists at the base and is removed here. This is current navigational metadata, not a dated command quotation, so the archive skill's historical-record exception does not apply. Update that entry to the closed path while preserving historical prose. The omitted audit file is outside this diff; this comment is anchored to the new claim that its reference was repaired.

| AC2 | DONE | Tests `it_should_stop_without_a_failure_when_the_server_and_its_drain_controller_finish_through_cancellation` and `it_should_release_the_health_check_api_binding_when_stopped`; mutation M1 (evidence V2). |
| AC3 | DONE | Join and error tests in `environment::tests` (V1, V2); signature unchanged; `contract.rs` callers unchanged. |
| AC4 | DONE | `it_should_serve_requests_after_being_stopped_and_started_again` (port 0) and `it_should_serve_requests_after_being_stopped_and_started_again_on_a_fixed_port` (evidence V7). |
| AC5 | DONE | No `state.binding` or `env.state` read in `tests/`; `state` and `Running` are private; callers use `bind_address()` (evidence V0 and V1). |

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[Nit][F2] Describe the actual visibility boundary in the acceptance evidence

The new evidence says Running is private, but packages/axum-health-check-api-server/src/environment.rs:36 declares pub struct Running. Its fields and Environment::state are private, which is sufficient for AC5 and the accessor migration. Correct the evidence to describe those fields rather than claim that the public typestate itself became private; no runtime change is needed.

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.

3 participants