Skip to content

docs(blog): GSoC 2026 wrap-up - Comprehensive Test Suite for Format Validation - #2455

Open
vtushar06 wants to merge 6 commits into
mainfrom
blog/gsoc26-format-test-suite
Open

docs(blog): GSoC 2026 wrap-up - Comprehensive Test Suite for Format Validation#2455
vtushar06 wants to merge 6 commits into
mainfrom
blog/gsoc26-format-test-suite

Conversation

@vtushar06

@vtushar06 vtushar06 commented Aug 24, 2026

Copy link
Copy Markdown
Collaborator

What kind of change does this PR introduce?

Content. A new blog post, plus its cover banner and a chart. No code changes.

Issue Number:

Screenshots/videos:

The post embeds one chart, format-growth-chart.png, showing published format test counts per format before and after the project. The cover is a banner built from the JSON Schema and GSoC logos.

If relevant, did you update the documentation?

Not applicable.

Summary

A report on the GSoC 2026 project that tested JSON Schema's format keyword against the RFCs the specification delegates to.

Following review feedback, the post is written as a technical findings report rather than a personal GSoC recap - the story side is going on my own blog separately.

What it covers:

  • Why format is hard to get right: the specification delegates each format to a different RFC, so it is really eighteen grammars behind one keyword.
  • The method: read the governing RFC, enumerate every grammar boundary, run the corpus through real validators across languages, then read the source of whatever diverges.
  • A full table of every validator found to diverge - 29 JSON Schema validators, 270 documented findings, broken down by format, plus the underlying libraries several of those bugs are inherited from.
  • The two recurring mechanisms behind a large share of them: delegation to third-party format libraries, and regex anchoring.
  • What landed: published format tests went from 618 to 843 (+225). 130 merged pull requests - 107 in JSON-Schema-Test-Suite, 23 in sourcemeta/core - with 3 still in review.
  • Nine defects filed and accepted upstream, and why the rest belong in the suite rather than in bug trackers.

Project idea: community#965. Mentors: @jviotti and @jdesrosiers.

Files:

  • pages/blog/posts/gsoc26-format-test-suite.md
  • public/img/posts/2026/gsoc26-tushar/ - cover banner and the growth chart
  • public/img/avatars/vtushar06.jpg - author photo

Type is Engineering, tagged News. It was Community in the first draft, when the post was a GSoC recap; after the rewrite the content is a technical report, so Engineering fits better. Happy to switch it back if you disagree.

Does this PR introduce a breaking change?

No.

Checklist

Covers the nine months leading into GSoC and the format validation work
done during the coding period - 121 merged pull requests across the test
suite and sourcemeta/core, the method used to find divergences, and the
bugs reported upstream.
@vtushar06
vtushar06 requested a review from a team as a code owner August 24, 2026 08:42
@github-project-automation github-project-automation Bot moved this to Ready to review in PR - Triage Group Aug 24, 2026
@github-actions

Copy link
Copy Markdown

Hi @vtushar06! Thanks a lot for your contribution!

I noticed that the following required information is missing or incomplete: issue reference, kind of change description

Please update the PR description to include this information. You can find placeholders in the PR template for these items.

Thanks a lot!

@github-actions

github-actions Bot commented Aug 24, 2026

Copy link
Copy Markdown
built with Refined Cloudflare Pages Action

⚡ Cloudflare Pages Deployment

Name Status Preview Last Commit
website ✅ Ready (View Log) Visit Preview 0c9e7ac

@codecov

codecov Bot commented Aug 24, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (6c0b00c) to head (0c9e7ac).
⚠️ Report is 9 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff            @@
##              main     #2455   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files           31        31           
  Lines          695       695           
  Branches       215       215           
=========================================
  Hits           695       695           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

… the proposal

The cover was reusing the contributor spotlight graphic, which shows other
people and does not read as a title image. Replaced with a banner built
from the two project logos. Also links the GSoC proposal and credits the
triage invite correctly.
@jviotti

jviotti commented Aug 24, 2026

Copy link
Copy Markdown
Member

@vtushar06 Good start! What I would advise is to keep the story about your GSoC acceptance, why JSON Schema, etc for i.e. a Medium post on your own blog. Instead, here, you can keep it more JSON Schema and outcome oriented, for a different audience. For example:

  1. Intro about the fact that JSON Schema held a GSoC project on strengthening format tests and why, without getting into your application process, etc
  2. What we accomplished throughout the project (i.e. N amount of tests across the supported formats findings Y defects in P number of real implementations and libraries), without mentioning much the how or your journey
  3. What the previous point means for the community, potentially with some plots and some basic data analysis. What can we learn from that? How badly broken formats were before?

So essentially, here, the readers will not care much about your specific story, but more about what the impact of the work you did has and why it matters, even if you were not a GSoC student at all (that can remain just a mention in the intro). In other words, about the outcome of the work. Whereas on i.e. your Medium blog, the might care more about the journey. So if you do both, they could complement quite well

@vtushar06

vtushar06 commented Aug 25, 2026

Copy link
Copy Markdown
Collaborator Author

okayy @jviotti, that's a cleaner split. so now I am moving the story to my own blog and reworking this one to be outcome and numbers focused as you mentioned updating now.

Per review feedback - moves the personal story out (kept for a separate
Medium post) and rewrites this one around what the project produced: the
RFC-grounded method, 87 cross-implementation findings across 13 formats,
9 upstream bugs filed and accepted, and a before/after chart of published
test coverage per format (618 -> 838 tests, git-verified against the
suite's history at the coding period's start and now).

@jdesrosiers jdesrosiers 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.

Looks good, but check the images added. I think some of them aren't needed anymore after the rewrite.

Comment thread pages/blog/posts/gsoc26-format-test-suite.md Outdated
Comment thread pages/blog/posts/gsoc26-format-test-suite.md Outdated
Comment thread pages/blog/posts/gsoc26-format-test-suite.md
Comment thread public/img/posts/2026/gsoc26-tushar/format-growth-chart.png
…xt, drop unused images

- Explain how the findings distribute across implementations and why:
  python-jsonschema's delegation to third-party format libraries, and the
  anchor class that recurs across three languages for the same reason.
- Say why only nine findings were filed upstream - the suite is the right
  channel for the rest.
- Add context on sourcemeta/core: the project was mentored by its
  maintainer, so format support and coverage were built there alongside
  the suite.
- Remove the acceptance, midterm and spotlight images, unused since the
  rewrite.
Comment thread pages/blog/posts/gsoc26-format-test-suite.md Outdated
Comment thread pages/blog/posts/gsoc26-format-test-suite.md
Per review, disclose every validator that had a problem in one place:
29 JSON Schema validators, 270 documented findings, broken down by
format. Separates the JSON Schema validators from the underlying
libraries they delegate to, states what the counts are and are not,
and notes why sourcemeta/core does not appear.
@vtushar06
vtushar06 requested review from jdesrosiers and jviotti and a lite review from Copilot and removed request for jviotti September 1, 2026 10:54
@vtushar06

Copy link
Copy Markdown
Collaborator Author

sorry for too many review 😅

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

Adds a new GSoC 2026 wrap-up blog post describing the work to build a more comprehensive format test suite by validating format behaviors against their governing RFCs, along with the post’s image assets and author avatar.

Changes:

  • New blog post: gsoc26-format-test-suite.md (GSoC 2026 “format” test suite wrap-up).
  • Adds/uses post images under public/img/posts/2026/gsoc26-tushar/ (banner + growth chart).
  • Adds author avatar public/img/avatars/vtushar06.jpg.

Reviewed changes

Copilot reviewed 1 out of 4 changed files in this pull request and generated 3 comments.

File Description
pages/blog/posts/gsoc26-format-test-suite.md New GSoC 2026 wrap-up post content, frontmatter metadata, and embedded chart image.
public/img/posts/2026/gsoc26-tushar/gsoc26-banner.png Cover/banner image referenced by the post frontmatter.
public/img/posts/2026/gsoc26-tushar/format-growth-chart.png Inline chart image referenced in the post body.
public/img/avatars/vtushar06.jpg Author avatar referenced by the post frontmatter.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread pages/blog/posts/gsoc26-format-test-suite.md
Comment thread pages/blog/posts/gsoc26-format-test-suite.md
Comment thread pages/blog/posts/gsoc26-format-test-suite.md Outdated
Seven more suite PRs merged since the last push. Test counts move from
618 -> 843 (+225), merged totals to 107 suite plus 23 core, and three
still in review. Chart regenerated to match.

@jviotti jviotti 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.

Super! Reads much better and interesting IMHO. Great job!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Ready to review

Development

Successfully merging this pull request may close these issues.

Blog post pitch: GSoC 2026 wrap-up on the format test suite work

4 participants