| # Code of AI Conduct | |
| This project accepts AI-assisted contributions, but contributors remain fully | |
| responsible for the changes they submit. | |
| ## Requirements | |
| - Use AI as a tool, not as an authority. Verify behavior, correctness, and | |
| compatibility yourself before submitting changes. | |
| - Any large changes to library code (~>100 lines) must be fully reviewed by | |
| two humans: the producer and a second reviewer. | |
| - Keep changes narrow. Do not use AI to generate broad rewrites, drive-by | |
| refactors, or style-only churn. | |
| - Preserve HarfBuzz's public API and ABI unless a change explicitly calls for | |
| it. | |
| - Follow the repository guidance in [`AGENTS.md`](AGENTS.md), | |
| [`README.md`](README.md), [`BUILD.md`](BUILD.md), [`TESTING.md`](TESTING.md), | |
| and related local documentation. | |
| - Do not submit generated code, text, or tests that you do not understand. | |
| - Do not fabricate benchmarks, bug reports, test results, or reproduction | |
| steps. | |
| - Do not paste private code, non-public fonts, credentials, tokens, or other | |
| confidential material into external AI systems. | |
| - Respect licensing and attribution requirements. Do not submit AI-generated | |
| content that may have unclear provenance or incompatible licensing. | |
| ## Attribution | |
| - When AI tools contributed meaningfully to a change, add an `Assisted-by:` | |
| trailer to the commit message (e.g. `Assisted-by: Claude`). Routine use of | |
| autocompletion or spelling correction does not require attribution. | |
| ## Pull requests | |
| - Describe what was verified locally, including the exact build or test commands | |
| you ran. | |
| - Call out uncertainty, skipped validation, or areas that need extra review. | |
| - Be prepared to revise or discard AI-generated changes that do not meet the | |
| project's standards. | |
| ## Maintainer expectations | |
| - Review AI-assisted contributions by the same technical standards as any other | |
| contribution. | |
| - Prefer reproducible fixes, focused diffs, and adequate tests over volume. | |
| - Reject changes that appear to be unreviewed AI output, including changes that | |
| add unnecessary complexity, invent behavior, or ignore repository guidance. | |
| In short: if AI helped produce a change, a human contributor must still own the | |
| result end to end. |