If we extend the Autograder with a new commit_review template, we can support contribution-oriented check-in evaluation through a
configurable and auditable scoring pipeline, instead of relying on a single AI judgment over commit payloads.
The goal is not to treat a check-in like a traditional code submission that must compile and run. Instead, the goal is to evaluate
a contribution artifact composed of commits, patches, file stats, and repository metadata.
Context
There is a recurring evaluation need around selected Git commits being submitted as a check-in, where the system must generate a
score and a short evaluation summary.
A purely LLM-centered approach is simple to bootstrap, but it becomes harder to calibrate, explain, and evolve across different
environments such as:
- educational collaboration
- peer review between individuals
- internal engineering contribution tracking
The Autograder already has the right architectural primitives for a stronger approach:
- configurable criteria trees
- pipeline-based execution
- reusable templates
- structured result trees and feedback
- optional AI stages
This suggests a new template specialized for contribution review rather than assignment execution.
Proposal
Introduce a new template named commit_review.
This template would accept structured contribution artifacts such as:
- commits.json
- aggregated_diff.patch
- changed_files.json
- checkin_context.json
- optionally repo_context.json
The template would evaluate a check-in using a criteria tree focused on measurable contribution signals instead of semantic or
narrative interpretation.
Criteria Tree
The criteria tree should be the core of this design.
Instead of producing a single opaque score, the template should break the evaluation into explicit scoring dimensions. This makes
the result easier to explain, easier to calibrate, and easier to evolve later.
For V1, the tree should be quantitative only and organized around four main subjects inside base:
- Activity Volume
- Change Distribution
- Validation Evidence
- Technical Risk
Possible structure:
- Base
- Activity Volume
- minimum total line changes
- reasonable total line changes
- minimum commit count
- Change Distribution
- maximum changed files
- maximum directories touched
- maximum single file change
- Validation Evidence
- minimum test file count when source changes
- minimum test change ratio when source changes
- documentation evidence ratio
- Technical Risk
- maximum generated change ratio
- maximum binary change ratio
- critical path change ratio
The tree may also include:
- Bonus
- strong test coverage ratio
- balanced code and test distribution
- Penalty
- sensitive files detected
- generated artifact noise
- overscattered change penalty
This keeps the evaluation deterministic and decomposable while still allowing different score profiles in the future.
V1 Scope
The first version should be intentionally non-AI-first.
It should score only quantitative and structurally observable signals, such as:
- total changed lines
- number of commits
- number of changed files
- number of touched directories
- largest single file change
- ratio of test changes
- ratio of generated artifacts
- presence of binary files
- presence of sensitive files
- critical path change ratio
The first implementation should work as follows:
- Ingest the structured contribution payload.
- Run lightweight preflight validation on required files and payload format.
- Extract normalized metrics from commits, files, paths, and patch stats.
- Apply deterministic test functions through the criteria tree.
- Produce a final score, result tree, and non-AI feedback derived from metric outcomes.
This gives us a deterministic, cheap, and explainable baseline before introducing subjective scoring.
Expected value (optional)
This direction would let us:
- move away from a single opaque AI evaluation step
- score contributions using explicit and configurable rubrics
- provide more transparent feedback to users
- support different evaluation profiles later for education, collaboration, or enterprise contexts
- add AI later as an optional layer instead of a hard dependency
It also aligns well with the existing Autograder design, where scoring is driven by criteria_config, pipeline steps, and reusable
templates.
Open questions (optional)
This proposal still needs validation around a few points:
- what exact payload shape should be sent to the Autograder
- how much of contribution scoring can be meaningfully modeled with pure structural metrics
- which metrics are genuinely useful versus redundant
- how thresholds and weights should be calibrated against real check-in data
- whether project-specific context should be introduced only later or already in early versions
Validation plan (optional)
- Run the V1 template against a sample of real check-ins
- Compare the resulting scores with human judgment
- Review whether each criteria-tree branch contributes useful signal
- Adjust thresholds and weights where the scoring is clearly misaligned
References (optional)
No response
If we extend the Autograder with a new commit_review template, we can support contribution-oriented check-in evaluation through a
configurable and auditable scoring pipeline, instead of relying on a single AI judgment over commit payloads.
The goal is not to treat a check-in like a traditional code submission that must compile and run. Instead, the goal is to evaluate
a contribution artifact composed of commits, patches, file stats, and repository metadata.
Context
There is a recurring evaluation need around selected Git commits being submitted as a check-in, where the system must generate a
score and a short evaluation summary.
A purely LLM-centered approach is simple to bootstrap, but it becomes harder to calibrate, explain, and evolve across different
environments such as:
The Autograder already has the right architectural primitives for a stronger approach:
This suggests a new template specialized for contribution review rather than assignment execution.
Proposal
Introduce a new template named commit_review.
This template would accept structured contribution artifacts such as:
The template would evaluate a check-in using a criteria tree focused on measurable contribution signals instead of semantic or
narrative interpretation.
Criteria Tree
The criteria tree should be the core of this design.
Instead of producing a single opaque score, the template should break the evaluation into explicit scoring dimensions. This makes
the result easier to explain, easier to calibrate, and easier to evolve later.
For V1, the tree should be quantitative only and organized around four main subjects inside base:
Possible structure:
The tree may also include:
This keeps the evaluation deterministic and decomposable while still allowing different score profiles in the future.
V1 Scope
The first version should be intentionally non-AI-first.
It should score only quantitative and structurally observable signals, such as:
The first implementation should work as follows:
This gives us a deterministic, cheap, and explainable baseline before introducing subjective scoring.
Expected value (optional)
This direction would let us:
It also aligns well with the existing Autograder design, where scoring is driven by criteria_config, pipeline steps, and reusable
templates.
Open questions (optional)
This proposal still needs validation around a few points:
Validation plan (optional)
References (optional)
No response