Spaces:
Sleeping
Sleeping
Commit History
-
Recognise registry.json as a positive Harbor-dataset signal
Per Harbor docs (harborframework.com/docs/datasets), a registry.json at the dataset root registers it with the Harbor CLI (--registry-path). It's NOT required — Terminal-Bench, DABstep, TitanBench all ship without one — but when present it's a definitive Harbor-dataset signal. - list_hf_tasks now treats registry.json at root as a positive marker that skips the task.toml subdir sampling (cheaper, more correct). - Empty-state message lists all three recognised markers: registry.json, tasks/ (nested), or top-level dirs with task.toml (flat). - Verified: Repo2RLEnv (registry+nested) 127, DABstep (flat) 450, Terminal-Bench (flat) 89, TitanBench (nested) 2, TaskTrove (not Harbor) 0.e587765 -
Don't list non-Harbor datasets as if they were task spec
The TaskTrove chip surfaced 'no task' errors because its top-level dirs hold tasks.parquet bundles, not Harbor task.toml specs. list_hf_tasks' flat-layout fallback was listing every top-level folder regardless of whether it actually contained a task.toml. - Verify the layout by sampling the first ~3 candidate dirs for a task.toml; if none qualify, return [] instead of listing random folders. - Swap TaskTrove (parquet-based, not a Harbor task-spec dataset) for AdithyaSK/dabstep-harbor (450 verified tasks) in the example chips. - When a dataset has zero tasks, show a clear 'not a Harbor task-spec format' message in the detail pane instead of a generic 'select a task'.ff3a8e7
-
Port Harbor Visualiser from Gradio to FastAPI + Hugging Face theme
- FastAPI backend (Docker Space) replacing the Gradio app - Hugging Face themed SPA: dark slate + yellow/orange, 🤗 logo - Browse Harbor-tagged HF datasets live (other=harbor), no stale cache - Large datasets list via shallow Hub tree listing; per-task lazy fetch (2k-task datasets list in ~2s instead of bulk-downloading the repo) - Task master-detail view: collapsible task side-panel, in-place switching - Per-task copy-able `harbor run` command - Deep-link + dataset-card badge; real Space URL via $SPACE_HOST Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>a301de7
-
v0.4: surface ALL task files, not just an allowlist
The previous version hardcoded six file IDs in HarborTask / _read_task_file / _build_file_tree (task.toml, instruction.md, solution/patch.diff, solution/solve.sh, tests/test.sh, environment/Dockerfile). Anything else in a task dir (e.g. tests/grader.py, environment/pull_bucket.py, helper modules) was downloaded by snapshot_download but never shown in the UI. Generalized: - HarborTask gains a 'files: dict[str, str]' field — every readable text file under the task dir, keyed by POSIX-style relative path. - parse.py: new _discover_task_files() walks task_dir.rglob('*'), skips binaries (UTF-8 decode failures), hidden noise (.DS_Store, .git, __pycache__, .cache, node_modules, .venv, *_cache), and oversized files (>512 KiB). Convenience fields (instruction_md, oracle_patch, …) kept populated from the same dict for backwards compat with anything that reaches in by name. - app.py: _read_task_file becomes a dict lookup with the two special cases preserved (task.toml uses task_to…3949fb1
-
Initial: Harbor Visualiser — Gradio Space for browsing Harbor task spec datasets
Accepts: owner/name → HF Hub hf://owner/name[@rev] → HF Hub (explicit) gh://owner/repo[@ref] → GitHub https://github.com/owner/repo[.git] → GitHub (full URL) harbor://name | harbor://org/name[@tag] → Harbor registry (via harbor CLI) /local/abs/path → local directory Per task tabs: Overview · Instruction · Patch · test.sh · Dockerfile · solve.sh · Raw task.toml. Recognizes Repo2RLEnv's `[metadata.repo2env]` extension and renders it as a separate metadata table when present. URL prefill via `?dataset=<uri>` (also `?d=...`) reads on page load. Live-tested against all four sources before initial push.f718aea