Skip to content

docs: add ai policy#821

Merged
steveiliop56 merged 5 commits intomainfrom
docs/ai-policy
Apr 27, 2026
Merged

docs: add ai policy#821
steveiliop56 merged 5 commits intomainfrom
docs/ai-policy

Conversation

@steveiliop56
Copy link
Copy Markdown
Member

@steveiliop56 steveiliop56 commented Apr 27, 2026

Summary by CodeRabbit

  • Documentation
    • Added an AI policy defining approved AI roles for PR review assistance, docs/issues help, and limited inline suggestions.
    • Requires clear labeling of AI-generated content, human oversight, and that authors understand and can explain any generated output.
    • Limits AI contributions to text only and warns that large or primarily AI-generated PRs may be rejected.
    • Reaffirms the project is developed and reviewed by humans with AI used only as assistance.

@dosubot dosubot Bot added the size:S This PR changes 10-29 lines, ignoring generated files. label Apr 27, 2026
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Apr 27, 2026

Warning

Rate limit exceeded

@steveiliop56 has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 0 minutes and 30 seconds before requesting another review.

To keep reviews running without waiting, you can enable usage-based add-on for your organization. This allows additional reviews beyond the hourly cap. Account admins can enable it under billing.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 2be9d74b-e0e0-454a-9b51-2768ff19c0a9

📥 Commits

Reviewing files that changed from the base of the PR and between 0a67378 and 37f927a.

📒 Files selected for processing (3)
  • AI_POLICY.md
  • CONTRIBUTING.md
  • SECURITY.md
📝 Walkthrough

Walkthrough

Adds AI_POLICY.md, a new project document that defines permitted AI roles, requires disclosure and human verification of AI-generated content, forbids unattended automated LLM generation, restricts AI outputs to text-only, and notes AI-containing PRs are not guaranteed acceptance or prioritization.

Changes

Cohort / File(s) Summary
AI Policy Documentation
AI_POLICY.md
Adds a new policy formalizing permitted AI uses (PR review support, documentation/issues assistance, limited inline suggestions), mandatory labeling and human understanding of AI-generated content, prohibition of unattended automated LLM generation, restriction to text-only outputs, and statement that AI-containing PRs may not be accepted or prioritized.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

Poem

🐇 I hopped through lines of policy bright,

"Label your words, keep judgment right."
I nudge with care, then step away,
Humans decide the final say.
Tiny paws, a guiding light.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'docs: add ai policy' is fully related to the changeset, which introduces a new AI_POLICY.md documentation file. It clearly and concisely summarizes the main change.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/ai-policy

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@AI_POLICY.md`:
- Around line 13-15: Update AI_POLICY.md to improve wording and fix typos:
change "whether or not" to "whether" in the sentence beginning "LLM pull
requests are not guaranteed to be accepted or prioritized", add the missing
hyphen to "Large LLM generated pull requests will be rejected" (make it "Large
LLM-generated pull requests"), and correct the typo "intelisense" to
"IntelliSense" (or "intelliSense" if lowercase style is preferred) wherever it
appears; ensure the three edits preserve original meaning and punctuation for
readability.
- Line 11: The policy sentence asserting legal/ownership conclusions is too
absolute; update the line "**No LLM-generated content other than text is
allowed**: The only type of content that can be generated by an LLM and used in
Tinyauth is text/code. Any other type of content generated by an LLM cannot be
used with the license and thus does not have clear ownership." to a
project-scoped rule that avoids legal assertions—rephrase to state the project's
allowed LLM outputs (e.g., restrict to text/code) and explain this is a project
policy or compatibility concern rather than a blanket legal ownership claim,
removing phrases like "cannot be used with the license" and "does not have clear
ownership" and replacing them with neutral language such as "is not permitted by
this project's policy" or "may not be compatible with this project's licensing
requirements."
- Line 23: The sentence that currently allows contributors to “skip the above
guidelines” conflicts with the document’s earlier mandatory rules; replace that
sentence (the one containing "skip the above guidelines") with a clear, scoped
exception that states contributors may use LLM-assisted tools for
non-policy-breaking tasks only if they still comply with the mandatory rules and
explicitly disclose any LLM-generated content in the PR description; ensure the
wording references the existing "mandatory rules" block and adds a short
disclosure requirement so reviewers and contributors have no ambiguity.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: f751f9c1-9b6c-437c-9768-e9538ef9a69c

📥 Commits

Reviewing files that changed from the base of the PR and between c364b86 and 906d810.

📒 Files selected for processing (1)
  • AI_POLICY.md

Comment thread AI_POLICY.md Outdated
Comment thread AI_POLICY.md Outdated
Comment thread AI_POLICY.md Outdated
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

♻️ Duplicate comments (1)
AI_POLICY.md (1)

21-21: ⚠️ Potential issue | 🟡 Minor

Avoid absolute legal wording in policy text.

“cannot be used as it cannot be licensed” reads as a blanket legal conclusion. Prefer project-scoped policy wording (e.g., “not permitted by this project’s policy/licensing constraints”) to avoid legal ambiguity.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@AI_POLICY.md` at line 21, Update the policy sentence that reads “cannot be
used as it cannot be licensed” to avoid absolute legal language; replace it with
a project-scoped phrasing like “not permitted by this project’s policy/licensing
constraints” or similar wording that confines the restriction to the project
policy. Locate the sentence in AI_POLICY.md (the policy line that begins “No
generated content other than text is allowed”) and edit that clause to remove
the blanket legal conclusion and substitute the suggested project-scoped
phrasing while preserving the intent that only text outputs are permitted.
🧹 Nitpick comments (1)
AI_POLICY.md (1)

23-23: Define “large amount” with an enforceable threshold.

“Large generated pull requests” is currently subjective. Consider adding a concrete threshold or reviewer rubric so contributors can predict rejection criteria.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@AI_POLICY.md` at line 23, Update the "Large generated pull requests will be
rejected" policy line to include a concrete, enforceable threshold and reviewer
rubric: specify a numeric limit (e.g., >500 lines of generated code, >10 files,
or >1 MB of added content) or a percentage of PR content treated as generated
(e.g., >30% generated), require authors to annotate generated files with a
GENERATED header and include a short justification in the PR description, and
add reviewer steps (how to measure via git diff, CI checks, or labels like
GENERATED) to decide rejection versus request-for-split; reference the policy
sentence "Large generated pull requests will be rejected" when making the
change.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Duplicate comments:
In `@AI_POLICY.md`:
- Line 21: Update the policy sentence that reads “cannot be used as it cannot be
licensed” to avoid absolute legal language; replace it with a project-scoped
phrasing like “not permitted by this project’s policy/licensing constraints” or
similar wording that confines the restriction to the project policy. Locate the
sentence in AI_POLICY.md (the policy line that begins “No generated content
other than text is allowed”) and edit that clause to remove the blanket legal
conclusion and substitute the suggested project-scoped phrasing while preserving
the intent that only text outputs are permitted.

---

Nitpick comments:
In `@AI_POLICY.md`:
- Line 23: Update the "Large generated pull requests will be rejected" policy
line to include a concrete, enforceable threshold and reviewer rubric: specify a
numeric limit (e.g., >500 lines of generated code, >10 files, or >1 MB of added
content) or a percentage of PR content treated as generated (e.g., >30%
generated), require authors to annotate generated files with a GENERATED header
and include a short justification in the PR description, and add reviewer steps
(how to measure via git diff, CI checks, or labels like GENERATED) to decide
rejection versus request-for-split; reference the policy sentence "Large
generated pull requests will be rejected" when making the change.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 0af4d05f-948c-4de8-9614-cd332aaf61a6

📥 Commits

Reviewing files that changed from the base of the PR and between 906d810 and f6e994d.

📒 Files selected for processing (1)
  • AI_POLICY.md

Comment thread AI_POLICY.md Outdated
Comment thread AI_POLICY.md Outdated
scottmckendry
scottmckendry previously approved these changes Apr 27, 2026
Comment thread AI_POLICY.md Outdated
@dosubot dosubot Bot added the lgtm This PR has been approved by a maintainer label Apr 27, 2026
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

♻️ Duplicate comments (1)
AI_POLICY.md (1)

16-16: ⚠️ Potential issue | 🟡 Minor

Use consistent hyphenation and simplify “whether or not”.

Line 16 and Line 22 should use “AI-generated” for consistency, and Line 22 can be tightened by changing “whether or not” to “whether”.

Suggested edit
-We expect the Tinyauth community to use AI as a tool for faster development and not as a way to implement entire features through prompts. For this reason, the following guidelines are in place for AI generated content:
+We expect the Tinyauth community to use AI as a tool for faster development and not as a way to implement entire features through prompts. For this reason, the following guidelines are in place for AI-generated content:
@@
-- **AI pull requests are not guaranteed to be accepted or prioritized**: Any pull request that contains AI generated content is not guaranteed to be accepted and/or prioritized. The maintainers are responsible for reviewing all pull requests and determining whether or not they meet the standards of the project. AI generated content will be reviewed with the same standards as any other content, and may be rejected if it does not meet those standards.
+- **AI pull requests are not guaranteed to be accepted or prioritized**: Any pull request that contains AI-generated content is not guaranteed to be accepted and/or prioritized. The maintainers are responsible for reviewing all pull requests and determining whether they meet the standards of the project. AI-generated content will be reviewed with the same standards as any other content, and may be rejected if it does not meet those standards.

Also applies to: 22-22

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@AI_POLICY.md` at line 16, Replace the inconsistent phrase "AI generated" with
the hyphenated form "AI-generated" in the sentence containing "AI generated
content" and the later occurrence on Line 22, and simplify the phrase "whether
or not" to "whether" where it appears on Line 22; update the exact phrases "AI
generated content" and "whether or not" to "AI-generated content" and "whether"
respectively to keep hyphenation consistent and tighten wording.
🧹 Nitpick comments (1)
AI_POLICY.md (1)

