Skip to content

Commit 88d878d

Browse files
authored
Merge pull request #247 from aether-framework/fix/remove-ai-dashes
Standardize documentation formatting and fix Javadoc issues
2 parents 3ecafce + 5e71e37 commit 88d878d

98 files changed

Lines changed: 788 additions & 788 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/retarget-pr-to-develop.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ jobs:
1818
env:
1919
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
2020
run: |
21-
echo "::notice::PR #${{ github.event.pull_request.number }} targets main from '${{ github.head_ref }}' retargeting to develop."
21+
echo "::notice::PR #${{ github.event.pull_request.number }} targets main from '${{ github.head_ref }}' - retargeting to develop."
2222
gh pr edit ${{ github.event.pull_request.number }} \
2323
--repo ${{ github.repository }} \
2424
--base develop

AI_USAGE.md

Lines changed: 30 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# 🤖 AI Usage Guidelines
22

3-
Aether Datafixers permits the use of AI tools in contributions but under strict conditions. Transparency, quality, and human accountability are **non-negotiable**. This document defines the rules that all contributors and maintainers must follow when using AI-assisted tooling.
3+
Aether Datafixers permits the use of AI tools in contributions - but under strict conditions. Transparency, quality, and human accountability are **non-negotiable**. This document defines the rules that all contributors and maintainers must follow when using AI-assisted tooling.
44

55
---
66

@@ -31,11 +31,11 @@ This policy applies to all forms of contribution:
3131

3232
## ⚖️ General Principles
3333

34-
1. **AI is a tool, humans are accountable.** AI does not author contributions humans do. The person who submits AI-assisted work bears full responsibility for it.
35-
2. **Same quality bar no exceptions.** AI-generated output must meet the exact same standards as human-written code: conventions, tests, documentation, and review.
34+
1. **AI is a tool, humans are accountable.** AI does not author contributions - humans do. The person who submits AI-assisted work bears full responsibility for it.
35+
2. **Same quality bar - no exceptions.** AI-generated output must meet the exact same standards as human-written code: conventions, tests, documentation, and review.
3636
3. **Transparency is mandatory.** Disclosure of significant AI assistance is required, not optional. Honest disclosure is always better than concealment.
3737
4. **Quality and security over speed.** AI can accelerate development, but speed must never come at the expense of correctness, maintainability, or security.
38-
5. **When in doubt, write it yourself.** If you are unsure whether AI output is correct, secure, or license-compatible do not submit it. Rewrite it by hand.
38+
5. **When in doubt, write it yourself.** If you are unsure whether AI output is correct, secure, or license-compatible - do not submit it. Rewrite it by hand.
3939

4040
---
4141

@@ -47,7 +47,7 @@ AI tools may be used in the following areas, subject to the conditions listed:
4747
|---------------------------------------|-----------|-------------------------------------------------------------------|
4848
| Code generation (features, bug fixes) | ✅ Allowed | Must be fully understood, tested, and reviewed by the contributor |
4949
| Test generation (JUnit 5 / AssertJ) | ✅ Allowed | Assertions and edge cases must be manually verified |
50-
| Documentation and Javadoc | ✅ Allowed | Must be factually accurate AI may hallucinate API details |
50+
| Documentation and Javadoc | ✅ Allowed | Must be factually accurate - AI may hallucinate API details |
5151
| Boilerplate and scaffolding | ✅ Allowed | Still requires review for project conventions |
5252
| Commit message drafting | ✅ Allowed | Must accurately describe the actual changes |
5353
| PR description drafting | ✅ Allowed | Must reflect the real changes, not AI assumptions |
@@ -60,11 +60,11 @@ AI tools may be used in the following areas, subject to the conditions listed:
6060

6161
## 🚫 Restricted & Prohibited Uses
6262

63-
### 🏷️ Good First Issues Learning First
63+
### 🏷️ Good First Issues - Learning First
6464

6565
Issues labeled **`good first issue`** are **strongly encouraged** to be completed **primarily without significant AI assistance**.
6666

67-
**Why:** Good first issues exist to help new contributors learn the codebase and ramp up through hands-on experience. They are intentionally kept simple. Solving them with your own effort lets you truly understand the project’s structure, patterns, and conventions and keeps the opportunity fair for everyone who wants to make their first contribution through genuine learning.
67+
**Why:** Good first issues exist to help new contributors learn the codebase and ramp up through hands-on experience. They are intentionally kept simple. Solving them with your own effort lets you truly understand the project’s structure, patterns, and conventions - and keeps the opportunity fair for everyone who wants to make their first contribution through genuine learning.
6868

6969
If you are new to the project, embrace these issues as a learning opportunity. If you are experienced enough to use AI effectively, you are welcome to pick a more challenging issue instead.
7070

