跳到正文
cccskills
免费在 GitHub 公开

review-vendor-coverage

Audit whether all score-deciding logic in sgl-eval is vendored from NeMo-Skills, or whether some has crept into SE code. Use when the user asks "are we vendoring enough", "review vendor coverage", "audit vendoring", "is our vendoring complete", or before a release.

中文简介正在准备中。当前显示原文说明。

查看安装方法

包含的文件(1)

  • SKILL.md3.8 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

Review vendor coverage

The principle (per CLAUDE.md): anything that decides a score is vendored verbatim from NeMo-Skills. SE code is allowed only for transport, glue, default config, and CLI / output formatting.

This skill audits whether SE code has leaked scoring logic. It does NOT auto-fix; vendoring more is a design call the user makes after seeing the report.

1. Enumerate SE files

find sgl_eval scripts tests -name "*.py" \
  | grep -v _vendored | grep -v __pycache__ | sort

2. Classify each into one of four buckets

For each file (and each function within larger files), ask: "Does this code decide a score?"

BucketDescriptionExamplesAction
TransportWraps an external service or a Python primitive. No scoring decisions.sampler, runner, cli, types, registry, metrics formatterOK as SE.
GlueBridges between vendored API and our runtime model. Necessary because of architectural difference (sync vs async, in-memory vs file, single vs batch)._predictions.py, _loader.py, _eval_single_sync, _score_via_eval_mcqOK as SE. Document the upstream API it bridges.
Default configPer-benchmark sampling / repeat / thinking defaults. Model-dependent, not a scoring decision._TABLE rows in _registry.pyOK as SE. Confirm tracks NS-aligned defaults.
Score-decidingCode that parses generation, compares answers, computes pass@k, renders prompts beyond str.format.(should be empty in SE!)RED FLAG. See step 4.

3. Specific spots to scrutinize (grey areas)

Known borderline pieces -- not violations, but watch for drift:

LocationWhat it doesWhy grey
evals/_prompts.py:render_promptyaml.safe_load + str.format on vendored yamlRe-implements upstream's prompt subsystem (~500 lines). Equivalent today because templates only use {problem} / {examples}. Drift if upstream adds richer templating.
evals/_math.py:aggregate_with_math_metrics (padding)while len < n_repeats: append dupNS doesn't pad; we pad to keep MathMetrics happy under partial sample failure. Affects score only when sampler fails partway.
evals/_math.py:_flatten_math_metrics and _multichoice.py:_flattenPicks fields out of MathMetrics.get_metrics() nested dictDisplay selection, not computation. Safe if upstream keeps the same field names.
_TABLE thinking / n_repeatsPer-benchmark sgl-eval defaultsNot a violation; runtime config. CLI override always wins.

If a new grey area surfaces during the audit, add a row.

4. If you find score-deciding code in SE

Don't auto-edit. Report to the user:

  1. What it computes (the scoring decision in plain words).
  2. Where in NS upstream the equivalent lives (or "not in NS").
  3. What it would take to vendor it: file path(s), import rewrites, any drop_imports/drop_functions needed.

Then ask the user whether to:

  • vendor (run vendor-update workflow with extended SOURCES.yaml),
  • keep as SE (document the deviation, e.g., in CLAUDE.md grey-area list),
  • or remove the logic entirely.

5. Output format

Write a short report (under 300 words):

SE files: <count> total
  transport       : <n> (<list>)
  glue            : <n> (<list>)
  default config  : <n> (<list>)
  score-deciding  : <n> (RED if > 0)

Grey areas reviewed:
  - <location>: <still acceptable / has drifted because X>

New findings:
  - <none> | <list>

Recommendation: <one sentence>

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

Add a new benchmark to sgl-eval by vendoring its NeMo-Skills dataset module and registering it in `_TABLE`. Use when the user asks to "add <benchmark>" / "support <benchmark>" / "register <benchmark>" inside the sgl-eval repo.

中文简介正在准备中。当前显示原文说明。

sgl-project/sgl-eval212026年10月14日 更新

Upgrade the vendored NeMo-Skills slice to a newer upstream commit. Use when the user asks to "bump vendored", "sync NeMo-Skills", "update vendored sha", "upgrade NS", or wants to pull a specific upstream fix. Inside the sgl-eval repo.

中文简介正在准备中。当前显示原文说明。

sgl-project/sgl-eval212026年10月14日 更新

查看 sgl-project 的全部技能

报告此技能的问题