Summary
The Progress-Tracker utility (utilities/Progress-Tracker/Progress-Tracker.py line 11) uses a relative path for its data file, causing user progress to be saved in the current working directory (CWD) instead of the script directory. This means progress is lost when the script is run from different directories.
Evidence
In utilities/Progress-Tracker/Progress-Tracker.py:11:
DATA_FILE = "completed_projects.json"
This is a relative path. The file is created in whatever directory the user runs the script from, not in the scripts own directory.
Compare with the same bug that was already fixed for other utilities:
The Progress-Tracker was missed in those fixes.
Affected Files
utilities/Progress-Tracker/Progress-Tracker.py (line 11)
Reproduction Steps
- Run
python utilities/Progress-Tracker/Progress-Tracker.py from the repo root
- Mark a project as completed
- Run
python utilities/Progress-Tracker/Progress-Tracker.py from a different directory (e.g., cd /tmp && python /path/to/Progress-Tracker.py)
- Observe that the previously marked project is no longer shown as completed
Expected Behavior
Progress data should be stored relative to the script directory, consistent with Budget-Tracker and Productivity-Pet.
Actual Behavior
Progress data is stored in the CWD, so each directory has its own separate (or empty) progress file.
Impact
Users lose their progress tracking data when running the script from different directories. This is inconsistent with the behavior of other utilities in the project that were already fixed.
Suggested Fix
Change line 11 from:
DATA_FILE = "completed_projects.json"
To:
DATA_FILE = os.path.join(os.path.dirname(os.path.abspath(__file__)), "completed_projects.json")
Candidate Validation
GSSoC 2026
This is a valid bug fix suitable for GSSoC 2026 contributors. The fix pattern is well-established in the codebase from previous fixes.
Summary
The Progress-Tracker utility (
utilities/Progress-Tracker/Progress-Tracker.pyline 11) uses a relative path for its data file, causing user progress to be saved in the current working directory (CWD) instead of the script directory. This means progress is lost when the script is run from different directories.Evidence
In
utilities/Progress-Tracker/Progress-Tracker.py:11:This is a relative path. The file is created in whatever directory the user runs the script from, not in the scripts own directory.
Compare with the same bug that was already fixed for other utilities:
utilities/Budget-Tracker/budget_tracker.pyβ Fixed in PR fix: Resolve Budget Tracker data loss by using script directory for data fileΒ #1154 to use script directoryutilities/Productivity-Pet/Productivity-Pet.py:6β Fixed in PR fix: Resolve Productivity Pet data loss by using script directory for data fileΒ #1153 to use:The Progress-Tracker was missed in those fixes.
Affected Files
utilities/Progress-Tracker/Progress-Tracker.py(line 11)Reproduction Steps
python utilities/Progress-Tracker/Progress-Tracker.pyfrom the repo rootpython utilities/Progress-Tracker/Progress-Tracker.pyfrom a different directory (e.g.,cd /tmp && python /path/to/Progress-Tracker.py)Expected Behavior
Progress data should be stored relative to the script directory, consistent with Budget-Tracker and Productivity-Pet.
Actual Behavior
Progress data is stored in the CWD, so each directory has its own separate (or empty) progress file.
Impact
Users lose their progress tracking data when running the script from different directories. This is inconsistent with the behavior of other utilities in the project that were already fixed.
Suggested Fix
Change line 11 from:
To:
Candidate Validation
GSSoC 2026
This is a valid bug fix suitable for GSSoC 2026 contributors. The fix pattern is well-established in the codebase from previous fixes.