23-23: Define “large amount” to make enforcement predictable.

Line 23 is currently subjective. Consider adding a concrete threshold or reviewer criteria to avoid inconsistent rejections.

Suggested edit
-- **Large generated pull requests will be rejected**: Any pull request that contains a large amount of generated content will be rejected. This is because it is difficult for the maintainers to review and verify large amounts of generated content.
+- **Large generated pull requests will be rejected**: Pull requests with substantial generated content may be rejected when maintainers cannot reasonably review and verify them. As a guideline, keep AI-generated changes small, scoped, and easy to audit.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@AI_POLICY.md` at line 23, Replace the subjective rule under the bullet
"**Large generated pull requests will be rejected**" with a concrete threshold
and reviewer criteria: specify measurable limits (for example "PRs where >50% of
lines changed or >500 added lines are generated, or where >3 files contain
generated content"), state whether the threshold is per-author or per-PR, and
add guidance for reviewers (e.g., require a brief generated-content summary, CI
provenance, and explicit maintainer approval to accept exceptions). Ensure the
new text replaces the current sentence and mentions the exact bullet heading
"**Large generated pull requests will be rejected**" so reviewers can find it.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@AI_POLICY.md`:
- Line 19: In the policy sentence under "All generated content should be
completely understood by the account holder" replace the typo "full extend" with
the correct phrase "full extent" so the sentence reads "...understanding the
resulting output to the full extent and being able to explain it in detail...";
update the string containing "full extend" accordingly.

---

Duplicate comments:
In `@AI_POLICY.md`:
- Line 16: Replace the inconsistent phrase "AI generated" with the hyphenated
form "AI-generated" in the sentence containing "AI generated content" and the
later occurrence on Line 22, and simplify the phrase "whether or not" to
"whether" where it appears on Line 22; update the exact phrases "AI generated
content" and "whether or not" to "AI-generated content" and "whether"
respectively to keep hyphenation consistent and tighten wording.

---

