Skip to content

fix(awards): audit and verify complete historical winner list - #133

Queued
mrbobbytables wants to merge 3 commits into
cncf:mainfrom
mrbobbytables:strategist/awards-completeness-77
Queued

mrbobbytables wants to merge 3 commits into
cncf:mainfrom
mrbobbytables:strategist/awards-completeness-77

Conversation

@mrbobbytables

Copy link
Copy Markdown
Member

Closes #77.

Problem

data/awards.json contained 15 Top End User Award entries, but there was no record of whether they'd been checked for completeness against the full CNCF award history, and ROADMAP.md Phase 1 explicitly calls for a "complete historical winner list, each entry verified against its cncf.io announcement."

Audit performed

I audited the full Top End User Award history from the canonical source, https://contribute.cncf.io/community/awards/ (2018-2026, since that's when the award series starts):

  • Completeness: the published history lists exactly 15 Top End User winners across 2018-2026 (SNCF '26; Michelin, ANT Group '25; Adobe, CERN '24; Spotify, Mercedes-Benz Tech Innovation '23; Intuit, Apple '22; Spotify '21; Zalando '20; DiDi, Intuit '19; JD.com, Bloomberg '18). This matches data/awards.json exactly - no missing years, no extra/fabricated entries.
  • Link verification: fetched all 26 unique announcementUrl / caseStudyUrl / talkUrl values referenced in the file. Every one returns HTTP 200 with a title matching the award/organization (e.g. the JD.com announcementUrl already correctly pointed at the 2018-11-15 CNCF post - I confirmed a superficially "corrected" 2018-11-14 URL some other work-in-progress had swapped in is actually a soft-404 "Page not found" page, so I left the existing URL alone).

Net result: the existing data was already accurate and complete; the problem was that this had never been recorded anywhere.

Changes

  • Added verifiedAt, verifiedAgainst, and verificationNote fields to the top of data/awards.json so the completeness audit is a checked-in, re-auditable fact instead of tribal knowledge.
  • Extended scripts/validate-awards.mjs to require verifiedAt (a parseable date) and verifiedAgainst (an https URL) on the file, so future edits can't silently drop the verification record.
  • Updated/added tests in tests/validate-awards.test.mjs for the new checks.
  • Surfaced the verification date/source as a small note on /awards (AwardsTimeline component), matching the "last synced" pattern already used on /architectures, /community, and /members.
  • Checked the Awards box in ROADMAP.md Phase 1.

No per-year gap issues were filed, since the audit found no gaps to file.

Verification

  • npm run test:unit - 63/63 passing.
  • npm run validate:awards - passes against current repo data.
  • npm run build - production build succeeds; confirmed the verification note renders in the built /awards page HTML.
  • Live HTTP checks against all 26 award source URLs (curl), confirming 200 responses with matching page titles.

Copilot and others added 2 commits September 15, 2026 09:28
- Audited all 15 data/awards.json entries (Top End User Award, 2018-2026)
  against the canonical history at https://contribute.cncf.io/community/awards/.
  Count matches the published history exactly: no missing years/winners and
  no extras.
- Fetched every announcementUrl, caseStudyUrl, and talkUrl (26 URLs total)
  and confirmed each resolves (HTTP 200) to a real page whose title/content
  matches the corresponding award entry. All were already correct; no
  broken or mismatched links found.
- Added verifiedAt/verifiedAgainst/verificationNote top-level fields to
  data/awards.json so the completeness audit is a recorded, re-checkable
  fact instead of tribal knowledge, addressing 'no record of which entries
  have been source-checked.'
- Extended validate-awards.mjs to require verifiedAt (parseable date) and
  verifiedAgainst (https URL) on the awards file, and updated/added tests.
- Surfaced the verification date and source as a note on the /awards page
  (AwardsTimeline component), matching the sync-status pattern already used
  on /architectures, /community, and /members.
- Checked the Awards box in ROADMAP.md Phase 1, since completeness and
  per-entry verification are now both true and enforced by CI.

Fixes cncf#77.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Signed-off-by: Jorge Castro <jcastro@linuxfoundation.org>
Signed-off-by: Jorge Castro <jcastro@linuxfoundation.org>
@castrojo
castrojo force-pushed the strategist/awards-completeness-77 branch from b2e55de to fa472ae Compare September 15, 2026 13:28

@castrojo castrojo left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Approved clean changes.

@castrojo
castrojo added this pull request to the merge queue Sep 15, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to a conflict with the base branch Sep 15, 2026
Signed-off-by: Jorge Castro <jcastro@linuxfoundation.org>

@castrojo castrojo left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Approved clean awards completeness verification.

@castrojo
castrojo added this pull request to the merge queue Sep 15, 2026
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.

[strategist] Awards data: 15 entries, historical completeness unverified

2 participants