Repository navigation
Conversation
A probe registry (dokimi.task_formats) names the format of a file, a task directory or a tree, and reports kind, item count, present/missing parts, lint problems and which dokimi backends consume it today. Probes: harbor and task-md (wrapping harnesses.tasks), terminal-bench v1, SWE-bench, Inspect AI samples and @task files (text scan, never imported), OpenAI evals, skill-creator evals.json and trigger sets, skill-reach QuerySet, promptfoo and dokimi questions. Unknown paths get a best-effort structure report; malformed files are lint problems. Detection only: nothing new runs. Signed-off-by: Nikolay Petrov <nikolay.a.petrov@intel.com>
`tasks inspect --json` now prints a stamped task_inspect.v1 artifact and `--out FILE` writes it through save_artifact, as `repo budget` does. Probes added or widened from runs over upstream checkouts: - a dataset file a config names is read as that config says: Inspect FieldSpec remaps, OpenAI evals registry specs (openai-evals-spec, with model-graded samples needing no ideal), promptfoo `tests: file://` (promptfoo-tests); - git-LFS pointer stubs are git-lfs-pointer, with the expected format when a config names them; - CSV datasets, promptfooconfig.<variant>.yaml and redteam configs, ExploreBench task YAML (dokimi-explore-task, localization); - a task.md with no BenchFlow front matter and no task part directories is no longer a task-md task. YAML aliases are reported as refused, not as invalid YAML. Signed-off-by: Nikolay Petrov <nikolay.a.petrov@intel.com>
tests/fixtures/task_formats/ holds small upstream files of every format the probes know (intel/skills, skillsbench, terminal-bench, Inspect AI, openai/evals, promptfoo; licenses in LICENSES/) and generated ones where no public file exists (SWE-bench row, skill-creator evals.json, skill-reach QuerySet, and the output of dokimi's trigger-set writers). MANIFEST.yaml records each file's source, commit and license and what inspect must report; test_task_format_corpus.py inspects the corpus as one mixed tree, validates every --json report as task_inspect.v1, and reads back what to_skill_creator, to_reach and to_questions write. The fixture tree is kept out of pytest collection, ruff and the license header check: its test_*.py are the verifiers of copied tasks. Fixes found on the way: a task.md scan leaked the loader's UserWarning from the fingerprint, and a path that is neither file nor directory (/dev/null) crashed the tree scan. Signed-off-by: Nikolay Petrov <nikolay.a.petrov@intel.com>
CLI interface change detectedThis PR changes dokimi's user-facing CLI surface (commands and/or options): + added command `dokimi tasks inspect`
+ argument `path`
+ option `--help/-h`
+ option `--json`
+ option `--out`
~ `dokimi tasks run` parameters changed:
+ added option `--network`
+ added option `--swe-bench`Updated on every push; the |
|
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #213 +/- ##
==========================================
- Coverage 92.01% 91.99% -0.03%
==========================================
Files 223 235 +12
Lines 27768 29130 +1362
Branches 4563 4781 +218
==========================================
+ Hits 25552 26798 +1246
- Misses 1570 1642 +72
- Partials 646 690 +44
🚀 New features to boost your workflow:
|
…efault build, solve and verify each get none, allowlist (egress sidecar) or public. Defaults: build public, solve and verify none. Sources, later wins: the defaults, task.toml ([environment]/[agent]/[verifier] network_mode and allowed_hosts, Harbor's allow_internet, environment.egress), then dokimi tasks run --network PHASE=MODE[:hosts]. The plan and each phase's source land in metrics.network; a skill's SKILL.md metadata.network is recorded, not granted. Signed-off-by: Nikolay Petrov <nikolay.a.petrov@intel.com>
napetrov
force-pushed
the
feat/run-swebench
branch
2 times, most recently
from
October 24, 2026 18:31
6675b0f to
313ed32
Compare
…ed cells too Signed-off-by: Nikolay Petrov <nikolay.a.petrov@intel.com>
…swe-bench) Stage a SWE-bench row as a TaskSpec (format swe-bench) on its prebuilt instance image, with the upstream eval script and a stdlib grader that follows SWE-bench's parsers and resolution rule. The repo/version test table is generated from swebench==4.1.0; dokimi does not import it. Signed-off-by: Nikolay Petrov <nikolay.a.petrov@intel.com>
…r check skips .json) Signed-off-by: Nikolay Petrov <nikolay.a.petrov@intel.com>
…-bad rows requests-863/-2317 fetch httpbin.org live; the other six are the Harbor SWE-bench adapter's oracle failures (harbor 6099b8c README, Known Issues). Signed-off-by: Nikolay Petrov <nikolay.a.petrov@intel.com>
Contributor
Author
|
Rebased on #218 (network policy). Changes in 313ed32:
🤖 Generated with Claude Code |
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Stacked on #210 (review only the top commit). Runs SWE-bench rows through dokimi's own
TaskSpecand the localdocker-*harnesses; Harbor stays an export target only.dokimi/harnesses/swebench.py: the loader. It uses prebuilt instance images, or a row's ownimage_name/docker_image, so SWE-smith/rebench rows carry their own image.dokimi/harnesses/swebench_grade.py: a stdlib port of the SWE-bench log parsers and the RESOLVED_FULL rule (MIT attribution).swebench_specs.json: generated fromswebench==4.1.0byscripts/gen_swebench_specs.py. dokimi does not depend onswebench.tasks inspectnow namesdocker-*as the consumer when every repo in the file has a spec.Evidence
Oracle (docker-oracle; gold should score 1, an empty patch 0):
DOKIMI_SWEBENCH_DOCKER=1.Merge Danger
--swe-benchflag and new modules, plus small edits totasks.py,datasets.py, the docs and package-data.network_mode=public, and the harness forwards the host proxy into the verifier, so tests that use the network can change outcome.dokimi-run-<task>-<pid>collides when one task runs twice in parallel in one process.tasks inspect#210.🤖 Generated with Claude Code