Skip to content

Initial MiniGrades v1 and v2 specs, tests and problem config - #9

Merged
berkevnl merged 8 commits into
seyyah:mainfrom
berkevnl:main
Mar 27, 2026
Merged

Initial MiniGrades v1 and v2 specs, tests and problem config#9
berkevnl merged 8 commits into
seyyah:mainfrom
berkevnl:main

Conversation

@berkevnl

@berkevnl berkevnl commented Mar 26, 2026

Copy link
Copy Markdown
Collaborator

🚀 Overview

This PR introduces the core infrastructure for the minigrades problem within the benchmark suite. It establishes a clear evolution from a stateless grading script (v1) to a persistent, data-driven system (v2), enabling comprehensive testing of AI agents' ability to handle state and file I/O operations.

💻 What is MiniGrades ?

Mini-grades is a simple command-line interface (CLI) tool designed to manage student records and track academic performance.

🔄 Changelog for MiniGrades (v1 to v2)

  • Logic Evolution: Transitioned from manual string indexing to dynamic iterative processing using loops and lists.
  • Functional CRUD: Replaced placeholder "simulation" messages with actual data deletion and update logic.
  • Persistent Grade Management: Grades are now persistently stored, appended, and removable within the record system.
  • Mathematical Engine: Implemented a functional average calculation system that parses stored strings into numerical data.
  • Enhanced Validation: Added advanced error handling for all inputs.
  • Successful Tests: MiniGrades v2 has been tested with pytest and passed all 24 scenarios successfully.

📂 Changes & Additions

  • problem.json: Defined the benchmark entry point, mapping the specifications and test suites for the runner engine.
  • spec_v1.txt & spec_v2.txt: Detailed technical requirements for AI agents.
    • v1: Basic terminal-based grade calculation.
    • v2: Advanced persistent storage (JSON/File-based) with multi-student support.
  • test_v1.sh & test_v2.sh: Automated verification scripts to validate the correctness, edge-case handling, and storage integrity of the generated solutions.

⚙️ Technical Focus

  • Evolutionary Benchmarking: Separate v1/v2 files allow for testing if the model can successfully refactor or extend existing logic from simple to complex.
  • Environment Stability: Shell-based tests are optimized for the which-language runtime, ensuring cross-platform compatibility (handling CRLF/LF transitions).
  • Validation: Included comprehensive checks for input parsing, grade distribution, and persistent file management.

- Added solution.py and 15 automated pytest cases in test.py.
- Integrated SPEC.txt to define the core technical requirements.
- Note: Initial version follows a linear logic (no loops/lists) as a stable testing baseline.
- Compliance: All output formats and error handling strictly follow SPEC.txt.
- Created SPEC.txt for the baseline version of MiniGrades with core commands: init, add, add-grade, list, delete, and report.
- Developed solution.py as a functional baseline implementation focusing on direct file I/O and strict specification compliance.
- Integrated test.py featuring 15 automated pytest cases to validate core student/grade management and edge-case handling.
- Note: Initial implementation follows a linear logic (no loops/lists) to establish a stable and verifiable testing foundation.
Updated project specifications for mini-grades to version 1, adding new functions and improving error handling.
Refactored minigrades (v1) implementation to support loops and lists for dynamic data management. Added persistent storage for grades and real-time average calculation, along with improved error handling.
Migrated the testing framework to align with v1 system architecture, moving from basic string matching to structured data validation.
@berkevnl berkevnl changed the title Add MiniGrades v0 baseline implementation with full test coverage Implement MiniGrades v1 core engine with persistent data management & multi-grade support and advanced features Mar 26, 2026
@seyyah

seyyah commented Mar 27, 2026

Copy link
Copy Markdown
Owner

the miniplaylist dir MUST contain only

  • SPEC-v1.txt
  • SPEC-v2.txt
  • proble.json
  • test-v1.sh
  • test-v2.sh

@berkevnl berkevnl closed this Mar 27, 2026
@berkevnl berkevnl reopened this Mar 27, 2026
@berkevnl

Copy link
Copy Markdown
Collaborator Author

Okay, I will add necessary files.

@berkevnl berkevnl changed the title Implement MiniGrades v1 core engine with persistent data management & multi-grade support and advanced features Initial MiniGrades v1 and v2 specs, tests and problem config Mar 27, 2026
Added MiniGrades problem and edited descriptions in README.md.
@berkevnl

Copy link
Copy Markdown
Collaborator Author

I added necessary files and revised README.md with new problem.

@berkevnl
berkevnl merged commit ad8eca7 into seyyah:main Mar 27, 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.

2 participants