@@ -74,21 +74,21 @@ If you are new to the project, embrace these issues as a learning opportunity. I
7474

7575
The following areas require **extra scrutiny and maintainer approval** before AI-assisted contributions are accepted:
7676

77-
- **Security-sensitive code** Any code handling untrusted data through `DynamicOps`, cryptographic operations, or artifact signing. Must be thoroughly reviewed by a maintainer with security context. See [SECURITY.md](SECURITY.md).
78-
- **Public API design** AI may suggest API shapes, but public API decisions must be made deliberately by maintainers. AI suggestions must not be accepted wholesale.
79-
- **Core optics and type system changes** Changes to the optic hierarchy (`Lens`, `Prism`, `Iso`, `Affine`, `Traversal`) or the type system require deep domain understanding that AI tools may lack.
80-
- **CI/CD pipeline modifications** Changes to GitHub Actions workflows, Maven profiles, or build configuration require maintainer review for security and correctness.
77+
- **Security-sensitive code** - Any code handling untrusted data through `DynamicOps`, cryptographic operations, or artifact signing. Must be thoroughly reviewed by a maintainer with security context. See [SECURITY.md](SECURITY.md).
78+
- **Public API design** - AI may suggest API shapes, but public API decisions must be made deliberately by maintainers. AI suggestions must not be accepted wholesale.
79+
- **Core optics and type system changes** - Changes to the optic hierarchy (`Lens`, `Prism`, `Iso`, `Affine`, `Traversal`) or the type system require deep domain understanding that AI tools may lack.
80+
- **CI/CD pipeline modifications** - Changes to GitHub Actions workflows, Maven profiles, or build configuration require maintainer review for security and correctness.
8181

8282
### 🚫 Prohibited Uses
8383

8484
The following uses of AI are **not permitted**:
8585

