eval-harness — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited eval-harness (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
When measuring, scoring, or validating system outputs against defined criteria. Use for capability evaluation (can the system do X?), regression evaluation (does a change break existing behavior?), or comparative evaluation (is version A better than version B?). The eval harness ensures you define success BEFORE implementing, not after.
Core principle: Define-before-code — write evaluation criteria before writing the implementation they measure.
.mindforge/evals/[eval-name]/
├── config.json # eval metadata, parameters, thresholds
├── rubric.md # human-readable success criteria
├── test-cases.json # input/expected-output pairs
└── results.jsonl # append-only results log {
"name": "eval-name",
"type": "capability" | "regression" | "comparative",
"version": "1.0.0",
"created": "ISO-8601",
"thresholds": {
"pass_at_1": 0.8,
"pass_at_5": 0.95,
"pass_at_10": 0.99
},
"grader": "code" | "model" | "human",
"model_judge_config": {
"model": "claude-sonnet",
"rubric_path": "./rubric.md",
"temperature": 0.0
},
"test_case_count": 0,
"tags": []
}Three Grader Types:
1. Code-Based (Deterministic):
// Example code grader
function grade(output: string, expected: TestCase): GradeResult {
const parsed = JSON.parse(output);
return {
pass: parsed.status === expected.status && parsed.count >= expected.minCount,
evidence: `status=${parsed.status}, count=${parsed.count}`,
criterion: "structural-correctness"
};
}2. Model-Based (LLM-as-Judge):
Judge prompt structure:
1. Task description (what was the system asked to do?)
2. Rubric (what does good look like? what does bad look like?)
3. The output to grade
4. Instruction: score 1-5 per criterion, explain each score, give overall PASS/FAIL3. Human-Based (Flag for Review):
pass@k Metrics:
Result logging (results.jsonl):
{
"timestamp": "ISO-8601",
"test_case_id": "tc-001",
"input": "...",
"output": "...",
"grader": "code",
"scores": {"criterion_a": 4, "criterion_b": 5},
"pass": true,
"evidence": "...",
"latency_ms": 0,
"model_version": "...",
"run_id": "uuid"
}.mindforge/evals/[name]/REGRESSION.md ## Eval Report: [eval-name]
- Type: capability | regression | comparative
- Run: [run-id] at [timestamp]
- Test cases: N total, P passed, F failed
- pass@1: X% | pass@5: Y% | pass@10: Z%
- Threshold: pass@1 >= T% → [MET / NOT MET]
- Regressions: [none | list]
- Top failure modes: [list with counts]Before marking a task done when this skill was active:
.mindforge/evals/[name]/results.jsonl?~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.