{"data":{"kind":"file","path":"README.md","version_id":"x1wi6ixc14y2fpepmtp5edr8","entry":{"name":"README.md","path":"README.md","is_directory":false,"size":2282,"modified_at":"2026-02-09T20:52:31.772000","content_hash":"fafc950c7327aea9de27a536e9cbb25b93a0c5bf97bd7df8e9f708d0424ee61f"},"entries":[],"content":"# opencode-harbor\n\n### Overview\n- **Environment ID**: `opencode-harbor`\n- **Short description**: Environment for running an agent with OpenCode on Harbor tasks\n- **Tags**: opencode, cli_agent, harbor\n\n### Datasets\n- **Primary dataset(s)**: Harbor tasks (hello-world included)\n- **Source links**: <https://github.com/laude-institute/harbor>\n- **Split sizes**: 1 example task included\n\n### Task\n- **Type**: multiturn, cli_agent\n- **Rubric overview**: Binary, returned by running task tests\n\n### Quickstart\nRun an evaluation with default settings:\n\n```bash\nprime eval run opencode-harbor\n```\n\nConfigure model and sampling:\n\n```bash\nprime eval run opencode-harbor   -m gpt-4.1-mini   -n 20 -r 3 -t 1024 -T 0.7   -a '{\"key\": \"value\"}'  # env-specific args as JSON\n```\n\nNotes:\n- Use `-a` / `--env-args` to pass environment-specific configuration as a JSON object.\n\n### Environment Arguments\nDocument any supported environment arguments and their meaning. Example:\n\n| Arg | Type | Default | Description |\n| --- | ---- | ------- | ----------- |\n| `max_examples` | int | `-1` | Limit on dataset size (use -1 for all) |\n\n### Metrics\nSummarize key metrics your rubric emits and how they’re interpreted.\n\n| Metric | Meaning |\n| ------ | ------- |\n| `reward` | Main scalar reward (weighted sum of criteria) |\n\n\n## How It Works\n\n1. Creates a Prime sandbox for each Harbor task\n2. Installs OpenCode CLI in the sandbox via curl\n3. Configures OpenCode with an `openai-compatible` provider pointing to the intercepted base URL\n4. Runs OpenCode autonomously on the task instruction\n5. Intercepts all API requests through Prime Tunnel\n6. Computes reward by running Harbor test scripts\n\n## Requirements\n\n- Harbor tasks directory with `task.toml` and `instruction.md` files\n- Docker images specified in task configs\n\n\n## Reward\n\nUses Harbor's standard reward mechanism:\n\n- Runs `tests/test.sh` after agent completion\n- Reads reward from `/logs/verifier/reward.txt` or `/logs/verifier/reward.json`\n- Returns float reward value (typically 0 or 1)\n\n## Notes\n\n- OpenCode is installed at runtime (adds ~10-20s to startup)\n- The agent writes `/tmp/vf_complete` when finished\n- Agent logs are saved to `/logs/agent/opencode.txt` in the sandbox\n- Uses `@ai-sdk/openai-compatible` provider for API interception\n","encoding":"utf-8","truncated":false,"total_bytes":2282},"status":null}