Skip to content

πŸ› [Bug]: projects_registry.json is invalid JSON β€” interactive launcher loads 0 projectsΒ #1322

Description

@Ashvin-KS

πŸ“ Description

projects_registry.json is not valid JSON. The registry is the single source of truth for the
interactive launcher (main.py) and the search tool (search_projects.py). Because the file
fails to parse, both scripts hit their except branch and fall back to PROJECTS = [], so the
launcher silently shows an empty menu with no projects to browse, search, or run.

The break is at the boundary between the "Sudoku Game" entry and the "Fourier Series
Visualizer"
entry β€” the }, that should close the Sudoku object and the { that should open
the Fourier object are both missing, so two entries are fused into one malformed object. It
looks like a merge artifact when those two projects were added.

This is present on the default branch (main).

πŸ”„ Steps to Reproduce

  1. From the repo root, run python main.py (or python search_projects.py).
  2. Observe Error loading project registry: ... printed at startup.
  3. The menu loads but every category is empty β€” no projects can be launched.

You can confirm the parse failure directly:

python -c "import json; json.load(open('projects_registry.json', encoding='utf-8'))"

🎯 Expected Behavior

projects_registry.json parses cleanly and the launcher lists all projects (currently 43).

❌ Actual Behavior / Error Logs

json.decoder.JSONDecodeError: Expecting ',' delimiter: line 621 column 5 (char 15149)

Offending region (around line 620):

    "path": "games/Sudoku-Game/Sudoku-Game.py"
    "name": "Fourier Series Visualizer",

The fix is to restore the entry separator:

    "path": "games/Sudoku-Game/Sudoku-Game.py"
  },
  {
    "name": "Fourier Series Visualizer",

After this change the file parses, yielding 43 entries, and every path resolves to a real
file on disk.

πŸ’» Environment

  • OS: Windows 11 (the parse error is OS-independent)
  • Python Version: 3.10.x
  • File Name: projects_registry.json (affects main.py and search_projects.py)

  • I am a registered GSSoC 2026 contributor.
  • I want to be assigned to fix this issue.

Metadata

Metadata

Assignees

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions