Skip to content

Commit ab9e683

Browse files
authored
Rel25 6 1 (#189)
* commit copy_aipolicy_gh_tmpl from AutobahnPython * integrate AI policy (announcement & docs); update changelog; update dev reqs * fix: F824 global is unused: name is never assigned in scope * reformatted with black * finishing touches for v25.6.1
1 parent 5941fd7 commit ab9e683

42 files changed

Lines changed: 1191 additions & 497 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
---
2+
name: Report a bug
3+
about: Report a bug, that is unexpected or undesired behavior for an existing feature.
4+
title: "[ISSUE] "
5+
labels: ["needs-triage"]
6+
---
7+
8+
> 📝 **Note for maintainers:** Please triage this issue (review, classify, and assign appropriate labels).
9+
10+
---
11+
12+
## What is your issue about?
13+
14+
<!-- Please provide a clear and concise description. -->
15+
16+
---
17+
18+
## Additional context
19+
20+
<!-- Add any other context or screenshots here. -->
21+
22+
---
23+
24+
## Triage Notes (for maintainers only)
25+
26+
<!--
27+
Triage is reviewing, categorization and prioritizing *bugs* depending on affected system/package/library-area, -layer and -module, disadvantages and impacts, annoyance and urgency.-->
28+
29+
---
30+
31+
## AI Assistance Disclosure
32+
33+
- [ ] I did NOT use AI to generate any part of this issue.
34+
- [ ] I used AI for drafting part/all of this issue. (Please review our [AI Policy](../AI_POLICY.rst) for disclosure requirements.)

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
blank_issues_enabled: false
2+
contact_links:
3+
- name: Other (General Question, Support, or Not a Bug/Feature)
4+
url: https://github.com/crossbario/txaio/discussions/new
5+
about: Please use GitHub Discussions for all questions, general support, or topics that do not fit a bug or feature request.
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
---
2+
name: Suggest a feature
3+
about: Suggest a feature, that is new desirable behavior.
4+
title: "[ISSUE] "
5+
labels: ["needs-triage"]
6+
---
7+
8+
> 📝 **Note for maintainers:** Please triage this issue (review, classify, and assign appropriate labels).
9+
10+
---
11+
12+
## What is your issue about?
13+
14+
<!-- Please provide a clear and concise description. -->
15+
16+
---
17+
18+
## Additional context
19+
20+
<!-- Add any other context or screenshots here. -->
21+
22+
---
23+
24+
## Triage Notes (for maintainers only)
25+
26+
<!--
27+
Triage is reviewing, categorization and prioritizing *features* depending on affected system/package/library area, layer and module, advantages and risks, desirability and urgency.
28+
-->
29+
30+
---
31+
32+
## AI Assistance Disclosure
33+
34+
- [ ] I did NOT use AI to generate any part of this issue.
35+
- [ ] I used AI for drafting part/all of this issue. (Please review our [AI Policy](../AI_POLICY.rst) for disclosure requirements.)

.github/pull_request_template.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
## Description
2+
3+
Please explain the changes you are proposing:
4+
5+
---
6+
7+
## Related Issue(s)
8+
9+
Closes #
10+
11+
---
12+
13+
## Checklist
14+
15+
- [ ] I have referenced relevant issue numbers above
16+
- [ ] I have performed a self-review of my code
17+
- [ ] I have added tests that prove my fix is effective or that my feature works
18+
- [ ] I have added necessary documentation (if appropriate)
19+
- [ ] My code follows the style guidelines of this project
20+
21+
---
22+
23+
## AI Assistance Disclosure
24+
25+
Please check one:
26+
27+
- [ ] I did NOT use AI tools to generate code/content for this PR.
28+
- [ ] I used AI tools to assist with this PR. (If checked, please describe how AI was used, and ensure you reviewed, modified, and take full responsibility for all contributions, per our [AI Policy](../AI_POLICY.rst).)
29+
30+
**NOTE:** Submitting code generated primarily by AI, or for which you cannot claim human authorship, is not permitted. See [AI_POLICY.rst](../AI_POLICY.rst).

.github/workflows/main.yml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,14 @@ on:
1010

1111
jobs:
1212
check:
13-
runs-on: ubuntu-22.04
13+
runs-on: ubuntu-24.04
1414
steps:
1515
- uses: actions/checkout@v3
1616

17-
- name: Set up Python 3.11
17+
- name: Set up Python 3.12
1818
uses: actions/setup-python@v3
1919
with:
20-
python-version: '3.11'
20+
python-version: '3.12'
2121
architecture: 'x64'
2222

2323
- name: Install Python package dependencies
@@ -32,11 +32,11 @@ jobs:
3232
runs-on: ${{ matrix.os }}
3333
strategy:
3434
matrix:
35-
os: [ubuntu-22.04]
35+
os: [ubuntu-24.04]
3636
# os: [ubuntu-20.04, macos-latest, windows-latest]
3737

3838
# https://github.com/actions/setup-python#specifying-a-pypy-version
39-
python-version: ['3.9', '3.11', 'pypy-3.9', 'pypy-3.10']
39+
python-version: ['3.9', '3.12', 'pypy-3.9', 'pypy-3.10']
4040

4141
# https://github.blog/changelog/2020-04-15-github-actions-new-workflow-features/
4242
# https://docs.github.com/en/free-pro-team@latest/actions/reference/workflow-syntax-for-github-actions#jobsjob_idstepscontinue-on-error
@@ -67,14 +67,14 @@ jobs:
6767
tox -c tox.ini
6868
6969
docs:
70-
runs-on: ubuntu-22.04
70+
runs-on: ubuntu-24.04
7171
steps:
7272
- uses: actions/checkout@v3
7373

74-
- name: Set up Python 3.11
74+
- name: Set up Python 3.12
7575
uses: actions/setup-python@v3
7676
with:
77-
python-version: '3.11'
77+
python-version: '3.12'
7878
architecture: 'x64'
7979

8080
- name: Install Python package dependencies

AI_POLICY.rst

Lines changed: 115 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,115 @@
1+
.. _ai_policy:
2+
3+
###########################################
4+
AI Policy for Developers and Contributors
5+
###########################################
6+
7+
This is our AI Policy **for** *human contributors* about **using**
8+
AI assistance with details on:
9+
10+
- Legal/IP requirements
11+
- Disclosure obligations
12+
- Authorship warranties
13+
14+
For instructions **to** *AI assistants* (e.g.
15+
`Anthropic Claude <https://www.anthropic.com/claude>`_,
16+
`Google Gemini <https://gemini.google.com/app>`_,
17+
`OpenAI ChatGPT <https://openai.com/chatgpt/overview/>`_,
18+
`Microsoft Copilot <https://copilot.microsoft.com/>`_ or other)
19+
about **providing** AI assistance, please see
20+
:download:`CLAUDE.md </_static/CLAUDE.md>`.
21+
22+
.. important::
23+
24+
**The Bottom Line - Make the right thing the easy thing.**
25+
26+
Your pull request is your byline. When you submit code, you are
27+
signing your name to it and warranting that you are the **Author**.
28+
29+
Whether you used an AI as an **Editor** or a **Ghostwriter**, the
30+
final work must be a product of **Your** skill, judgment, and creative
31+
labor.
32+
33+
An AI can never be credited as an author or co-author.
34+
35+
----
36+
37+
*******************************************************
38+
A Helpful Analogy: The AI as an Editor or Ghostwriter
39+
*******************************************************
40+
41+
To understand the role you, the human contributor, must play when using
42+
AI tools, it's helpful to draw an analogy from the world of writing and
43+
publishing. For any code you submit to be legally sound and protect the
44+
integrity of this project, your use of AI **must** mirror the
45+
relationship between an author and their editor or ghostwriter.
46+
47+
Scenario 1: The AI as an Editor
48+
===============================
49+
50+
In publishing, an author writes the original manuscript—the story, the
51+
characters, the plot. They then give it to an editor. The editor doesn't
52+
write the story, but they refine it. They correct grammar, improve
53+
sentence structure, point out inconsistencies, and suggest better ways
54+
to phrase things. The final work is stronger, but the **Author** is,
55+
without question, the person who wrote the original manuscript.
56+
57+
This is a perfect model for acceptable AI use:
58+
59+
- **You** write the original, substantive code: the architecture, the
60+
core logic, the solution to the problem.
61+
62+
- The **AI** acts as your editor: it helps you refactor for clarity,
63+
finds potential bugs (typos), suggests more efficient syntax, or
64+
helps write comments and documentation for *your* code.
65+
66+
In this role, the AI is a powerful tool that polishes your original
67+
work. You remain the sole, undisputed Author.
68+
69+
Scenario 2: The AI as a Ghostwriter
70+
===================================
71+
72+
A ghostwriter is hired to write a book *for* another person, based on
73+
detailed outlines and extensive interviews. The public figure who hired
74+
them takes the byline and is considered the author. They are also fully
75+
responsible for the book's content, accuracy, and any legal issues that
76+
may arise. They don't just blindly publish the ghostwriter's draft; they
77+
must review, revise, and ultimately approve every word, making it their
78+
own.
79+
80+
This is also an acceptable, but more demanding, model for AI use:
81+
82+
- **You** act as the commissioner: you provide a detailed, specific
83+
prompt to the AI, outlining exactly what you need a block of code to
84+
do.
85+
86+
- The **AI** generates a "first draft" of that code block.
87+
88+
- **Your critical responsibility** is to act as the final author: you
89+
must meticulously review, test, debug, and often significantly modify
90+
that code. You must understand it completely and integrate it into
91+
the larger project. By doing so, you take full accountability for it.
92+
93+
In this role, you are using the AI to generate raw material, but it is
94+
your intellectual labor — your review, validation, and integration —
95+
that transforms it into a valid contribution.
96+
97+
**************************************************
98+
The Role an AI Can Never Fill: Author or Co-Author
99+
**************************************************
100+
101+
The hard line is this: an AI can never be credited as an **Author** or
102+
**Co-Author**.
103+
It has no legal standing, cannot be held accountable, and cannot hold
104+
copyright. Any contribution where the AI was the primary creator and the
105+
human was merely a prompter without significant review or modification
106+
is not copyrightable and cannot be accepted.
107+
108+
Accepting such a contribution would have severe consequences for the
109+
project. The code could be considered public domain (and thus
110+
un-licensable) or, worse, a derivative work of the AI's training data
111+
carrying unknown, potentially mixed, viral or even contradictory license
112+
obligations.
113+
114+
In either case, our codebase would cease to be a clean, single-license
115+
work and would become a legally ambiguous patchwork.

0 commit comments

Comments
 (0)