I build tooling with a similar underlying concern in a different layer: a Git MCP server where an LLM never decides semantics directly — a deterministic layer classifies changes first, so the model can’t introduce inconsistency into decisions that matter.
Your train/test split + 3-run approach for skill evaluation caught my eye because it’s tackling the same root problem (LLM non-determinism) from the evaluation side instead. When two runs of the same skill produce different results on the same input, how does your system decide whether that’s the skill being poorly designed vs. just expected model noise? Trying to compare notes on how you draw that line.
I build tooling with a similar underlying concern in a different layer: a Git MCP server where an LLM never decides semantics directly — a deterministic layer classifies changes first, so the model can’t introduce inconsistency into decisions that matter.
Your train/test split + 3-run approach for skill evaluation caught my eye because it’s tackling the same root problem (LLM non-determinism) from the evaluation side instead. When two runs of the same skill produce different results on the same input, how does your system decide whether that’s the skill being poorly designed vs. just expected model noise? Trying to compare notes on how you draw that line.