diff --git a/Cargo.lock b/Cargo.lock index bce6b68b..1d56fc1c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -917,7 +917,7 @@ checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe" [[package]] name = "openresearch-cli" -version = "0.1.43" +version = "0.1.44" dependencies = [ "anyhow", "axum", diff --git a/Cargo.toml b/Cargo.toml index 2f4c8ac6..6abb3d5f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "openresearch-cli" -version = "0.1.43" +version = "0.1.44" edition = "2021" description = "OpenResearch CLI (orx) — Rust port" repository = "https://github.com/alphaXiv/openresearch-cli" diff --git a/src/local/skills.rs b/src/local/skills.rs index 3b9488a4..bd69c62b 100644 --- a/src/local/skills.rs +++ b/src/local/skills.rs @@ -53,6 +53,23 @@ Using the CLI: - For anything destructive (deleting repos/files, overwriting), confirm with the user first. "#; +const ICML_REPRO_TEMPLATE: &str = r#"Reproduce an ICML 2026 paper for the agent reproduction challenge and publish a Trackio logbook. + +Paper: {args} + +Setup — verify before anything else: +1. `hf version` — if missing, install with `curl -LsSf https://hf.co/cli/install.sh | sh` (or `pip install -U "huggingface_hub[cli]"`), then re-check. +2. `hf auth whoami` — HF_TOKEN is usually already in the environment (synced from the orx up settings). If unauthenticated, ask the user to add their token in the orx up settings (Hugging Face section) or run `hf auth login`. Note the username — the logbook publishes under it. +3. `trackio --version` — if missing, `pip install --upgrade trackio`. + +Workflow: +1. Fetch the challenge guide and follow it — it is the authoritative rulebook (metadata tags, claim verdicts, judging criteria): + `curl -sL https://huggingface.co/datasets/ICML-2026-agent-repro/challenge/resolve/main/README.md` +2. Open a logbook for the paper: `trackio logbook open --title "Repro: "`. For logbook command details, run `trackio logbook --help` — do not guess flags. +3. Reproduce the paper claim by claim on the Hugging Face harness (`hf jobs`), one logbook page per claim. Simplified setups and toy-scale runs are allowed per the guide; record honest verdicts and compute costs. +4. Publish: `trackio logbook publish /` (the OpenReview ID from the paper reference above; after later edits, `trackio logbook sync`). +"#; + pub const CATALOG: &[Skill] = &[ Skill { name: "lit-review", @@ -68,6 +85,13 @@ pub const CATALOG: &[Skill] = &[ template: HF_TEMPLATE, no_args: "(none given — ask the user what they want to do on the Hugging Face Hub)", }, + Skill { + name: "icml-repro", + description: "Reproduce an ICML 2026 paper and publish a Trackio logbook", + arg_hint: " (OpenReview )", + template: ICML_REPRO_TEMPLATE, + no_args: "(none given — ask the user which ICML 2026 paper to reproduce: title plus OpenReview ID)", + }, ]; /// Expand a leading `/name [args]` into the skill's full prompt. `None` when @@ -109,6 +133,14 @@ mod tests { assert!(bare.contains("ask the user")); } + #[test] + fn expands_icml_repro_skill() { + let out = expand("/icml-repro Maximum Likelihood RL (OpenReview EeuLO2BjFN)").unwrap(); + assert!(out.contains("Paper: Maximum Likelihood RL (OpenReview EeuLO2BjFN)")); + assert!(out.contains("trackio logbook publish")); + assert!(expand("/icml-repro").unwrap().contains("ask the user")); + } + #[test] fn passes_through_unknown_or_plain_text() { assert!(expand("/unknown thing").is_none()); diff --git a/ui/dist/index.html b/ui/dist/index.html index 87e68700..924adf2c 100644 --- a/ui/dist/index.html +++ b/ui/dist/index.html @@ -3,7 +3,7 @@ - orx — OpenResearch + OpenResearch