[PR #3520] [MERGED] feat(website): add contributors and complete the Greek edition #5798

Closed
opened 2026-10-31 01:09:31 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/morluto/rea/pull/3520
Author: @N0zoM1z0
Created: 10/14/2026
Status: ✅ Merged
Merged: 10/14/2026
Merged by: @N0zoM1z0

Base: main ← Head: website/contributors


📝 Commits (4)

  • 517245b feat(website): add a unified contributors page
  • 00a0632 docs(website): complete the Greek edition
  • 605897f chore: merge latest main into website contributors
  • 41d79c6 fix(website): preserve contributors on snapshot save failures

📊 Changes

48 files changed (+44733 additions, -36673 deletions)

View changed files

📝 scripts/test-website.py (+103 -1)
📝 scripts/website.py (+90 -1)
📝 website/README.md (+24 -0)
📝 website/locales/README.md (+4 -3)
📝 website/locales/ar/messages.po (+1939 -1789)
📝 website/locales/de/messages.po (+1944 -1789)
📝 website/locales/el/messages.po (+4907 -2718)
📝 website/locales/es/messages.po (+1942 -1789)
📝 website/locales/fa/messages.po (+1942 -1789)
📝 website/locales/fr/messages.po (+1944 -1789)
📝 website/locales/id/messages.po (+1942 -1789)
📝 website/locales/it/messages.po (+1942 -1789)
📝 website/locales/ja/messages.po (+1938 -1789)
📝 website/locales/ko/messages.po (+1938 -1789)
📝 website/locales/messages.pot (+1865 -1729)
📝 website/locales/pl/messages.po (+1942 -1789)
📝 website/locales/pt-BR/messages.po (+1941 -1789)
📝 website/locales/ru/messages.po (+1941 -1789)
📝 website/locales/th/messages.po (+1938 -1789)
📝 website/locales/tr/messages.po (+1940 -1789)

...and 28 more files

📄 Description

Summary

Add one Contributors page with equal, searchable profile cards; complete the
Greek website edition instead of sending Greek readers to English fallback pages.

Problem and expected behavior

REA had no contributor directory, and Greek had 166/1728 translated messages.
Readers should be able to find contributors without team tiers and follow the
entire website in Greek.

Change and scope

  • Dated snapshot of all 214 accounts returned by GitHub, alphabetical cards,
    profile links, local search and contribution guidance. Static profiles work
    without JavaScript; avatars load from GitHub. Explicit maintainer refresh
    collects all API pages and validates before replacing the snapshot.
  • Shared navigation/footer links and Contributors copy in 18 translated editions.
  • Complete the remaining 1562 Greek messages; align 15 existing coding-assistant
    labels. Preserve English source, case-study bodies, protected commands, URLs,
    identifiers, numbers and historical verification scope.
  • No installer, analysis provider, tool contract, target-execution or production
    publishing change. This is the user-requested enhancement; no issue is required.

Contract and boundary impact

  • Semantic owner: public GitHub snapshot → checked, generated Contributors region;
    Greek PO catalog → existing offline translation renderer.

  • Scope decision: not applicable; website only, no new REA capability.

  • CLI/MCP, providers/platforms, Evidence/provenance and package/install contracts:
    unchanged. The website maintainer command refreshes public contributor data.

  • Public GitHub avatar requests and explicit maintainer API reads are documented;
    no secrets or target applications are involved. No build output is committed.

  • Documentation or usability only; no target interaction.

Evidence and regression coverage

  • Maintenance regressions cover source snapshot rendering/drift, paginated
    refresh preserving previous data, invalid identity/URLs, and atomic save
    failures without damaged snapshots or leftover staging.
  • Executed catalog scope checks preserved all original message identities, source
    references, reviewer comments, obsolete entries and protected placeholders;
    existing English page bodies and examples remain unchanged.
  • Translation assistance and automated/peer checks do not constitute a
    native-speaker human review. Real-provider runs are not applicable to this diff.

Validation performed

  • website/.venv/bin/python scripts/website.py translations check --language el --strict
    — 1728/1728, no missing/fuzzy messages.
  • website/.venv/bin/python scripts/website.py check — 382 HTML pages, 26087 local
    references, 380 indexable pages; all 16 maintenance tests pass.
  • npm run check:fast — typecheck/lint pass with pinned Node 24.18.0.
  • Formatting, focused JavaScript lint and git diff --check — pass.
  • Browser QA: 38 Contributors locale/base journeys, then all 38 Greek page/base
    combinations; expanded 320/768/1280px, seven actual copy targets, ZIP download,
    language switching, curl navigation, Calculator/dinosaur, contributor search,
    themes and no-JavaScript paths pass.
  • Actual public Funnel navigation/search and visible desktop/mobile GitHub avatar
    loading pass. Greek public setup/contributor journeys also pass.
  • Main synchronization changes no website or translation source files.
  • CI passed for
    41d79c64841f8826f3f313eb816c1420e83c1192: change classification, formatting,
    complete website checks and the required CI aggregate. Runtime builds and
    source/built/provider test lanes were not selected for this website-only diff;
    their skipped/aggregate results are not additional executed test coverage.
  • PR title and readiness validation passed. The
    Greptile follow-up
    reviewed the current head and confirms the snapshot-save issue is fixed with
    no new actionable findings. The
    resolved thread
    records the producing-boundary fix and executed validation.
  • Review follow-up 41d79c64841f8826f3f313eb816c1420e83c1192 fixes the snapshot
    save boundary: write and close a staged file on the same filesystem, then
    replace the snapshot atomically. The new guard failed before the fix (old file
    truncated to 20 bytes) and passes after; injected partial-write/replace failures
    preserve the exact old bytes and remove staging. Repeated runs and a temporary
    path with spaces pass. No actual disk exhaustion or power-loss durability run
    is claimed. Website/full maintenance checks and check:fast pass locally;
    follow-up CI and review are tracked in PR checks.
  • Codex automated review
    could not run because its review quota is exhausted; this is an explicit
    coverage gap, not a passed review.

Preview: Contributors,
Greek homepage,
Greek Contributors.
No production publication is included in this PR.

Compatibility, safety, and release

No breaking changes, migration, package metadata or real-provider behavior changes.
The existing manual dual-host publisher remains unchanged.

Preserve these user-requested trailers in the eventual merge commit (no merge
or production publication is performed by this PR preparation):

Co-authored-by: Kaoru0822 <208281322+kaoru0822-kitauji@users.noreply.github.com>
Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
Co-authored-by: gensokyo-dev <342580529+gensokyo-dev@users.noreply.github.com>

Author readiness

Human owner: @N0zoM1z0

The human owner explicitly confirmed all three declarations in conversation on
2026-10-14; recorded here at their request.

  • I reviewed the final diff and relevant existing code, understand the change and its edge cases, and take responsibility for the complete PR, including AI-assisted work.
  • I checked the evidence above, confirmed it supports the current change, and recorded meaningful validation gaps.
  • I declare this PR ready for initial maintainer review.

Before merge

  • This PR addresses a concrete problem or an agreed enhancement.
  • Material scope and authority questions are resolved; no new analysis capability is introduced.
  • Related tests and website documentation are updated.
  • Final diff checked for secrets, unrelated cleanup and unsupported claims.
  • Selected CI checks passed for the current head.
  • Available Greptile review completed and actionable findings addressed; Codex quota gap recorded above.
  • Human Author readiness confirmed.

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/morluto/rea/pull/3520 **Author:** [@N0zoM1z0](https://github.com/N0zoM1z0) **Created:** 10/14/2026 **Status:** ✅ Merged **Merged:** 10/14/2026 **Merged by:** [@N0zoM1z0](https://github.com/N0zoM1z0) **Base:** `main` ← **Head:** `website/contributors` --- ### 📝 Commits (4) - [`517245b`](https://github.com/morluto/rea/commit/517245b29ae4c468eedc9621d61718848a2e3915) feat(website): add a unified contributors page - [`00a0632`](https://github.com/morluto/rea/commit/00a0632223b6935edfaac2f1f1552f4e2535f9bd) docs(website): complete the Greek edition - [`605897f`](https://github.com/morluto/rea/commit/605897f8d461086009360b2527512e22c3542189) chore: merge latest main into website contributors - [`41d79c6`](https://github.com/morluto/rea/commit/41d79c64841f8826f3f313eb816c1420e83c1192) fix(website): preserve contributors on snapshot save failures ### 📊 Changes **48 files changed** (+44733 additions, -36673 deletions) <details> <summary>View changed files</summary> 📝 `scripts/test-website.py` (+103 -1) 📝 `scripts/website.py` (+90 -1) 📝 `website/README.md` (+24 -0) 📝 `website/locales/README.md` (+4 -3) 📝 `website/locales/ar/messages.po` (+1939 -1789) 📝 `website/locales/de/messages.po` (+1944 -1789) 📝 `website/locales/el/messages.po` (+4907 -2718) 📝 `website/locales/es/messages.po` (+1942 -1789) 📝 `website/locales/fa/messages.po` (+1942 -1789) 📝 `website/locales/fr/messages.po` (+1944 -1789) 📝 `website/locales/id/messages.po` (+1942 -1789) 📝 `website/locales/it/messages.po` (+1942 -1789) 📝 `website/locales/ja/messages.po` (+1938 -1789) 📝 `website/locales/ko/messages.po` (+1938 -1789) 📝 `website/locales/messages.pot` (+1865 -1729) 📝 `website/locales/pl/messages.po` (+1942 -1789) 📝 `website/locales/pt-BR/messages.po` (+1941 -1789) 📝 `website/locales/ru/messages.po` (+1941 -1789) 📝 `website/locales/th/messages.po` (+1938 -1789) 📝 `website/locales/tr/messages.po` (+1940 -1789) _...and 28 more files_ </details> ### 📄 Description ## Summary Add one Contributors page with equal, searchable profile cards; complete the Greek website edition instead of sending Greek readers to English fallback pages. ## Problem and expected behavior REA had no contributor directory, and Greek had 166/1728 translated messages. Readers should be able to find contributors without team tiers and follow the entire website in Greek. ## Change and scope - Dated snapshot of all 214 accounts returned by GitHub, alphabetical cards, profile links, local search and contribution guidance. Static profiles work without JavaScript; avatars load from GitHub. Explicit maintainer refresh collects all API pages and validates before replacing the snapshot. - Shared navigation/footer links and Contributors copy in 18 translated editions. - Complete the remaining 1562 Greek messages; align 15 existing coding-assistant labels. Preserve English source, case-study bodies, protected commands, URLs, identifiers, numbers and historical verification scope. - No installer, analysis provider, tool contract, target-execution or production publishing change. This is the user-requested enhancement; no issue is required. ## Contract and boundary impact - Semantic owner: public GitHub snapshot → checked, generated Contributors region; Greek PO catalog → existing offline translation renderer. - Scope decision: not applicable; website only, no new REA capability. - CLI/MCP, providers/platforms, Evidence/provenance and package/install contracts: unchanged. The website maintainer command refreshes public contributor data. - Public GitHub avatar requests and explicit maintainer API reads are documented; no secrets or target applications are involved. No build output is committed. - [x] Documentation or usability only; no target interaction. ## Evidence and regression coverage - Maintenance regressions cover source snapshot rendering/drift, paginated refresh preserving previous data, invalid identity/URLs, and atomic save failures without damaged snapshots or leftover staging. - Executed catalog scope checks preserved all original message identities, source references, reviewer comments, obsolete entries and protected placeholders; existing English page bodies and examples remain unchanged. - Translation assistance and automated/peer checks do not constitute a native-speaker human review. Real-provider runs are not applicable to this diff. ## Validation performed - `website/.venv/bin/python scripts/website.py translations check --language el --strict` — 1728/1728, no missing/fuzzy messages. - `website/.venv/bin/python scripts/website.py check` — 382 HTML pages, 26087 local references, 380 indexable pages; all 16 maintenance tests pass. - `npm run check:fast` — typecheck/lint pass with pinned Node 24.18.0. - Formatting, focused JavaScript lint and `git diff --check` — pass. - Browser QA: 38 Contributors locale/base journeys, then all 38 Greek page/base combinations; expanded 320/768/1280px, seven actual copy targets, ZIP download, language switching, curl navigation, Calculator/dinosaur, contributor search, themes and no-JavaScript paths pass. - Actual public Funnel navigation/search and visible desktop/mobile GitHub avatar loading pass. Greek public setup/contributor journeys also pass. - Main synchronization changes no website or translation source files. - [CI](https://github.com/morluto/rea/actions/runs/38590014236) passed for `41d79c64841f8826f3f313eb816c1420e83c1192`: change classification, formatting, complete website checks and the required CI aggregate. Runtime builds and source/built/provider test lanes were not selected for this website-only diff; their skipped/aggregate results are not additional executed test coverage. - PR title and readiness validation passed. The [Greptile follow-up](https://github.com/morluto/rea/pull/3520#issuecomment-6171743927) reviewed the current head and confirms the snapshot-save issue is fixed with no new actionable findings. The [resolved thread](https://github.com/morluto/rea/pull/3520#discussion_r4272869729) records the producing-boundary fix and executed validation. - Review follow-up `41d79c64841f8826f3f313eb816c1420e83c1192` fixes the snapshot save boundary: write and close a staged file on the same filesystem, then replace the snapshot atomically. The new guard failed before the fix (old file truncated to 20 bytes) and passes after; injected partial-write/replace failures preserve the exact old bytes and remove staging. Repeated runs and a temporary path with spaces pass. No actual disk exhaustion or power-loss durability run is claimed. Website/full maintenance checks and `check:fast` pass locally; follow-up CI and review are tracked in [PR checks](https://github.com/morluto/rea/pull/3520/checks). - [Codex automated review](https://github.com/morluto/rea/pull/3520#issuecomment-6171545859) could not run because its review quota is exhausted; this is an explicit coverage gap, not a passed review. Preview: [Contributors](https://riema.taile42c02.ts.net:10000/contributors/), [Greek homepage](https://riema.taile42c02.ts.net:10000/el/), [Greek Contributors](https://riema.taile42c02.ts.net:10000/el/contributors/). No production publication is included in this PR. ## Compatibility, safety, and release No breaking changes, migration, package metadata or real-provider behavior changes. The existing manual dual-host publisher remains unchanged. Preserve these user-requested trailers in the eventual merge commit (no merge or production publication is performed by this PR preparation): ```text Co-authored-by: Kaoru0822 <208281322+kaoru0822-kitauji@users.noreply.github.com> Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com> Co-authored-by: gensokyo-dev <342580529+gensokyo-dev@users.noreply.github.com> ``` ## Author readiness Human owner: @N0zoM1z0 The human owner explicitly confirmed all three declarations in conversation on 2026-10-14; recorded here at their request. - [x] I reviewed the final diff and relevant existing code, understand the change and its edge cases, and take responsibility for the complete PR, including AI-assisted work. - [x] I checked the evidence above, confirmed it supports the current change, and recorded meaningful validation gaps. - [x] I declare this PR ready for initial maintainer review. ## Before merge - [x] This PR addresses a concrete problem or an agreed enhancement. - [x] Material scope and authority questions are resolved; no new analysis capability is introduced. - [x] Related tests and website documentation are updated. - [x] Final diff checked for secrets, unrelated cleanup and unsupported claims. - [x] Selected CI checks passed for the current head. - [x] Available Greptile review completed and actionable findings addressed; Codex quota gap recorded above. - [x] Human Author readiness confirmed. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-31 01:09:31 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
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
morluto/rea#5798
No description provided.