Updated readme, Added AI usage policy

This commit is contained in:
2026-11-02 23:42:07 +01:00
parent e19362a479
commit a8cb9b1629
2 changed files with 97 additions and 0 deletions
+91
View File
@@ -0,0 +1,91 @@
# AI Usage Policy
## Summary
Usage of AI tools is authorized in this project.
**However, you are accountable for all produced code and must ensure you properly validated it before commiting !**
## Scope
This policy covers all contributions to this repository: source code, tests, documentation, configuration, commit messages, issues, and pull requests.
## What is allowed
- Generating, refactoring, or explaining code with any AI tool.
- Writing tests and PR descriptions.
* *Make extra sure you review those in depth !*
- Openning pull requests, as long as a human reviews the result before merge.
- Debugging, code review assistance, and research.
## What should be avoided when possible
- Writting every bit of documentation with AI.
- Using AI to write commit messages.
* *Keep it human and clean as possible*
## What isn't allowed
- Using AI to generate any artistic assets of any kind.
1. *I'd rather have ugly assets than soulless AI shit.*
2. *It's a shitstorm I want to stay far far far away from.*
- Using AI to open bullshit issues that are irrelevant and waste time.
## The Core Rule: Human Validation
AI output should be treated as a draft.
Before a change is merged, the submitting **human** must:
1. **Read it.** Every changed line, not a skim.
2. **Understand it.** You can explain what it does and why, without the AI.
3. **Verify it.** Build and test it, make sure you don't break it, and update what need to be.
4. **Own it.** You would defend it in review exactly as if you had typed it yourself.
If you cannot do all four, the change is not ready.
## Reviewers
- Treat AI-assisted changes to the same standard as any other change.
- An AI review alone does not count as an approval.
## Licensign & accountability
**The human submitter is the author.**
* You will be fully responsible for any security or licensing issue.
* If required, you must be able to provide the prompts that led to your code.
* We will **agressively** discard contributions when licensing issues arise and you can't do that.
## Restrictions
- **Secrets and sensitive data:** never paste credentials, keys, personal data, or confidential customer data into AI tools that are not approved for that data.
- **Licensing:** do not accept output that reproduces third-party code with an incompatible licence. If a suggestion looks copied, treat it as copied.
## Disclosure
Any commit mostly written by an AI must be clearly indicated as such with an appropriate `Co-Authored-By` section in the commit's message.
**Example:**
```
Co-Authored-By: {AI's name} <{AI's email}>
```
## Enforcement
- Changes that violate this policy will be reverted.
- Repeated violations will result in blank refusal of any further contributions.
## Authors's note
I hate having to write to kind of shit to *moral sermon*, but the current landscape of software development is evolving fast, and I can't be fucked to deal with bullshit drama around the usage of AI.
If you don't like it, fine, go away and make you own. \
If you like it, feel free to burn some tokens around the bonfire with us.
## Changes to This Policy
<!-- TODO: owner/contact -->
This policy is maintained by **Herwin Bozet (NibblePoker)**. \
Feel free to propose changes via a pull request.
_Last updated: 2026-11-02_
+6
View File
@@ -4,6 +4,11 @@ PureBasic Include for serializing and deserializing MessagePack data.
Based on the [msgpack/msgpack](https://github.com/msgpack/msgpack) specification.
> **🤖 AI Disclaimer** \
> This project uses AI-assisted development tools. \
> See the [AI usage policy](ai-policy.md) for details.
## Features
* Full support of the [MessagePack](https://github.com/msgpack/msgpack) specification
* Explicit or implicit data formats when reading/writing
@@ -17,6 +22,7 @@ Based on the [msgpack/msgpack](https://github.com/msgpack/msgpack) specification
* *No dynamic typing*
* *Building arrays/maps requires special insertion in parent MsgPack ~~(See examples)~~*
* *Lots of internal checks for boundaries and counts before any reading can be done*
* *[TODO: Note about deep nesting and performances]*
* Usage of larger `.q` type for field sizes
* *Helps prevent unsigned numbers causing issues on x86*
* Particular handling of `NaN` for *Float32* and *Float64*