Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 0 additions & 37 deletions .tasks/backlog/2026-02-17-add-ai-policy.md

This file was deleted.

57 changes: 57 additions & 0 deletions .tasks/done/2026-02-17-add-ai-policy.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
---
title: Add AI policy to the project
status: done
created: 2026-02-17
updated: 2026-02-18
---

## Objective

Add an AI policy to the project covering how AI tools are used in
development, contribution guidelines for AI-assisted work, and
transparency about AI-generated code.

## Tasks

- [x] Decide on policy scope (development only, or also covering the
product itself)
- [x] Draft AI policy document
- [x] Add to osapi repo (e.g., `AI_POLICY.md` or section in
CONTRIBUTING)
- [ ] Add to Docusaurus docs site
- [x] Add to all other osapi-io repos (nats-client, nats-server,
osapi-io-justfiles) — excluded osapi-io-taskfiles per user request
- [ ] Update PR template to include AI disclosure if applicable
- [ ] Consider adding to LICENSE or NOTICE file if needed

## Notes

- Project already uses Claude Code for development (commits tagged with
`Co-Authored-By: Claude`)
- Policy should cover: acceptable use of AI in contributions, disclosure
requirements, review expectations for AI-generated code, IP/licensing
considerations
- Use Ghostty's AI policy as the basis:
https://github.com/ghostty-org/ghostty/blob/main/AI_POLICY.md
- Must be applied consistently across all repos in the osapi-io
organization, not just the main osapi repo

## Outcome

Created `AI_POLICY.md` adapted from Ghostty's policy for osapi-io.
Deployed identical copies to 4 repos:

- `osapi/AI_POLICY.md`
- `nats-client/AI_POLICY.md`
- `nats-server/AI_POLICY.md`
- `osapi-io-justfiles/AI_POLICY.md`

Key adaptations from Ghostty's original:
- References osapi-io project name instead of Ghostty
- Mentions existing `Co-Authored-By` commit trailer convention
- Replaced "public denouncement list" with simpler "blocked" language
- Kept same structure: disclosure, understanding, human review, no AI
media, bad drivers blocked, maintainer exemption

Remaining items (Docusaurus docs, PR template, LICENSE) left as future
backlog if desired.
65 changes: 65 additions & 0 deletions AI_POLICY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
# AI Usage Policy

The OSAPI project has strict rules for AI usage:

- **All AI usage in any form must be disclosed.** You must state
the tool you used (e.g. Claude Code, Cursor, Amp) along with
the extent that the work was AI-assisted.

- **The human-in-the-loop must fully understand all code.** If you
can't explain what your changes do and how they interact with the
greater system without the aid of AI tools, do not contribute
to this project.

- **Issues and discussions can use AI assistance but must have a full
human-in-the-loop.** This means that any content generated with AI
must have been reviewed _and edited_ by a human before submission.
AI is very good at being overly verbose and including noise that
distracts from the main point. Humans must do their research and
trim this down.

- **No AI-generated media is allowed (art, images, videos, audio, etc.).**
Text and code are the only acceptable AI-generated content, per the
other rules in this policy.

- **Bad AI drivers will be denounced** People who produce bad contributions
that are clearly AI (slop) will be added to our public denouncement list.
This list will block all future contributions. Additionally, the list
is public and may be used by other projects to be aware of bad actors.
We love to help junior developers learn and grow, but
if you're interested in that then don't use AI, and we'll help you.
I'm sorry that bad AI drivers have ruined this for you.

These rules apply only to outside contributions to OSAPI. Maintainers
are exempt from these rules and may use AI tools at their discretion;
they've proven themselves trustworthy to apply good judgment.

## There are Humans Here

Please remember that OSAPI is maintained by humans.

Every discussion, issue, and pull request is read and reviewed by
humans (and sometimes machines, too). It is a boundary point at which
people interact with each other and the work done. It is rude and
disrespectful to approach this boundary with low-effort, unqualified
work, since it puts the burden of validation on the maintainer.

In a perfect world, AI would produce high-quality, accurate work
every time. But today, that reality depends on the driver of the AI.
And today, most drivers of AI are just not good enough. So, until either
the people get better, the AI gets better, or both, we have to have
strict rules to protect maintainers.

## AI is Welcome Here

OSAPI is written with plenty of AI assistance, and many maintainers
embrace AI tools as a productive tool in their workflow. As a project,
we welcome AI as a tool!

**Our reason for the strict AI policy is not due to an anti-AI stance**,
but instead due to the number of highly unqualified people using AI.
It's the people, not the tools, that are the problem.

I include this section to be transparent about the project's usage about
AI for people who may disagree with it, and to address the misconception
that this policy is anti-AI in nature.
Loading