86-
- **AI as sole code reviewer** Every PR must be reviewed and approved by at least one human maintainer. AI review tools may supplement but never replace human review.
87-
- **Submitting unreviewed AI output** Copy-pasting AI-generated code without reading, understanding, and verifying it is prohibited. You must be able to explain every line you submit.
88-
- **Undisclosed significant AI usage** Knowingly concealing significant AI assistance violates this policy. See [Accountability](#-accountability).
89-
- **AI-generated vulnerability reports** Automated AI scanning to generate public vulnerability reports is prohibited. Follow the private disclosure process in [SECURITY.md](SECURITY.md).
90-
- **Bypassing project standards** Using AI to circumvent tests, Checkstyle rules, or other quality gates is prohibited.
91-
- **AI for license or legal decisions** AI tools must not be relied upon for license compatibility analysis, DCO compliance interpretation, or other legal matters.
86+
- **AI as sole code reviewer** - Every PR must be reviewed and approved by at least one human maintainer. AI review tools may supplement but never replace human review.
87+
- **Submitting unreviewed AI output** - Copy-pasting AI-generated code without reading, understanding, and verifying it is prohibited. You must be able to explain every line you submit.
88+
- **Undisclosed significant AI usage** - Knowingly concealing significant AI assistance violates this policy. See [Accountability](#-accountability).
89+
- **AI-generated vulnerability reports** - Automated AI scanning to generate public vulnerability reports is prohibited. Follow the private disclosure process in [SECURITY.md](SECURITY.md).
90+
- **Bypassing project standards** - Using AI to circumvent tests, Checkstyle rules, or other quality gates is prohibited.
91+
- **AI for license or legal decisions** - AI tools must not be relied upon for license compatibility analysis, DCO compliance interpretation, or other legal matters.
9292

9393
---
9494

@@ -100,7 +100,7 @@ Disclosure of AI assistance is **mandatory**. This is the most important operati
100100

101101
Disclosure is required whenever AI tools were used to **generate or substantially modify** code, documentation, or other contributions.
102102

103-
**Rule of thumb:** If the AI produced a block of code, a paragraph of text, or a test case that you then submitted even if you edited it afterward disclose it.
103+
**Rule of thumb:** If the AI produced a block of code, a paragraph of text, or a test case that you then submitted - even if you edited it afterward - disclose it.
104104

105105
**Exempt:** Minor AI-assisted tasks such as IDE autocomplete suggestions, spell-checking, or grammar corrections do not require disclosure.
106106

@@ -161,14 +161,14 @@ AI-generated code must meet the same standards as human-written code:
161161
- ✅ Include proper Javadoc for all public API methods
162162
- ✅ Use JetBrains annotations (`@NotNull`, `@Nullable`) where appropriate
163163
- ✅ Use Guava `Preconditions` for argument validation
164-
- ✅ Maintain thread-safety invariants Aether Datafixers types are immutable and thread-safe by design
164+
- ✅ Maintain thread-safety invariants - Aether Datafixers types are immutable and thread-safe by design
165165
- ✅ Not introduce unnecessary dependencies
166166

167167
### Documentation Quality
168168

169169
AI-generated documentation must:
170170

171-
- ✅ Be **factually accurate** AI tools frequently hallucinate API details, method signatures, and module names
171+
- ✅ Be **factually accurate** - AI tools frequently hallucinate API details, method signatures, and module names
172172
- ✅ Be **consistent** with existing documentation style and structure
173173
- ✅ Reference **correct** class, method, and module names
174174
- ✅ Not contradict existing documentation
@@ -185,16 +185,16 @@ AI-assisted PRs follow the same review process as all other PRs (see [CONTRIBUTI
185185

186186
### Additional Review Focus Areas
187187

188-
- **Test quality** AI-generated tests may appear comprehensive but miss edge cases, test only happy paths, or contain incorrect assertions. Review assertions carefully.
189-
- **Hallucinated APIs** AI may reference methods, classes, or modules that do not exist in this project. Verify all API references against the actual codebase.
190-
- **Naming conventions** AI-generated names may not match project conventions (e.g., `DataVersion` vs. `Version`, `TypeReference` vs. `TypeRef`). Enforce consistency.
191-
- **Thread safety** Verify that AI-generated code maintains the project's immutability and thread-safety invariants.
192-
- **Dependency additions** AI may suggest adding external libraries. Verify necessity and license compatibility.
193-
- **Subtle logic errors** AI-generated code can appear correct at first glance while containing subtle bugs. Review logic paths carefully.
188+
- **Test quality** - AI-generated tests may appear comprehensive but miss edge cases, test only happy paths, or contain incorrect assertions. Review assertions carefully.
189+
- **Hallucinated APIs** - AI may reference methods, classes, or modules that do not exist in this project. Verify all API references against the actual codebase.
190+
- **Naming conventions** - AI-generated names may not match project conventions (e.g., `DataVersion` vs. `Version`, `TypeReference` vs. `TypeRef`). Enforce consistency.
191+
- **Thread safety** - Verify that AI-generated code maintains the project's immutability and thread-safety invariants.
192+
- **Dependency additions** - AI may suggest adding external libraries. Verify necessity and license compatibility.
193+
- **Subtle logic errors** - AI-generated code can appear correct at first glance while containing subtle bugs. Review logic paths carefully.
194194

195195
### Human Review Requirement
196196

197-
- At least **one human maintainer** must review and approve every PR no exceptions.
197+
- At least **one human maintainer** must review and approve every PR - no exceptions.
198198
- Reviewers may request the contributor to **explain** any AI-generated code.
199199
- Reviewers are not expected to detect undisclosed AI usage. The disclosure responsibility lies with the contributor.
200200

@@ -223,7 +223,7 @@ When reviewing and merging AI agent PRs (e.g., from `copilot-swe-agent[bot]`):
223223

224224
## ⚖️ Intellectual Property & Licensing
225225

226-
All contributions whether human-written or AI-assisted must be compatible with the project's [MIT License](LICENSE).
226+
All contributions - whether human-written or AI-assisted - must be compatible with the project's [MIT License](LICENSE).
227227

228228
### DCO and AI
229229

@@ -244,13 +244,13 @@ By submitting AI-assisted code and signing off with the [Developer Certificate o
244244

245245
### Responsibility
246246

247-
- The **human contributor** who submits AI-assisted work is **fully responsible** for it including bugs, security vulnerabilities, test failures, and convention violations.
247+
- The **human contributor** who submits AI-assisted work is **fully responsible** for it - including bugs, security vulnerabilities, test failures, and convention violations.
248248
- For **AI agent PRs** (where no human is the commit author), the maintainer who requested the agent's work and/or merged the PR assumes responsibility.
249249
- "The AI generated it" is **not** a mitigating factor for quality issues or policy violations.
250250

251251
### Enforcement
252252

253-
- Violations of this policy particularly **undisclosed AI usage** or **submitting unreviewed AI output** will be handled constructively on a case-by-case basis.
253+
- Violations of this policy - particularly **undisclosed AI usage** or **submitting unreviewed AI output** - will be handled constructively on a case-by-case basis.
254254
- Repeated or intentional violations may be escalated through the project's [Code of Conduct](CODE_OF_CONDUCT.md) enforcement process.
255255
- Serious violations (e.g., knowingly submitting AI-generated code with license conflicts) may result in **contribution restrictions**.
256256

0 commit comments

Comments
 (0)