forge-eval
Skill1 starsChanged 6 months agoMITView on GitHub
Runs perplexity vs. baseline + 10 sample generations on the trained model, on the EC2 instance. Detects artifact patterns (repetition loops, GGUF tokenizer bugs, degenerate outputs) — fails the run when artifact_pct exceeds FORGE_EVAL_MAX_ARTIFACT_PCT (default 30%). The automated quality gate that replaces the v1 manual QUALITY_GATE.
We split this skill into the rules it gives an agent
4 rules. About 0 are common, 1 is distinctive, and 3 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 18
Run perplexity on the held-out test split (vs.
- Very specific: line 25
Write eval/{perplexity.json, samples.md, report.json} and sync to S3
- Very specific: line 26
Hard-fail: if artifact_pct > FORGE_EVAL_MAX_ARTIFACT_PCT (default 30%)
- Very specific: line 43
If manifest.artifacts.eval_reports_s3 is set, exits 0.
≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
forge-eval
When this fires
Phase position: EVAL — after forge-monitor returns completed.
On the v2 path, forge-plan-fit already did corpus-level QA before
spend; EVAL handles post-train output-quality validation.
What it does
- Verify
manifest.artifacts.final_weights_s3exists - Upload
eval.pyto the instance via SSM - Run perplexity on the held-out test split (vs. the base model for diff)
- Generate 10 sample completions on canonical prompts
- Artifact-pattern detection — scan generations for:
30% repetition (n-gram self-similarity)
- GGUF tokenizer artifacts (mojibake / control chars)
- Degenerate loops (same token N+ times)
- Refusal-only outputs (model collapsed to "I cannot help")
- Write
eval/{perplexity.json, samples.md, report.json}and sync to S3 - Hard-fail if
artifact_pct > FORGE_EVAL_MAX_ARTIFACT_PCT(default 30%) - Advance to
QUANTIZE(orQUALITY_GATEon legacy v1)
Inputs
$1= forge-idmanifest.artifacts.final_weights_s3(LoRA adapter or merged weights)manifest.compute_target.instance_idmanifest.plan.base_model(for baseline perplexity)FORGE_EVAL_MAX_ARTIFACT_PCT(env, default 30)
Outputs
/workspace/eval/{perplexity.json, samples.md, report.json}(on instance)s3://.../eval/reports/manifest.artifacts.eval_reports_s3manifest.state.current_phase = QUANTIZE
Idempotency
If manifest.artifacts.eval_reports_s3 is set, exits 0.
Failure modes
| Exit | Reason |
| 0 | eval clean (artifact_pct under threshold) |
| 1 | LoRA merge failed OR eval.py timeout OR artifact_pct > threshold (training collapsed — model unfit to ship) |
| 64 | no forge-id provided |
A failure here is terminal — dispatch-v2.sh will tear down the
instance and skip QUANTIZE/REGISTER/PUBLISH. The repos stay private.
External resources
- AWS EC2 (SSM RunCommand to execute eval.py)
- AWS S3 (sync reports)
- HuggingFace model cache (for the baseline diff)
Cost class
spends GPU time — eval runs on the same hourly EC2 meter.
Depends on
forge-monitor (must have synced final_weights_s3)
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 1
- tonmoy007/forge-plugins★ 2same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository29 other files it gives its agents.
- slm-forgeSkill
- forge-analyzeSkill
- forge-architectSkill
- forge-auditSkill
- forge-bootstrapSkill
- forge-card-validatorSkill
- forge-curateSkill
- forge-estimateSkill
- forge-ingest-dbSkill
- forge-ingestSkill
- forge-intakeSkill
- forge-monitorSkill
- forge-plan-fitSkill
- forge-planSkill
- forge-preflightSkill
- forge-prepSkill
- forge-provisionSkill
- forge-publishSkill
- forge-quantizeSkill
- forge-registerSkill
- forge-reportSkill
- forge-resumeSkill
- forge-shapeSkill
- forge-smoketestSkill
- forge-sourceSkill
- forge-statusSkill
- forge-synthSkill
- forge-teardownSkill
- forge-trainSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

