{"owner":"ray-project","repo":"ray","hasSkills":true,"hasMcp":false,"mcpConfig":null,"found":["AGENTS.md"],"files":{"AGENTS.md":"# Agent Instructions for Ray\n\n> These instructions apply to **all** AI-assisted contributions to `ray-project/ray`.\n> PRs that ignore this policy may be closed without review.\n\nRay is a high-traffic repository. Every PR notifies CODEOWNERS, triggers CI, and\nconsumes maintainer attention. Automated, low-value, or duplicate contributions\ncreate real cost for the people who maintain the project. Follow the rules below\nbefore opening any PR with AI assistance.\n\n## 1. Contribution Policy (Mandatory)\n\n### Duplicate-work checks\n\nBefore proposing a PR, confirm the work is not already in flight:\n\n```bash\n# If you are addressing an existing issue:\ngh issue view <issue_number> --repo ray-project/ray --comments\ngh pr list --repo ray-project/ray --state open --search \"<issue_number> in:body\"\n\n# Search open PRs for the same area before starting:\ngh pr list --repo ray-project/ray --state open --search \"<short area keywords>\"\n```\n\n- If an open PR already addresses the same change, do not open another. Comment\n  on the existing PR instead.\n- If your approach is materially different, explain the difference in the issue\n  or the existing PR thread before opening a competing PR.\n\n### No low-value busywork PRs\n\nDo not open one-off PRs for trivial edits (a single typo, an isolated style\ntweak, one mutable default, a lone type annotation, etc.). Mechanical cleanups\nare acceptable only when bundled with substantive work, or when coordinated with\nmaintainers first. Mass-generated \"cleanup\" PRs are not welcome.\n\n### Accountability\n\n- Pure code-agent PRs are **not allowed**. A human submitter must understand and\n  defend the change end-to-end.\n- The submitting human must review every changed line and run the relevant tests\n  locally before requesting review.\n- PR descriptions for AI-assisted work **must** state:\n    - Why this is not duplicating an existing issue or PR.\n    - The test commands run and their results.\n    - That AI assistance was used.\n\n### Fail-closed behavior\n\nIf the requested work is a duplicate, trivial busywork, or cannot be tested and\ndefended by a human, **do not open a PR**. Return a short explanation of what is\nmissing instead.\n\n## 2. Development Workflow\n\nRay is a unified framework for scaling AI and Python applications. Its source is\nlaid out as:\n\n- `src/ray/`: C++ core runtime\n- `python/ray/`: Python API and libraries (data, serve, train, tune)\n- `rllib/`: RLlib (symlinked from `python/ray/rllib`)\n- `doc/source/`: Sphinx documentation\n\nThe default test timeout is 180s (`pytest.ini`). For build, test, lint, and\ncode-style details, follow Ray's existing guides rather than duplicating them\nhere:\n\n- Setting up a dev environment and code style:\n  [`doc/source/ray-contribute/getting-involved.md`](doc/source/ray-contribute/getting-involved.md)\n- Building Ray:\n  [`doc/source/ray-contribute/development.md`](doc/source/ray-contribute/development.md)\n- General contribution process: [`CONTRIBUTING.rst`](CONTRIBUTING.rst)\n\n### Required for every commit\n\n- **DCO sign-off.** All commits require a Developer Certificate of Origin\n  sign-off. Always commit with `-s`:\n\n  ```bash\n  git commit -s -m \"Your commit message\"\n  ```\n\n- **Pre-commit hooks.** Install pre-commit. With `pre-commit install`, the hooks\n  run automatically on staged files at commit time:\n\n  ```bash\n  pip install -U pre-commit==3.5.0 && pre-commit install\n  pre-commit run\n  ```\n\n- **Python environments.** Use a virtual environment for all Python work. Never\n  install into system Python.\n\n## 3. Editing these instructions\n\nChanges to this file affect every AI-assisted contribution to Ray. Open a\ndedicated PR for any change to `AGENTS.md`, explain the motivation, and tag the\nmaintainers who own contribution policy for review.\n"}}