fix: point the README's links at pages that exist #5

Merged
engineer merged 3 commits from fix/1-readme-links into master 2026-10-08 01:14:56 +02:00
Member

Refs #1

Every external link in the README answered 404 after the move off Codeberg. The v0.2.0 notes would also have advertised the dead hosted page. Found by @surveyor while reviewing #3.

Changes

Link Was Now HTTP now
Play frankenbit.codeberg.page/tic-tac-toe/ (404) removed: there is no hosted page. Play says to open index.html, and names git.frankenbit.de/frankenbit/tic-tac-toe as the source of record, mirrored to gitea.com/FrankenBit/tic-tac-toe 200, 200
release-toolkit codeberg.org/frankenbit/release-toolkit (404) gitea.com/FrankenBit/release-toolkit 200
releases codeberg.org/FrankenBit/tic-tac-toe/releases (404) git.frankenbit.de/frankenbit/tic-tac-toe/releases, where the cuts run (anonymously readable) 200

Changelog:

  • [Unreleased]'s Added line drops "and the README links the hosted page".
  • New fragment changelog.d/5-readme-links.fixed.md records the link repair. The first head (c600a095) put it under [Unreleased] as text instead, and pr / gates failed coverage with "forgotten": coverage counts a fragment or a no-changelog: line, not [Unreleased] text.

Note: gitea.com/FrankenBit/tic-tac-toe describes itself as mirrored from git.frankenbit.de, the source of record. It is currently stale at 560862d9, with probe commits on top and no tags. The README links it as a mirror, at Alex's direction; see the comment below. The first two heads called it "the source", and review 7314 refused that.

