Spaces:
Running
Running
Commit History
-
Recognise registry.json as a positive Harbor-dataset signalβ Running
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 -
More evident borders + sharper light-mode textβ
- Bump --border + --border-strong in both themes so the workspace columns read as distinct panels, not one bleed. - Use --border-strong explicitly for the 3-pane workspace outer + column dividers (tasks-panel | tree | content). - Light: muted #5b6270 β #3f4655 (darker), border #e5e7eb β #d3d8e0 so file tree and breadcrumb text isn't washed out. - Dark: muted/faint bumped a notch for legibility; hover #1f2433 β #232938.119621d -
Fix run command (hf, not huggingface-cli) + brighter dark modeβ
The user's terminal showed 'huggingface-cli: command not found' on a fresh machine. huggingface-cli was deprecated and replaced by 'hf' in huggingface_hub 1.x. Updated the run-this-task bubble to use: hf download <id> --repo-type dataset --local-dir <dir> && harbor run ... Tested end-to-end with the actual dataset (AdithyaSK/dabstep-harbor, task 12): hf download pulled the full Harbor layout (task.toml/environment/solution/tests). Dark mode: brighter palette + more visible borders, accents, section headers. Pop the HF accent and lift the muted/faint text so titles like 'TASKS 450' and file-tree headers read clearly instead of disappearing into the bg.e5d80d4
-
Unify dataset+task into one master-detail workspace; UI polishβ
- Merge the dataset task-list view and the task detail view into a single workspace: tasks side-panel (master) + tree/content (detail), in-place task switching, empty "select a task" state when none chosen - Home: curated example bubbles (HF + GitHub) instead of the live table; no longer leads with a specific dataset - Datasets tab: example quick-pick chips above the searchable Hub list - Minimal thin scrollbars; terminal-styled run command; wider layout (1500px) - Remove the top accent strip; deep-link/badge use the real $SPACE_HOST Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>78d005c -
Drop harbor from requirements to fix the Docker buildβ
harbor>=0.6.0 requires Python >=3.12 but the image is python:3.11-slim, and it's only used as a CLI for harbor:// URIs (shelled out, not imported). The core HF/GitHub/local viewer needs none of it. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>110bf99 -
Fix Space colorTo to a valid value (red)β
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>88369c2 -
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
-
v0.3: fix Gradio 6 Radio tuple order + indented file-tree with folder rowsβ
Two bugs visible in v0.2 screenshots: 1. ERROR popup ("Value: '__overview__'") + "no <file> in this task" appearing even when the file is in the tree. Root cause: Gradio 6 expects Radio choices as `(label, value)` tuples; I had `(value, label)`. So the radio was returning labels back as the "value" (e.g. "π environment/\n ββ Dockerfile" instead of "environment/Dockerfile"), no dispatch branch matched, and the content lookup returned None. 2. File tree displayed as a flat list with no indentation. Wanted proper file-explorer feel with folder hierarchy. Fixes: - Flip all Radio choice tuples to `(label, value)` order - New `_build_file_tree(task)` produces folder pseudo-rows ("π solution/") plus indented children (" ββ patch.diff", " ββ solve.sh") with unicode tree glyphs - Folder pseudo-rows route to their first present child via a state-stored redirect map β click "π solution/" β opens patch.diff, radio selection updates to show which file was actβ¦e265a14 -
v0.2: scrollable task list + file-tree explorer (replaces tabs)β
User-driven UX improvements after seeing 731-task swebenchpro load: - Tasks list now scrolls (max-height 65vh) instead of stretching off-page. - Long task IDs render in mono font, truncated with ellipsis to prevent ugly wrap. - New search box above the task list β case-insensitive substring filter, shows "N / total" count when filtered. - File-explorer pattern: tabs replaced by a 3-column layout [ Tasks scroll list ] [ File tree radio ] [ Content viewer ] The file tree only shows files that actually exist on the selected task (some tasks ship without solve.sh, etc.). - Virtual "β Overview" entry at top of the file tree renders the metadata table (replaces the Overview tab). - Content panel is dynamic: Markdown for .md files + Overview, Code for everything else, visibility toggled. - File-tree labels use unicode glyphs (π π ββ) for a folder-like feel.e3c4a23 -
drop GitHub references; Space is the single source of truth
8ae19ba -
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