documentation is inconsistent about linking to forgejo vs github #443

Closed
opened 2026-07-01 21:55:25 +00:00 by coilysiren · 8 comments
Owner

TBH I am inconsistent about that myself...

The rule is github for everyone except me, forgejo for me. A lot of that can be encoded via relative URLs, but much of it can't

TBH I am inconsistent about that myself... The rule is github for everyone except me, forgejo for me. A lot of that can be encoded via relative URLs, but much of it can't
coilyco-ops added this to the ward launch milestone 2026-07-01 23:29:48 +00:00
Member

DECISION - rule updated during triage: ALL external/public-facing copy references GitHub only; Forgejo appears in contributor-facing surfaces (CONTRIBUTING, AGENTS.md, source). Encode the rule in the #446 linter so it stays true. Recorded by Claude Code (Fable) during the 2026-07-01 ward launch triage session with Kai.

DECISION - rule updated during triage: ALL external/public-facing copy references GitHub only; Forgejo appears in contributor-facing surfaces (CONTRIBUTING, AGENTS.md, source). Encode the rule in the #446 linter so it stays true. Recorded by Claude Code (Fable) during the 2026-07-01 ward launch triage session with Kai.
Member

🔒 Reserved by ward agent --driver claude — container engineer-claude-ward-443 on host kais-macbook-pro-2.local is carrying this issue (reserved 2026-07-02T03:15:36Z). Concurrent ward agent runs are blocked until it finishes or the reservation goes stale (2h0m0s TTL); --force overrides.

— Claude (she/her), via ward agent

<!-- ward-agent-reservation --> 🔒 Reserved by `ward agent --driver claude` — container `engineer-claude-ward-443` on host `kais-macbook-pro-2.local` is carrying this issue (reserved 2026-07-02T03:15:36Z). Concurrent `ward agent` runs are blocked until it finishes or the reservation goes stale (2h0m0s TTL); `--force` overrides. <!-- ward-agent-signature --> — Claude (she/her), via `ward agent`
Member

🔒 Reserved by ward agent --driver codex — container engineer-codex-ward-443 on host kais-macbook-pro-2.local is carrying this issue (reserved 2026-07-02T04:30:50Z). Concurrent ward agent runs are blocked until it finishes or the reservation goes stale (2h0m0s TTL); --force overrides.

— Codex, via ward agent

<!-- ward-agent-reservation --> 🔒 Reserved by `ward agent --driver codex` — container `engineer-codex-ward-443` on host `kais-macbook-pro-2.local` is carrying this issue (reserved 2026-07-02T04:30:50Z). Concurrent `ward agent` runs are blocked until it finishes or the reservation goes stale (2h0m0s TTL); `--force` overrides. <!-- ward-agent-signature --> — Codex, via `ward agent`
Author
Owner

WARD-OUTCOME: done - clarified the GitHub-vs-Forgejo contributor wording in README and the PR template

The doc drift was small but real: the repo already had the right policy in the CONTRIBUTING flow, but the surrounding copy was easy to read two different ways. The fix was straightforward, though I had to be careful to phrase the maintainer exception without muddying the public front door rule. Confidence is high; the only rough edge is that this class of wording issue tends to crop up in multiple docs at once, so I would watch for similar phrasing elsewhere.

WARD-OUTCOME: done - clarified the GitHub-vs-Forgejo contributor wording in README and the PR template The doc drift was small but real: the repo already had the right policy in the CONTRIBUTING flow, but the surrounding copy was easy to read two different ways. The fix was straightforward, though I had to be careful to phrase the maintainer exception without muddying the public front door rule. Confidence is high; the only rough edge is that this class of wording issue tends to crop up in multiple docs at once, so I would watch for similar phrasing elsewhere.
Member

🔒 Reserved by ward agent --driver claude — container engineer-claude-ward-443 on host kais-macbook-pro-2.local is carrying this issue (reserved 2026-07-02T07:53:43Z). Concurrent ward agent runs are blocked until it finishes or the reservation goes stale (2h0m0s TTL); --force overrides.

— Claude (she/her), via ward agent

<!-- ward-agent-reservation --> 🔒 Reserved by `ward agent --driver claude` — container `engineer-claude-ward-443` on host `kais-macbook-pro-2.local` is carrying this issue (reserved 2026-07-02T07:53:43Z). Concurrent `ward agent` runs are blocked until it finishes or the reservation goes stale (2h0m0s TTL); `--force` overrides. <!-- ward-agent-signature --> — Claude (she/her), via `ward agent`
Member

🔒 Reserved by ward agent --driver claude — container engineer-claude-ward-443 on host kais-macbook-pro-2.local is carrying this issue (reserved 2026-07-02T07:53:43Z). Concurrent ward agent runs are blocked until it finishes or the reservation goes stale (2h0m0s TTL); --force overrides.

— Claude (she/her), via ward agent

<!-- ward-agent-reservation --> 🔒 Reserved by `ward agent --driver claude` — container `engineer-claude-ward-443` on host `kais-macbook-pro-2.local` is carrying this issue (reserved 2026-07-02T07:53:43Z). Concurrent `ward agent` runs are blocked until it finishes or the reservation goes stale (2h0m0s TTL); `--force` overrides. <!-- ward-agent-signature --> — Claude (she/her), via `ward agent`
Member

🔒 Reserved by ward agent --driver claude — container engineer-claude-ward-443 on host kais-macbook-pro-2.local is carrying this issue (reserved 2026-07-02T07:53:43Z). Concurrent ward agent runs are blocked until it finishes or the reservation goes stale (2h0m0s TTL); --force overrides.

— Claude (she/her), via ward agent

<!-- ward-agent-reservation --> 🔒 Reserved by `ward agent --driver claude` — container `engineer-claude-ward-443` on host `kais-macbook-pro-2.local` is carrying this issue (reserved 2026-07-02T07:53:43Z). Concurrent `ward agent` runs are blocked until it finishes or the reservation goes stale (2h0m0s TTL); `--force` overrides. <!-- ward-agent-signature --> — Claude (she/her), via `ward agent`
Author
Owner

WARD-OUTCOME: done - wrote the Forgejo-vs-GitHub linking rule down as docs/forge-linking.md + an AGENTS.md rule, and fixed a dead [SECURITY.md] link in the README.

Honest read: the surprise was how little of the content was actually wrong. The public surfaces (CONTRIBUTING, the templates, github-mirror.md, the README Support section) already route external readers to GitHub and keep Forgejo for canonical facts - the two-forge split was implemented, just never stated anywhere as a rule you could check a link against. So the real gap was a missing convention, not scattered mistakes. I codified it as three cases (same-repo -> relative, external navigation -> GitHub, canonical/infra -> Forgejo) so the relative-link case dissolves most of the ambiguity on its own.

What fought back: the doc-size caps. The README had ~7 chars of headroom and my SECURITY.md fix pushed it over, and github-mirror.md sat exactly at the 80-line cap with zero room, so my first instinct (drop the rule into github-mirror.md) didn't fit. Splitting it into its own small doc was the right shape anyway. I also caught that github-mirror.md wasn't in the docs index at all and added it.

Confidence is high - it's docs only, all pre-commit hooks pass, and the merge was clean. One genuine bug fixed along the way (the reference-style [SECURITY.md] link rendered as literal text). Rough edge / possible follow-up: there's no lint that enforces the convention (e.g. flagging an absolute forge URL to a same-repo file that could be relative), so it still relies on authors reading the rule. Worth a hook someday if the drift comes back.

WARD-OUTCOME: done - wrote the Forgejo-vs-GitHub linking rule down as docs/forge-linking.md + an AGENTS.md rule, and fixed a dead [SECURITY.md] link in the README. Honest read: the surprise was how little of the *content* was actually wrong. The public surfaces (CONTRIBUTING, the templates, github-mirror.md, the README Support section) already route external readers to GitHub and keep Forgejo for canonical facts - the two-forge split was implemented, just never stated anywhere as a rule you could check a link against. So the real gap was a missing convention, not scattered mistakes. I codified it as three cases (same-repo -> relative, external navigation -> GitHub, canonical/infra -> Forgejo) so the relative-link case dissolves most of the ambiguity on its own. What fought back: the doc-size caps. The README had ~7 chars of headroom and my SECURITY.md fix pushed it over, and github-mirror.md sat exactly at the 80-line cap with zero room, so my first instinct (drop the rule into github-mirror.md) didn't fit. Splitting it into its own small doc was the right shape anyway. I also caught that github-mirror.md wasn't in the docs index at all and added it. Confidence is high - it's docs only, all pre-commit hooks pass, and the merge was clean. One genuine bug fixed along the way (the reference-style [SECURITY.md] link rendered as literal text). Rough edge / possible follow-up: there's no lint that *enforces* the convention (e.g. flagging an absolute forge URL to a same-repo file that could be relative), so it still relies on authors reading the rule. Worth a hook someday if the drift comes back.
Sign in to join this conversation.
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
coilyco-flight-deck/ward#443
No description provided.