Nitpick comments:
In `@AI_POLICY.md`:
- Line 23: Replace the subjective rule under the bullet "**Large generated pull
requests will be rejected**" with a concrete threshold and reviewer criteria:
specify measurable limits (for example "PRs where >50% of lines changed or >500
added lines are generated, or where >3 files contain generated content"), state
whether the threshold is per-author or per-PR, and add guidance for reviewers
(e.g., require a brief generated-content summary, CI provenance, and explicit
maintainer approval to accept exceptions). Ensure the new text replaces the
current sentence and mentions the exact bullet heading "**Large generated pull
requests will be rejected**" so reviewers can find it.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 355ebc0c-0b78-4edf-89c8-111445a9c993

📥 Commits

Reviewing files that changed from the base of the PR and between f6e994d and 63cc081.

📒 Files selected for processing (1)
  • AI_POLICY.md

Comment thread AI_POLICY.md Outdated
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

♻️ Duplicate comments (1)
AI_POLICY.md (1)

16-16: ⚠️ Potential issue | 🟡 Minor

Standardize “AI-generated” phrasing for consistency.

Line 16 and Line 22 use “AI generated”; use “AI-generated” consistently across the policy (and optionally simplify “whether or not” → “whether” in Line 22).

Proposed wording update
-We expect the Tinyauth community to use AI as a tool for faster development and not as a way to implement entire features through prompts. For this reason, the following guidelines are in place for AI generated content:
+We expect the Tinyauth community to use AI as a tool for faster development and not as a way to implement entire features through prompts. For this reason, the following guidelines are in place for AI-generated content:
@@
-- **AI pull requests are not guaranteed to be accepted or prioritized**: Any pull request that contains AI generated content is not guaranteed to be accepted and/or prioritized. The maintainers are responsible for reviewing all pull requests and determining whether or not they meet the standards of the project. AI generated content will be reviewed with the same standards as any other content, and may be rejected if it does not meet those standards.
+- **AI pull requests are not guaranteed to be accepted or prioritized**: Any pull request that contains AI-generated content is not guaranteed to be accepted and/or prioritized. The maintainers are responsible for reviewing all pull requests and determining whether they meet the standards of the project. AI-generated content will be reviewed with the same standards as any other content, and may be rejected if it does not meet those standards.

Also applies to: 22-22

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@AI_POLICY.md` at line 16, Replace the inconsistent phrase "AI generated" with
the hyphenated form "AI-generated" throughout the policy (search for the literal
string "AI generated") and optionally simplify the wording "whether or not" to
"whether" where present (search for "whether or not") to make the language
consistent and concise.
🧹 Nitpick comments (1)
AI_POLICY.md (1)

23-23: Define what “large” means to make this rule enforceable.

Line 23 rejects “large” generated PRs but doesn’t define the threshold. Consider adding objective criteria (e.g., percentage of changed lines/files) or explicit reviewer discretion language.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@AI_POLICY.md` at line 23, The rule "**Large generated pull requests will be
rejected**" is ambiguous; update that policy line to include objective
thresholds and reviewer guidance — e.g., define "large" as either >30% of
changed lines being generated, >200 generated lines changed, or >10 generated
files, and add a clause allowing maintainer discretion for exceptions and a
required justification field in PR descriptions; edit the policy text around the
existing "**Large generated pull requests will be rejected**" sentence to add
these numerical thresholds, the exception process, and examples so maintainers
can enforce it consistently.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Duplicate comments:
In `@AI_POLICY.md`:
- Line 16: Replace the inconsistent phrase "AI generated" with the hyphenated
form "AI-generated" throughout the policy (search for the literal string "AI
generated") and optionally simplify the wording "whether or not" to "whether"
where present (search for "whether or not") to make the language consistent and
concise.

---

Nitpick comments:
In `@AI_POLICY.md`:
- Line 23: The rule "**Large generated pull requests will be rejected**" is
ambiguous; update that policy line to include objective thresholds and reviewer
guidance — e.g., define "large" as either >30% of changed lines being generated,
>200 generated lines changed, or >10 generated files, and add a clause allowing
maintainer discretion for exceptions and a required justification field in PR
descriptions; edit the policy text around the existing "**Large generated pull
requests will be rejected**" sentence to add these numerical thresholds, the
exception process, and examples so maintainers can enforce it consistently.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: dfab5f7b-9027-4e40-96a6-15c7aebc9d9e

📥 Commits

Reviewing files that changed from the base of the PR and between 63cc081 and 0a67378.

📒 Files selected for processing (1)
  • AI_POLICY.md

@dosubot dosubot Bot added size:M This PR changes 30-99 lines, ignoring generated files. and removed size:S This PR changes 10-29 lines, ignoring generated files. labels Apr 27, 2026
Copy link
Copy Markdown
Member

@scottmckendry scottmckendry left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@steveiliop56 steveiliop56 merged commit c68a022 into main Apr 27, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

lgtm This PR has been approved by a maintainer size:M This PR changes 30-99 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants