{"data":{"kind":"file","path":"README.md","version_id":"gcnqhn5qt0vl54m5b2vy86h0","entry":{"name":"README.md","path":"README.md","is_directory":false,"size":1389,"modified_at":"2025-11-30T04:17:05.784000","content_hash":"7e2be2b8fcf3d7a86304d4e6f8d7748bc695192287f63d3c34362a98e5e681aa"},"entries":[],"content":"# VPCT Bucket Environment\n\nPrime verifiers environment for predicting the final bucket in VPCT scenes. It consumes JSONL rows with a `messages` list (user prompt containing the scene JSON) and `metadata.final_bucket` for the ground truth, then scores model outputs that contain `answer(1|2|3)`.\n\n## Files\n- `pyproject.toml` — package metadata/deps for Prime env packaging.\n- `vpct.py` — environment implementation exposing `load_environment`.\n\n## Data format\nEach JSONL row should look like:\n```json\n{\n  \"messages\": [\n    {\"role\": \"user\", \"content\": \"<scene JSON here>\"}\n  ],\n  \"metadata\": {\"final_bucket\": 2}\n}\n```\nIf `metadata.final_bucket` is missing, the env falls back to parsing `answer(X)` from the assistant message (if present).\nThe environment redacts `finalBucket` fields and any `answer(X)` strings from the user prompt before sending to the model to avoid label leakage.\n\n## Install & test locally\n```bash\nuv pip install -e .\nuv run vf-eval vpct --data-path /path/to/data.jsonl --max-examples 8\n```\n`vf-eval` expects OpenAI-style chat messages; only the first user message is forwarded to the model.\nDefault `data_path` is `data/test/vpct_test.jsonl` if present.\n\n## Push to Prime\n```bash\nprime env push --auto-bump\n```\nUse `--team <teamname>` or `--visibility=PRIVATE` as needed. Increase `version` in `pyproject.toml` (or rely on `--auto-bump`) when publishing updates.\n","encoding":"utf-8","truncated":false,"total_bytes":1389},"status":null}