Repository navigation
docs(issues): [#1488] open the pending sub-issues SI-25 to SI-28 and keep the discarded drafts - #2848
Conversation
…28 and keep the discarded drafts Create issues torrust#2844 to torrust#2847 with refreshed, consistent specs (SI-26 now absorbs the legacy udp_ban_cleanup migration), update the EPIC roadmap, and move the superseded drafts SI-3, SI-6, SI-7, SI-8 and SI-9 into the EPIC folder as discarded-drafts evidence, repairing every link to them. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
da2ce7
left a comment
There was a problem hiding this comment.
Reviewed at 57d6256d0e2db4833145b3390e8bf2e1259ac9bb. Recomputed from the bytes at this head, against the merge base 388faf59a; git merge-tree against develop 388faf59a merges cleanly with no conflicts, and the merged tree equals the head's tree.
Process: a spec-only PR governed by create-issue, with open-pull-request and commit-changes for the PR and its commit. Four folder specs land at docs/issues/open/{issue}-1488-si-{n}-…/ISSUE.md, the EPIC roadmap gains rows 22 to 25, and the description links the issues with Related to.
The change against its claim: the code facts in the four specs hold at 388faf59a. These are the nine variants nothing constructs, the three #[non_exhaustive] enums at 0.1.0, the three supervise_token_aware_server copies and their join order, and the owner types. So do register_legacy used only by udp_ban_cleanup, deregister called only by the health-check environment, the 25 s default deadline and the quoted SI-21 V6 sentence. Two edits are wrong. The path substitution also rewrote references to two drafts that were never discarded (F1, F2), and the four specs keep the placeholder github-issue: null (F3).
Consistency: the relative links and anchors in the changed Markdown resolve (99 checked). The one exception is a link in a closed spec that was already broken at the base. No live reference to the five old draft paths remains; the SI-19 evidence keeps them as quoted grep output. The project dictionary is unchanged, and the only words new to the tree are common English.
Hygiene: one commit, Conventional subject with [#1488], author equals committer, and one attribution footer line (no rule in the tree on it). git diff --check is clean, the PR-branch commit-id check prints nothing, and the closing-keyword scan finds nothing in the title, description or commit message.
Findings: F1 Major, F2 Minor, F3 Major, F4 Minor, F5 Nit, F6 Nit (inline).
Checked, no finding: table shapes; the discarded-drafts rename, which keeps the open-spec validator rule from applying to them; the #discarded-drafts anchor; the SI-18 and SI-19 section references; the first publish depending on this EPIC; and the closed SI-25 to SI-28 folders of the other EPIC.
Checks
On the loop's compute node at this head, against the merge base 388faf59a (receipt server-gates-kranich-781): the repository's pre-commit gate and lint roster exit 0 and the tree left clean. The PR changes documentation only, so no package tests apply. F3 read at this head: docs/issues/open/2844-1488-si-25-remove-unused-error-variants/ISSUE.md line 8 is github-issue: null, while issue 2844 is open on the forge. GitHub checks at this head at posting time: "Docs Lint: completed/success". At posting, develop is 388faf59a.
There was a problem hiding this comment.
Note
Copilot was unable to run its full agentic suite in this review.
Copilot review overview
3 open issues
The EPIC roadmap now links SI-3/SI-6/SI-7/SI-8/SI-9 todiscarded-drafts/.../discarded-draft.md,… · New The frontmatter setsgithub-issue: null, but the document title/body and workflow checkpoints… · New This workflow checkpoint appears to have been rewritten to claim the SI-15 spec was drafted in the… · New
What changed in this PR
Adds four new planned sub-issue specs for EPIC #1488 (SI-25..SI-28) and updates the EPIC + existing specs to point to a new “discarded drafts” structure for superseded draft retention.
Changes:
- Added new issue specs in
docs/issues/open/for SI-25 through SI-28. - Updated EPIC #1488 roadmap entries and narrative to reference these new issues and a “discarded-drafts” location.
- Updated multiple older draft/closed docs to remove draft frontmatter and to rewrite links toward the proposed “discarded-drafts” paths.
| File | Description |
|---|---|
| docs/issues/open/2847-1488-si-28-verify-hung-component-abort/ISSUE.md | New planned issue spec for SI-28 manual/executable-boundary verification. |
| docs/issues/open/2846-1488-si-27-deregister-stopped-services/ISSUE.md | New planned issue spec for SI-27 (deregister services on orderly stop). |
| docs/issues/open/2845-1488-si-26-consolidate-shutdown-supervisor/ISSUE.md | New planned issue spec for SI-26 (supervisor consolidation + migrate legacy job). |
| docs/issues/open/2844-1488-si-25-remove-unused-error-variants/ISSUE.md | New planned issue spec for SI-25 (remove unused public error variants). |
| docs/issues/open/1488-overhaul-tracker-shutdown/ISSUE.md | Updates EPIC roadmap rows to point to new issues and introduces “discarded-drafts” policy text/links. |
| docs/issues/drafts/1488-si-9-improve-udp-shutdown/verification.md | Rewrites relative links assuming a deeper “discarded-drafts” location. |
| docs/issues/drafts/1488-si-9-improve-udp-shutdown/ISSUE.md | Removes frontmatter; updates retention text and rewrites links to proposed discarded-drafts/analysis locations. |
| docs/issues/drafts/1488-si-8-configurable-grace-periods/verification.md | Rewrites SI-20 link assuming a deeper “discarded-drafts” location. |
| docs/issues/drafts/1488-si-8-configurable-grace-periods/ISSUE.md | Removes frontmatter; updates retention text and rewrites SI-20 link. |
| docs/issues/drafts/1488-si-7-observable-shutdown-progress/verification.md | Rewrites #1586 link assuming a deeper “discarded-drafts” location. |
| docs/issues/drafts/1488-si-7-observable-shutdown-progress/ISSUE.md | Removes frontmatter; updates retention text and rewrites #1586 link. |
| docs/issues/drafts/1488-si-6-align-grace-periods/verification.md | Rewrites #1586 link assuming a deeper “discarded-drafts” location. |
| docs/issues/drafts/1488-si-6-align-grace-periods/ISSUE.md | Removes frontmatter; updates retention text and rewrites analysis link. |
| docs/issues/drafts/1488-si-3-fix-environment-stop/verification.md | Rewrites SI-16/SI-17 links assuming a deeper “discarded-drafts” location. |
| docs/issues/drafts/1488-si-3-fix-environment-stop/ISSUE.md | Removes frontmatter; updates retention text and rewrites SI-16/SI-17 links. |
| docs/issues/drafts/1488-si-26-consolidate-shutdown-supervisor/ISSUE.md | Deletes prior draft spec now replaced by open issue #2845 spec. |
| docs/issues/drafts/1488-si-25-remove-unused-error-variants/ISSUE.md | Deletes prior draft spec now replaced by open issue #2844 spec. |
| docs/issues/closed/2668-1488-si-20-configure-shutdown-policy/ISSUE.md | Updates semantic-links to point to proposed discarded-drafts location. |
| docs/issues/closed/2448-1488-si-17-migrate-standalone-udp-environment/ISSUE.md | Updates semantic-links to point to proposed discarded-drafts location. |
| docs/issues/closed/2412-1488-si-16-migrate-standalone-http-environment/ISSUE.md | Updates semantic-links to point to proposed discarded-drafts location(s). |
| docs/issues/closed/2370-1488-si-15-define-udp-active-request-policy/ISSUE.md | Updates semantic-links and edits a workflow checkpoint line to reference discarded-drafts path. |
| docs/issues/closed/1586-evaluate-job-manager-join-set/ISSUE.md | Updates semantic-links to point to proposed discarded-drafts location. |
Review effort: Lite
Restore the SI-15 historical draft path, point the SI-17 artifact at torrust#2448, set github-issue on the four new specs, name the SI-24 deregister order in SI-27, name the reusable exit-code mapping in SI-28, and record the branch choice in the EPIC. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
There was a problem hiding this comment.
Warning
Copilot couldn't run its full agentic review because it didn't start before the timeout. Make sure your repository has a runner available, or add a copilot-code-review.yml file specifying one with the runs-on attribute. See the docs for more details.
Copilot review overview
1 open issue
3 resolved since last review
Review effort: Lite
…n plan Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
da2ce7
left a comment
There was a problem hiding this comment.
Reviewed at 56cc1bef7519a053488adb17c4fc59c241f0b582. Recomputed from the bytes at this head, against the previous round's head 57d6256d0 and the merge base 388faf59a; git merge-tree against develop ec1f58ec9 merges cleanly, and the merged tree differs from the head only in develop's 9 paths, none of them in this PR.
What moved: one commit, 56cc1be, fast-forwards 57d6256d0 (7 files, +16/-9). The other 2532 paths are byte-identical, so the previous conclusions on them stand.
Previous findings: F1 fixed (SI-15 line 499 equals its 388faf59a line). F2 fixed (the closed SI-17 spec it now names exists). F3 fixed (2844 to 2847; no open spec keeps null). F4 partly fixed: the order note matches environment.rs lines 146 to 148, but line 52 still says "production-code" (inline). F5 fixed (both functions are pub; report_shutdown is private). F6 fixed (EPIC lines 234 and 235).
The new commit: its statements hold at this head and at ec1f58ec9, which touches none of the cited code. No link changed and no word is new to the tree. Nine threads were replied to and resolved without an audit record (F7). The automated reviewer's open thread on SI-28 line 75 also holds: the Scope's T2 is the run, while the plan's T2 is the build. That thread has no reply.
Hygiene: Conventional subject with [#1488], a body that matches the diff, author equals committer, and one attribution footer line (no rule in the tree on it). git diff --check is clean, and the commit-id check prints nothing. All six fixes share one commit, while process-pr-review step 6 asks for one per fix. That is not raised, because a split now would orphan the id the replies cite.
Findings: F4 Minor (re-raised) and F7 Minor, inline. Neither blocks, and the verdict stays a comment until the audit record lands.
Checked, no finding: begin_shutdown is pub; the four branch: values follow {issue}-{description}; every discarded-drafts/ reference names SI-3, 6, 7, 8 or 9.
Checks
On the loop's compute node at this head, against the merge base 388faf59a (receipt server-gates-kranich-803): the repository's pre-commit gate and lint roster exit 0 and the tree left clean. The PR has no review audit record at this head (F7), so the audit validator was not run in the gate. The PR changes documentation only, so no package tests apply. F4 checked against the bytes at posting: line 52 of the SI-27 specification still reads "The only production-code caller", and packages/axum-health-check-api-server/src/lib.rs line 1 gates environment behind #[cfg(feature = "testing")]. Read on the forge: 9 review threads are resolved and 1 is open (the automated reviewer's thread on SI-28 line 75, without a reply). GitHub checks at this head at posting time: "Docs Lint: completed/success". At posting, develop is ec1f58ec9.
da2ce7
left a comment
There was a problem hiding this comment.
Reviewed at 572ae56b3a5640fbb007f79dbf4c5c49e5ef870c. Recomputed from the bytes at this head, against the previous round's head 56cc1bef7 and the merge base 388faf59a; git merge-tree against develop ec1f58ec9 merges cleanly, and the merged tree differs from the head only in develop's 9 paths and from develop only in this PR's 22.
What moved: one commit, 572ae56, fast-forwards 56cc1bef7 (the SI-28 spec only, +3/-1). The other 2538 paths are byte-identical, so the previous conclusions on them stand.
Previous findings: none changed state. F1, F2, F3, F5 and F6 stay fixed. F4 and F7 stay open, and both threads are marked resolved with no reply, so they are re-raised inline: SI-27 line 52 still reads "production-code caller", and docs/pr-reviews/pr-2848-review/PR-REVIEW.md still does not exist.
The new commit: the Scope now lists T1 (choose), T2 (build the harness if needed), T3 (run and record) and T4 (docs). That matches the plan rows (lines 111 to 114) and the commit points (lines 120 to 123), and "If T2 adds a script" (line 172) now reads right. No other file cites SI-28's tasks by number. This settles the automated reviewer's thread on line 75. Its reply cites this commit by short id, which F7 covers. All added words already occur in the tree.
Hygiene: the Conventional subject with [#1488] matches the diff. There is no body, which commit-changes makes optional. Author equals committer, and there is one attribution footer line (no rule in the tree on it). git diff --check is clean, and the commit-id check prints nothing.
Findings: F4 Minor and F7 Minor, re-raised inline. Neither blocks, and the verdict stays a comment until the audit record lands.
Checked, no finding: T4's condition has no target outside the issue records (the stop-last ADR, lines 47 to 49, states the abort without calling it unverified), and the plan allows "Doc edit or none". last-updated-utc has no upkeep rule for ordinary edits.
Checks
On the loop's compute node at this head, against the merge base 388faf59a (receipt server-gates-kranich-805): the repository's pre-commit gate and lint roster exit 0 and the tree left clean. The PR has no review audit record at this head (F7), so the audit validator was not run in the gate. The PR changes documentation only, so no package tests apply. F7 checked on the forge at posting: all 12 threads are resolved, and the two threads of the previous round (F4 on SI-27 line 52, F7 on SI-25 line 8) carry only the review comment, with no reply. docs/pr-reviews/pr-2848-review/PR-REVIEW.md is absent at this head. GitHub checks at this head at posting time: "". At posting, develop is ec1f58ec9.
…s the only deregister caller Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
ACK 8cd0c93 |
da2ce7
left a comment
There was a problem hiding this comment.
Reviewed at 8cd0c930de3da64acb9e32a3c5056df47017449a. Recomputed from the bytes at this head, against the previous round's head 572ae56b3 and the merge base 388faf59a; git merge-tree against develop ec1f58ec9 merges cleanly, and the merged tree differs from the head only in develop's 9 paths and from develop only in this PR's 22.
What moved: one commit, 8cd0c93, fast-forwards 572ae56b3 (the SI-27 spec only, +3/-2). The other 2538 paths are byte-identical, so the previous conclusions on them stand.
Previous findings: F1, F2, F3, F5 and F6 stay fixed. One finding changed state:
- F4 fixed: SI-27 lines 52 to 54 now name the health-check API test environment as the only caller in the tree, behind the
testingfeature.
The new commit: its statements hold at this head and at ec1f58ec9. environment.rs:147 is the only deregister call (server.rs:55 is a doc comment). lib.rs gates the module on testing. Only the package's own dev-dependencies enable that feature, and the root manifest depends on the package without it. The call came with #2450's fix (SI-24). No file keeps the old wording, and all added words already occur in the tree.
Hygiene: the Conventional subject with [#1488] matches the diff. There is no body, which commit-changes makes optional. Author equals committer, and there is one attribution footer line (no rule in the tree on it). git diff --check is clean, and the commit-id check prints nothing.
Findings: F7 Minor, re-raised inline: two replies say the audit record is added, but this head has none. It does not block, and the verdict stays a comment until the record lands.
Checked, no finding: the F4 replies cite this commit by its subject, not an id. All 14 threads now have a reply. last-updated-utc has no upkeep rule for ordinary edits.
Checks
On the loop's compute node at this head, against the merge base 388faf59a (receipt server-gates-kranich-809): the repository's pre-commit gate and lint roster exit 0 and the tree left clean. The PR has no review audit record at this head (F7), so the audit validator was not run in the gate. The PR changes documentation only, so no package tests apply. F7 checked against the bytes at posting: docs/pr-reviews/pr-2848-review/PR-REVIEW.md is absent at 8cd0c930d, and no commit on the branch has the subject docs(pr-reviews): [#1488] record the review audit of PR #2848. GitHub checks at this head at posting time: "Docs Lint: completed/success". At posting, develop is ec1f58ec9.
There was a problem hiding this comment.
Warning
Copilot couldn't run its full agentic review because it didn't start before the timeout. Make sure your repository has a runner available, or add a copilot-code-review.yml file specifying one with the runs-on attribute. See the docs for more details.
Copilot review overview
No open issues 🎉
1 resolved since last review
Review effort: Lite
…t#2848 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
… audit-record finding Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
ACK 524249b |
da2ce7
left a comment
There was a problem hiding this comment.
Reviewed at 6e553319d133051ed5af546a3f208577d877dff0. Recomputed from the bytes at this head, against the previous round's head 8cd0c930d and the merge base 388faf59a; git merge-tree against develop ec1f58ec9 merges cleanly, and the merged tree differs from the head only in develop's 9 paths and from develop only in this PR's 23.
What moved: two commits, 524249b and 6e55331, fast-forward 8cd0c930d and add only the audit record (+272). The other 2539 paths are byte-identical, so the previous conclusions on them stand.
Previous findings: F1 to F6 stay fixed. One changed state:
- F7 fixed:
docs/pr-reviews/pr-2848-review/PR-REVIEW.mdexists, maps the cited ids to subjects, and all 15 threads have a reply and are resolved.
The new commits: replayed offline against the captured threads, with the branch's six subjects, the validator reports 15 rows, 6 log entries and 0 failures. Each row's review ID, reply thread and subject also check out by hand. F9 (no row for the round 4 re-raise), found at 524249b, is fixed by 6e55331's F15 row. Three slips remain, raised inline.
Hygiene: both subjects are Conventional, match their diffs, and keep the audit in its own commits. There is no body, which commit-changes makes optional. Author equals committer, and each commit has one attribution footer line (no rule in the tree on it). git diff --check is clean. The commit-id check prints four PR-branch ids (F10).
Findings: F8 and F10 Minor, F11 Nit. These are record slips the author can fix after merge, and none blocks.
Checked, no finding: the automated reviewer's 10:15 review has no request, so it needs no row. The PR body is unchanged.
Checks
On the loop's compute node at this head, against the merge base 388faf59a (receipt server-gates-kranich-818): the repository's pre-commit gate and lint roster exit 0 and the tree left clean; the repository's audit validator on pr-2848-review exit 0 (15 rows, 6 log entries, no failures). The PR changes documentation only, so no package tests apply. F10 checked against the bytes at posting: PR-REVIEW.md at this head quotes the PR-branch ids 524249b65, 8cd0c930d, 56cc1bef7 and 572ae56b3. Read on the forge: all 15 review threads are answered and resolved. GitHub checks at this head at posting time: "". At posting, develop is ec1f58ec9.
|
ACK 6e55331 — F1 to F7 are fixed at this head and the audit record, with its new F15 row, passes the validator's checks offline against the captured threads |
There was a problem hiding this comment.
🟡 Changes recommended
Unresolved documentation issues include overbroad absence checks, duplicate findings misclassified as original, and incomplete requirements for per-increment test-design reviews and final maintainer-review pauses.
4 open issues
Review effort: Balanced
|
ACK 6e55331 |
…d form in SI-25 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…ts to T3 and T4 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…ts to T3 and T4 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…orrust#2848 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
There was a problem hiding this comment.
Warning
Copilot couldn't run its full agentic review because it didn't start before the timeout. Make sure your repository has a runner available, or add a copilot-code-review.yml file specifying one with the runs-on attribute. See the docs for more details.
Copilot review overview
2 open issues
4 resolved since last review
Review effort: Lite
da2ce7
left a comment
There was a problem hiding this comment.
Reviewed at 1f0a6608a0da09897430261c4aecd9c0c5afd40b. Recomputed from the bytes at this head, against the previous round's head 6e553319d and the merge base 388faf59a; git merge-tree against develop ec1f58ec9 merges cleanly, and the merged tree differs from the head only in develop's 9 paths and from develop only in this PR's 23.
What moved: four commits fast-forward 6e553319d: e3bd1eb (SI-25), 77fa303 (SI-26), e197c4f (SI-27) and 1f0a660 (the audit record, +134/-9). The other 2537 paths are byte-identical.
Previous findings: F1 to F7 stay fixed. Two changed state:
- F8 fixed: lines 375 and 376 append corrections that name both entries and give the
git logand forge times. - F11 fixed: Status Values and Completion Rules now equal the template.
The new commits: SI-26 and SI-27 place the design-review checkpoint after T2, T3 and T4, plus the final maintainer pause. That matches create-issue lines 180 to 192. SI-25 scopes Launcher, but it misses a third struct, and Stop has the same problem (F23). The record adds rows F16 to F22, each matching its comment, review and reply. Replayed offline, the validator reports 22 rows, 11 log entries and 0 failures.
Hygiene: four Conventional subjects that match their diffs, with no body, which commit-changes makes optional. Author equals committer, and each commit has one attribution footer line (no rule in the tree on it). git diff --check is clean. The commit-id check prints four ids from the record (F10).
Findings: F10, F23 and F24 Minor. Two threads of the automated reviewer's 11:18 review are open without a reply; as in earlier rounds, the verdict stays a comment, without ACK, until each open thread has a reply and a row. New findings start at F23, because the automated reviewer's comments use F16 to F19 and the audit's IDs reach F22.
Checked, no finding: the automated reviewer's two 11:18 comments do not hold at this head. No record line starts with ||, and verification.md has no |>.
Checks
On the loop's compute node at this head, against the merge base 388faf59a (receipt server-gates-kranich-828): the repository's pre-commit gate and lint roster exit 0 and the tree left clean; the repository's audit validator on pr-2848-review exit 0 (22 rows, 11 log entries, no failures). The PR changes documentation only, so no package tests apply. F23 checked against the bytes at posting: pub struct Launcher is defined in packages/axum-http-server/src/server.rs:70, packages/axum-rest-api-server/src/server.rs:303 and packages/udp-server/src/server/launcher.rs:31. Read on the forge: 22 review threads are resolved and 2 are open. GitHub checks at this head at posting time: "". At posting, develop is ec1f58ec9.
|
ACK 1f0a660 |
…auncher struct in SI-25 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…torrust#2848 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
da2ce7
left a comment
There was a problem hiding this comment.
Reviewed at 421665fc4a4a4ca4e3bfb89c32bad3577562dd08. Recomputed from the bytes at this head, against the previous round's head 1f0a6608a and the merge base 388faf59a; git merge-tree against develop ec1f58ec9 merges cleanly, and the merged tree differs from the head only in develop's 9 paths and from develop only in this PR's 23.
What moved: two commits fast-forward 1f0a6608a: b7f7546 (SI-25) and 421665f (the audit record), +111/-20. The other 2538 paths are byte-identical.
Previous findings: F1 to F9 and F11 stay fixed, and F10 stays open (re-raised inline). Two changed state:
- F23 fixed: SI-25 names the third
Launcherstruct and scopesStop, though the new scoping has its own gaps (F28). - F24 fixed: rows F16 to F19 read
Minor, and lines 452 and 453 correct the 10:53 and 11:13 entries.
The new commits: all 27 threads on the PR now have a reply, a row and a resolution. Replayed offline, the validator reports 27 rows, 16 log entries and 0 failures. Rows F23 to F27 match their comments, reviews and replies.
Hygiene: two Conventional subjects that match their diffs, with no body, which commit-changes makes optional. Author equals committer, and each commit has one attribution footer line (no rule in the tree on it). git diff --check is clean. The commit-id check prints five ids (F10).
Findings: F10, F28 and F29 Minor. These are spec or record slips the author can fix after merge, and none blocks. New findings start at F28 because the audit's own IDs reach F27.
Checked, no finding: the automated reviewer's 13:28 review adds no thread, and the one thread it names is now answered.
Checks
On the loop's compute node at this head, against the merge base 388faf59a (receipt server-gates-kranich-843): the repository's pre-commit gate and lint roster exit 0 and the tree left clean; the repository's audit validator on pr-2848-review exit 0 (27 rows, 16 log entries, no failures). The PR changes documentation only, so no package tests apply. F28 checked against the bytes at posting: git grep 'Error::Stop' matches SpawnError::StopBeforeTargetNotEarlier in src/bootstrap/jobs/manager.rs. Read on the forge: all 27 review threads are answered and resolved. GitHub checks at this head at posting time: "". At posting, develop is ec1f58ec9.
| - Reviewer finding ID: N/A | ||
| - Source URL: https://github.com/torrust/torrust-tracker/pull/2848#discussion_r4562638346 | ||
| - Concern: `docs/issues/open/1488-overhaul-tracker-shutdown/discarded-drafts/si-9-improve-udp-shutdown/verification.md` was reported to use `|>` instead of standard Markdown blockquote syntax (`>`), and relative links one directory level too shallow. | ||
| - Solution: No change. The file (unchanged since commit `6e553319d`, which the review's own diff hunk reflects) already uses plain `>` blockquote markers and the correct four-level-up relative paths (`../../../../closed/...`); there is no `|>` sequence in the file. |
There was a problem hiding this comment.
[Minor][F10] Still open: the ids half was not addressed, and a fifth id is new
F25 records only the wrong-premise half, which is fixed. The other half stands: F20's Concern and Current-tree verification (lines 340 and 342) and F21's Concern (line 353) still quote 524249b and 8cd0c93. This Solution adds 6e55331, which the replies on the two automated-reviewer threads also cite. The commit-id check now prints five ids. These are detail entries, not append-only log lines, so they can name subjects, as line 449 does. The log lines 444 to 449 may keep theirs.
| `enum UdpError` definition in `packages/udp-server/src/server/mod.rs`, never to the bare | ||
| identifier `Launcher`. | ||
|
|
||
| `Stop` has the same problem in the other direction: a whole-word search for it also matches the |
There was a problem hiding this comment.
[Minor][F28] The Stop scoping still cannot pass, and its stated reason is wrong
M1's git grep 'Error::Stop', and the Error::Stop scope of T1, T4 and the acceptance criterion (line 167), match SpawnError::StopBeforeTargetNotEarlier in src/bootstrap/jobs/manager.rs (lines 457, 670, 1831 and 1851). That is live code, so a correct removal still leaves four matches. The word-bounded git grep -w 'Error::Stop' finds none of them. The reason given here, and again at line 168, does not hold either. A whole-word search cannot match Stopped, and none of the 11 -w Stop lines in *.rs is a Stopped struct or alias; only a substring search would match them. The audit's F26 Concern (record line 418) repeats the claim.
| - 2026-11-13 15:21 UTC - **Correction** to the entry above stamped 2026-11-13 11:13 UTC (F27): "the seven threads of this round" names six ids ("F16 and F18 to F22"); it should read F16 to F22 inclusive (seven ids) — F17's reply (11:13:27Z, forge `created_at`) was omitted from the list. | ||
| - 2026-11-13 15:21 UTC - Copilot commented again (submitted 11:18:24Z) with two findings (no reviewer IDs; audit-local F23, F24). da2ce7 left three more inline comments (submitted 11:28:36Z; reviewer IDs F10, F23, F24, colliding with the existing audit-local F10 and the F23/F24 just assigned, so they are F25, F26 and F27 here). | ||
| - 2026-11-13 15:21 UTC - Fix commit for F26 (`docs(issues): [#1488] scope the Stop check and add the third Launcher struct in SI-25`) made after the wording was checked against `packages/udp-server/src/server/launcher.rs`, `states.rs`, and the `Error::Stop` definitions in `axum-http-server`/`axum-rest-api-server`. | ||
| - 2026-11-13 15:21 UTC - Replied on the five threads of this round (F23 to F27) at forge `created_at` times for comments `r4565157613`, `r4565158230`, `r4565160604`, `r4565161099` and `r4565161683`. |
There was a problem hiding this comment.
[Minor][F29] Three new slips in the log and the rows
This entry is stamped 15:21, but the five replies it records were posted at 15:23:04Z to 15:23:24Z. That is the same stamp-before-event slip that line 452 corrects (process-pr-review lines 127 to 129). Rows F23 and F24 (lines 79 and 80), like F7 (line 63), pair NO_ACTION with RESOLVED. This record's Status Values (lines 35 and 36) and Completion Rules (lines 464 to 466) give a no-change thread SUPERSEDED and an exact Superseded by <FindingId>: <reason>. reply. F24's Concern (line 392) adds relative links "one directory level too shallow", which neither the source comment nor its review says.
|
ACK 421665f — every review thread has a reply, an audit row and a resolution, the validator's checks pass offline with 27 rows, and the merge with develop is clean |
|
ACK 421665f |



Spec-only PR for EPIC #1488. It turns every pending item of the EPIC into a GitHub issue with a consistent spec, and keeps the discarded drafts as EPIC artifacts.
Related to #1488, #2844, #2845, #2846 and #2847 (no closing keywords: the issues stay open until implemented).
New sub-issues (recommended order)
udp_ban_cleanupjob (the onlyregister_legacyuser) so the stop-last edge covers itRegistar; a failed stop keeps it. Starts with a go/no-go decision, because the 503 short-circuit already hides stale entries during shutdownPer the maintainer's decision, SI-25, SI-26 and SI-27 land before the first publish (#2583). #2583 is blocked on #1488 as a whole, so SI-28 is also needed (or closed with its T1 decision) before it. These "SI-n" labels are EPIC #1488's; EPIC #1669 has its own closed SI-25 to SI-28 (#1906 to #1909).
Discarded drafts
The five superseded drafts (SI-3, SI-6, SI-7, SI-8, SI-9) move to
docs/issues/open/1488-overhaul-tracker-shutdown/discarded-drafts/as evidence of decisions taken during the EPIC, and are no longer deleted at close-out. The workflow, folders and validator are unchanged. One necessary consequence: the validator treats any file with issue frontmatter underdocs/issues/open/as a live spec, so the five spec files were renameddiscarded-draft.mdand lost their frontmatter (git history has it). Every link to them is repaired (closed specs 1586, 2370, 2412, 2448, 2668 and the EPIC rows); the SI-19 evidence file keeps its old paths because it quotes grep output. The EPIC text records the short policy for discarded drafts.Checks
linter all, the frontmatter validator on every touched spec and the pre-commit hook pass. No code changed.Needs the maintainer
The bot account cannot link sub-issues (the API answers 404), so #2844 to #2847 still have to be added as sub-issues of #1488.
🤖 Generated with Claude Code