Repository navigation
Conversation
A bundled skill for designing evals: sources (user tasks, fixed failures, constraints, negatives; skill text secondary), a per-scenario template, outcome/process/cost layers, verifier self-test with repo validate, repo tasks check and docker-oracle/docker-probe, manual mutation controls, coverage report and draft -> reviewed -> holdout statuses. Bundled skill markdown now goes through test_docs_code_refs, and test_bundled_skills checks each skill loads as a treatment, its description fits the listing cap and its relative links resolve inside the skill. Part of intel#121 (item 6), J7 intel#97. Signed-off-by: Nikolay Petrov <nikolay.a.petrov@intel.com>
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #162 +/- ##
==========================================
- Coverage 91.54% 91.53% -0.01%
==========================================
Files 222 222
Lines 27369 27369
Branches 4505 4505
==========================================
- Hits 25054 25052 -2
- Misses 1644 1645 +1
- Partials 671 672 +1 🚀 New features to boost your workflow:
|
antonwolfy
left a comment
There was a problem hiding this comment.
Review at 0389033. The skill is well structured, and every command and flag it names exists in the parser. Two things are worth fixing before merge, plus two nits inline.
What I ran, on a Linux review host at 0389033:
make ci-local: 25 passed, 1 failed, 6 skipped. The failure ispip-auditonvirtualenv 21.14.7(CVE-2026-113722), which is already in the lock at the PR's base and not touched here (fixed onmainby #152). Changed-line coverage passed.- Reproductions for the findings, with the LLM transport mocked; a mutation run of
test_bundled_skills.pyand thetest_docs_code_refs.pychange against broken copies of the new skill files.
This PR adds a second skill under dokimi/data/, which the repo rules reserve for fastcontext. AGENTS.md:94-97 says dokimi/data/ holds only the fixtures the repo's own tests and examples read (data/skills/fastcontext/, ...), and that product skills and tasks belong in their content repository. dokimi/data/README.md:22 calls fastcontext "The one committed skill". The new skill is not a fixture for any treatment arm or example; the only reader is the new lint test. Either update AGENTS.md and data/README.md to say why a second bundled skill is allowed, or move the skill to the content repository. The README line (outside this diff) is wrong as soon as this merges.
Checked, no issues
- Commands:
repo inspect,repo validate --fail-on-warning,repo tasks check --manifest/--manifest-file/--task,tasks list|run --tasks-root --tasks --harnesses --out-json,eval judge-validity --answers --sequentialandpython -m dokimi.coverageall exist in--help.docker-oracleanddocker-probeare in the registry. The claim thatrepo tasks checkalways requires the null to fail holds. - Catalog and packaging:
discover_skillsignoresreferences/*.md. A skill-catalog treatment over both skills builds with no tool-name collision. TheSKILL.mdcontext is under the 12,000-character cap.data/is outside the package, so no package-data glob changes. - Changelog: the fragment follows the
changelog.dform, and no schema ormkdocs.ymlnav change is needed.
| Harbor tasks: discovery is the check. A task missing from the list, or listed | ||
| with an error, is not runnable. |
There was a problem hiding this comment.
tasks list is not a runnability check, so "discovery is the check" gives a false pass. cmd_tasks_list (commands/tasks.py:37-47) prints only name<TAB>difficulty<TAB>tags. It never prints an error row. discover_tasks reads only task.toml and instruction.md.
- A Harbor task with just those two files (no
tests/test.sh, nosolution/solve.sh, noenvironment/) is listed normally. In a scratch copy,discover_tasksreturned['t1']. - A task without
instruction.mdraisesFileNotFoundErrorout ofdiscover_tasks.cmd_tasks_listcatches onlyValueError, so the agent sees a traceback and no list, not "listed with an error". - The missing-
tests//solution/check lives in the harness refusal attasks runtime (harnesses/tasks.pyharbor_task_problem), whichtasks listnever calls.
An agent following this step reports "schema and paths: pass" for a task that cannot run. That is the claim-1-as-claim-2 mix-up the skill warns about.
Suggestion: say that tasks list only shows the task was discovered, and that runnability is first checked by the docker-oracle run in the next step.
There was a problem hiding this comment.
Fixed in 294bf2e: the Harbor step now says tasks list only shows discovery (no error row, lists a task without tests/solution/environment, tracebacks on a missing instruction.md) and that the first runnability check is the docker-oracle run in step 2. I checked the listing behaviour on scratch task dirs.
Signed-off-by: Anton Volkov <antonwolfy@gmail.com>
Signed-off-by: Anton Volkov <antonwolfy@gmail.com>
antonwolfy
left a comment
There was a problem hiding this comment.
I pushed a commit per nit, up to 4a0f048, which fix the two nits from my review:
e2aae98:dokimi/data/skills/dokimi-design-evals/references/verifier-self-test.md:92: added--strictso an inconclusive PASS exits 1.4a0f048:dokimi/tests/test_bundled_skills.py:24:LINKnow accepts an optional title and angle brackets (including spaces inside them), and the dangling-link test covers a titled and an angle-bracket link.
make ci-local at 4a0f048: 25 passed, 1 failed, 6 skipped.
Not approving yet. Still open: the two risks from my review.
|
Second bundled skill under |
…kimi-design-evals skill under data/ tasks list never prints an error row and lists a task with only task.toml and instruction.md, so the first runnability check is the docker-oracle run. AGENTS.md and data/README.md now cover the second bundled skill. Signed-off-by: Nikolay Petrov <nikolay.a.petrov@intel.com>
|
Owner decision: |
Part of #121, J7 #97.
Summary
Draft of the
dokimi-design-evalsskill (item 6 of #121), built only on commands that exist on main today.Steps the skill marks as manual, because no command exists yet:
solve.sh, or--manifest-filefor repo tasks) and expect the self-test to faildocker runfrom contributing-terminal-bench-task §8;repo tasks checkcovers it only for repo tasksrepo tasks checkalways requires the null to fail; such a task needs a manual null checkpython -m dokimi.coverageis a product x awareness/work countdraft -> reviewed -> holdoutstatus, scenario sourcetask.toml [metadata]/ extratask.jsonkeyssteps; dokimi does not validate per-step dirsEvidence
--helpchecked for every command the skill names:repo inspect,repo validate --manifest --fail-on-warning,repo tasks check --manifest --task --manifest-file,tasks list --tasks-root,tasks run --tasks-root --tasks --harnesses docker-oracle|docker-probe --out-json,tasks harnesses,eval judge-validity --answers --sequential,python -m dokimi.coverage --tasks-root.pytest tests/test_bundled_skills.py tests/test_docs_code_refs.py tests/test_agent_profiles.py tests/test_audit_test_quality.py: 186 passed. The docs-ref check caught one false path (tests/test_outputs.pyin the example) before commit.make ci-local: 25 pass, 6 skip, 1 fail:pip-auditonvirtualenv 21.14.7(CVE-2026-113722, fix 21.14.9), already in the lock on main and not touched here. Full test run 6728 passed.Merge danger
skill-catalog:data/skillsarms now see two skills instead of one; a catalog run from this tree is not comparable with an earlier one.data/skills/**/*.mdfails future skill edits that name a renamed command, by design.gate,validate) before they land, so the skill can switch to those commands.🤖 Generated with Claude Code