Measured locally on this head (rt built from tag v0.67.0)

  • rt manifest-check: all checks pass.
  • rt prep --dry-run: v0.2.0 composes Added (version display), Changed (#1 fragment) and Fixed (keyboard cells, plus the #5 fragment). It consumes both fragments. 10 PASS, 0 FAIL.
  • rt fragment-check (content mode): 2 fragments, PASS, density PASS.
  • All three new README URLs answer 200 (curl -L).

🤖 Generated with Claude Code

https://claude.ai/code/session_01TaK1qBbnCPpuc7FYj4pZG1

Refs #1 Every external link in the README answered 404 after the move off Codeberg. The v0.2.0 notes would also have advertised the dead hosted page. Found by @surveyor while reviewing #3. ## Changes | Link | Was | Now | HTTP now | |---|---|---|---| | Play | `frankenbit.codeberg.page/tic-tac-toe/` (404) | removed: there is no hosted page. Play says to open `index.html`, and names `git.frankenbit.de/frankenbit/tic-tac-toe` as the source of record, mirrored to `gitea.com/FrankenBit/tic-tac-toe` | 200, 200 | | release-toolkit | `codeberg.org/frankenbit/release-toolkit` (404) | `gitea.com/FrankenBit/release-toolkit` | 200 | | releases | `codeberg.org/FrankenBit/tic-tac-toe/releases` (404) | `git.frankenbit.de/frankenbit/tic-tac-toe/releases`, where the cuts run (anonymously readable) | 200 | Changelog: - `[Unreleased]`'s Added line drops "and the README links the hosted page". - New fragment `changelog.d/5-readme-links.fixed.md` records the link repair. The first head (`c600a095`) put it under `[Unreleased]` as text instead, and `pr / gates` failed coverage with "forgotten": coverage counts a fragment or a `no-changelog:` line, not `[Unreleased]` text. **Note:** gitea.com/FrankenBit/tic-tac-toe describes itself as mirrored from git.frankenbit.de, the source of record. It is currently stale at `560862d9`, with probe commits on top and no tags. The README links it as a mirror, at Alex's direction; see the comment below. The first two heads called it "the source", and review 7314 refused that. ## Measured locally on this head (`rt` built from tag `v0.67.0`) - `rt manifest-check`: all checks pass. - `rt prep --dry-run`: v0.2.0 composes Added (version display), Changed (#1 fragment) and Fixed (keyboard cells, plus the #5 fragment). It consumes both fragments. 10 PASS, 0 FAIL. - `rt fragment-check` (content mode): 2 fragments, PASS, density PASS. - All three new README URLs answer 200 (`curl -L`). 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01TaK1qBbnCPpuc7FYj4pZG1
fix: point the README's links at pages that exist
Some checks failed
pr / plan, and run every gate when combined (pull_request) Failing after 6s
pr / manifest (pull_request) Has been skipped
pr / fragments (pull_request) Has been skipped
pr / changelog_body (pull_request) Has been skipped
pr / register (pull_request) Has been skipped
pr / ac_closure (pull_request) Has been skipped
pr / workflow_parse (pull_request) Has been skipped
pr / split result (pull_request) Has been skipped
pr / gates (pull_request) Failing after 0s
c600a095aa
frankenbit.codeberg.page/tic-tac-toe/, codeberg.org/FrankenBit/tic-tac-toe
and codeberg.org/frankenbit/release-toolkit all answer 404 since the move
off Codeberg. Point the source at gitea.com/FrankenBit/tic-tac-toe, the
toolkit at gitea.com/FrankenBit/release-toolkit, and releases at this
forge, where the cuts run. There is no hosted page any more, so Play
says to open index.html.

Drop "and the README links the hosted page" from the [Unreleased] Added
line, and note the link repair under Fixed.

Refs #1

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TaK1qBbnCPpuc7FYj4pZG1
fix: record the README link repair as a fragment
All checks were successful
pr / plan, and run every gate when combined (pull_request) Successful in 6s
pr / manifest (pull_request) Has been skipped
pr / fragments (pull_request) Has been skipped
pr / changelog_body (pull_request) Has been skipped
pr / register (pull_request) Has been skipped
pr / ac_closure (pull_request) Has been skipped
pr / workflow_parse (pull_request) Has been skipped
pr / split result (pull_request) Has been skipped
pr / gates (pull_request) Successful in 0s
65bd0de4dd
PR fragment coverage counts a changed fragment or a no-changelog
declaration, not [Unreleased] text, so the Fixed line moves from
CHANGELOG.md to changelog.d/5-readme-links.fixed.md.

Refs #1

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TaK1qBbnCPpuc7FYj4pZG1
surveyor requested changes 2026-10-08 01:12:42 +02:00
Dismissed
surveyor left a comment

Verdict: CHANGES NEEDED at 65bd0de4dd

The link repair and the changelog side are right. One line of the README points readers at the wrong repository.

Blocking

The README says "The source is on gitea.com/FrankenBit/tic-tac-toe", and that repository describes itself as a copy of this one, and a different one at that.
I read it anonymously through gitea.com's API:

  • Its own description: "Adoption test consumer for frankenbit/release-toolkit — mirrored from git.frankenbit.de (source of record)." mirror: false.
  • master is at 560862d9, last updated 2026-09-04, with no tags. On top of ab01c898 it carries 12 test:/ci: probe commits (anti-recursion probes, deploy-key push arms, runner controls), and it lacks #2, #3 and this PR.

So someone following "the source" gets a stale test fork, while the repository itself names git.frankenbit.de as the source of record. Your body's note says as much, but the README does not.

Fix, either:

  • link https://git.frankenbit.de/frankenbit/tic-tac-toe as the source (anonymous 200, the same host as the releases link); or
  • if gitea.com is the home Alex wants, have him say so on this PR. I could find no record of that on #5, #1 or #3, which have no comments. Then don't call it "the source": say what it is, and consider updating its description.

Checked and correct

  • The new URLs. All answer 200 anonymously with curl -L: gitea.com/FrankenBit/tic-tac-toe, gitea.com/FrankenBit/release-toolkit (release-toolkit's documented public mirror) and git.frankenbit.de/frankenbit/tic-tac-toe/releases.
  • The old links are gone.
  • The changelog. The Added line drops the hosted-page clause, and the fix is recorded as a fragment. With rt built from v0.67.0:
    • manifest-check passes;
    • fragment-check in content mode passes: 2 fragments, density PASS;
    • decide gives update → 0.2.0;
    • prep --dry-run composes Added, Changed, and Fixed with both lines, and consumes both fragments: 10 PASS, 0 FAIL.
  • pr / gates is green, which is where coverage is graded.

Non-blocking

The composed v0.2.0 keeps only the fragment's summary line, so "There is no hosted copy, so open index.html to play." does not reach the release notes. That is fine: the README says it.

Verdict: CHANGES NEEDED at 65bd0de4dd94f2379708b035cab581533a5628cd The link repair and the changelog side are right. One line of the README points readers at the wrong repository. ## Blocking **The README says "The source is on gitea.com/FrankenBit/tic-tac-toe", and that repository describes itself as a copy of this one, and a different one at that.** I read it anonymously through gitea.com's API: - Its own description: *"Adoption test consumer for frankenbit/release-toolkit — mirrored from git.frankenbit.de (source of record)."* `mirror: false`. - `master` is at `560862d9`, last updated 2026-09-04, with no tags. On top of `ab01c898` it carries 12 `test:`/`ci:` probe commits (anti-recursion probes, deploy-key push arms, runner controls), and it lacks #2, #3 and this PR. So someone following "the source" gets a stale test fork, while the repository itself names git.frankenbit.de as the source of record. Your body's note says as much, but the README does not. Fix, either: - link `https://git.frankenbit.de/frankenbit/tic-tac-toe` as the source (anonymous 200, the same host as the releases link); or - if gitea.com is the home Alex wants, have him say so on this PR. I could find no record of that on #5, #1 or #3, which have no comments. Then don't call it "the source": say what it is, and consider updating its description. ## Checked and correct - **The new URLs.** All answer 200 anonymously with `curl -L`: `gitea.com/FrankenBit/tic-tac-toe`, `gitea.com/FrankenBit/release-toolkit` (release-toolkit's documented public mirror) and `git.frankenbit.de/frankenbit/tic-tac-toe/releases`. - **The old links are gone.** - **The changelog.** The Added line drops the hosted-page clause, and the fix is recorded as a fragment. With `rt` built from `v0.67.0`: - `manifest-check` passes; - `fragment-check` in content mode passes: 2 fragments, density PASS; - `decide` gives `update` → 0.2.0; - `prep --dry-run` composes Added, Changed, and Fixed with both lines, and consumes both fragments: **10 PASS, 0 FAIL**. - **`pr / gates` is green**, which is where coverage is graded. ## Non-blocking The composed v0.2.0 keeps only the fragment's summary line, so "There is no hosted copy, so open `index.html` to play." does not reach the release notes. That is fine: the README says it.
Author
Member

Direction for the README link, recorded here per review 7314: asked where the game lives now, @alex answered https://gitea.com/FrankenBit/tic-tac-toe (in my session, 2026-10-08).

That repository describes itself as "mirrored from git.frankenbit.de (source of record)". It is currently stale at 560862d9 (2026-09-04): 12 probe commits on top of ab01c898, no tags, and none of #2, #3 or #5. So the README keeps gitea.com as Alex asked, but as what it is: git.frankenbit.de is the source of record, mirrored to gitea.com. Bringing the mirror up to date is outside this PR.

Direction for the README link, recorded here per review 7314: asked where the game lives now, @alex answered `https://gitea.com/FrankenBit/tic-tac-toe` (in my session, 2026-10-08). That repository describes itself as *"mirrored from git.frankenbit.de (source of record)"*. It is currently stale at `560862d9` (2026-09-04): 12 probe commits on top of `ab01c898`, no tags, and none of #2, #3 or #5. So the README keeps gitea.com as Alex asked, but as what it is: git.frankenbit.de is the source of record, mirrored to gitea.com. Bringing the mirror up to date is outside this PR.
fix: name git.frankenbit.de as the README's source of record
All checks were successful
pr / plan, and run every gate when combined (pull_request) Successful in 6s
pr / manifest (pull_request) Has been skipped
pr / fragments (pull_request) Has been skipped
pr / changelog_body (pull_request) Has been skipped
pr / register (pull_request) Has been skipped
pr / ac_closure (pull_request) Has been skipped
pr / workflow_parse (pull_request) Has been skipped
pr / split result (pull_request) Has been skipped
pr / gates (pull_request) Successful in 0s
5568375489
gitea.com/FrankenBit/tic-tac-toe describes itself as mirrored from
git.frankenbit.de, the source of record, so the README now says the
same and links both.

Refs #1

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TaK1qBbnCPpuc7FYj4pZG1
surveyor approved these changes 2026-10-08 01:14:34 +02:00
surveyor left a comment

Verdict: APPROVE at 5568375489

Re-check of 65bd0de..5568375: one commit, README only. 65bd0de is an ancestor, so nothing was rewritten. The CHANGELOG and fragments are unchanged, so 7314's measurements still hold: 10 PASS and 0 FAIL in prep --dry-run.

  • 7314's blocking line is closed. The README now names git.frankenbit.de/frankenbit/tic-tac-toe as the source of record. Both it and gitea.com/FrankenBit/tic-tac-toe answer 200 anonymously.
  • pr / gates is green on this head.

Non-blocking, for Alex

  • "mirrored to gitea.com" is not true yet. Measured just now, gitea.com's master is still 560862d9, the stale fork with probe commits that comment 115954 describes. The README states the relationship the gitea repo claims, not its present state. Please open an issue to sync or reset that mirror; once it is synced, the sentence is accurate.
  • Alex's direction is on the PR at second hand. Comment 115954 is by engineer, relaying Alex's answer from a session. If Alex wants it on the record in his own words, a one-line comment from him would do.
Verdict: APPROVE at 556837548965dab9318f6d3674454e5686e7a221 Re-check of `65bd0de..5568375`: one commit, README only. `65bd0de` is an ancestor, so nothing was rewritten. The CHANGELOG and fragments are unchanged, so 7314's measurements still hold: 10 PASS and 0 FAIL in `prep --dry-run`. - **7314's blocking line is closed.** The README now names `git.frankenbit.de/frankenbit/tic-tac-toe` as the source of record. Both it and `gitea.com/FrankenBit/tic-tac-toe` answer 200 anonymously. - **`pr / gates` is green** on this head. ## Non-blocking, for Alex - **"mirrored to gitea.com" is not true yet.** Measured just now, gitea.com's `master` is still `560862d9`, the stale fork with probe commits that comment 115954 describes. The README states the relationship the gitea repo claims, not its present state. Please open an issue to sync or reset that mirror; once it is synced, the sentence is accurate. - **Alex's direction is on the PR at second hand.** Comment 115954 is by `engineer`, relaying Alex's answer from a session. If Alex wants it on the record in his own words, a one-line comment from him would do.
engineer merged commit 1b98f58a32 into master 2026-10-08 01:14:56 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
frankenbit/tic-tac-toe!5
No description provided.