Hi guys, I spent the last two days working over the Ajax codebase, however,
I used AI tooling starting from the typescript 5 to 6 transition and ending
up with about 100 testcases added
and fixed one smaller bug after ai analysis in the XHR Response processing
and several severe lifecycle bugs in the Websocket area!

According to the ASL, AI tooling is allowed as long as there are disclosure
markers and a disclosure file and as long as the changes stem from human
prompts
(Then it is seen as software tooling
https://www.apache.org/legal/generative-tooling.html) I additionally
despite having the code reviewed manually also ran two different AIs for
GPL.. etc... breaches, but they came to the same conclusion, as I did this
is original code based
on what I already did before and based on my prompts. So from an ASF legal
perspective this code would be clean.

The added disclosure file would be (note substantial changes mostly are
code cleanup after having the test coverage in place) and newly generated
files have an ai marker

# AI Contributions Disclosure

In accordance with the [Apache Software Foundation policy on
generative AI tooling](https://www.apache.org/legal/generative-tooling.html),
this file discloses that portions of this project were created or
substantially modified with assistance from generative AI tools.

## Tool used

**Claude** (Anthropic) — conversational AI coding assistant

## Scope

All new source files and substantial modifications introduced from the
TypeScript 6 migration onwards (starting with commit `d609321`) were
produced with AI assistance. This covers both production source code
and test code.

### Newly created files (AI-generated)

- `src/main/typescript/@types/definitions/modules.d.ts`
- `src/main/typescript/test/api/JsfPushShimTest.spec.ts`
- `src/main/typescript/test/api/PushTypeCompatibility.ts`
- `src/main/typescript/test/impl/AssertionsTest.spec.ts`
- `src/main/typescript/test/impl/FileUtilsTest.spec.ts`
- `src/main/typescript/test/impl/ResponseDataResolverTest.spec.ts`
- `src/main/typescript/test/impl/util/ExtLangTest.spec.ts`
- `src/main/typescript/test/impl/util/HiddenInputBuilderTest.spec.ts`
- `src/main/typescript/test/xhrCore/WebsocketTest.spec.ts`

### Substantially modified files (AI-assisted)

- `src/main/typescript/api/_api.ts`
- `src/main/typescript/api/faces.ts`
- `src/main/typescript/api/jsf.ts`
- `src/main/typescript/impl/AjaxImpl.ts`
- `src/main/typescript/impl/PushImpl.ts`
- `src/main/typescript/impl/util/Assertions.ts`
- `src/main/typescript/impl/util/AsyncRunnable.ts`
- `src/main/typescript/impl/util/ExtDomQuery.ts`
- `src/main/typescript/impl/util/FileUtils.ts`
- `src/main/typescript/impl/util/HiddenInputBuilder.ts`
- `src/main/typescript/impl/util/Lang.ts`
- `src/main/typescript/impl/util/XhrQueueController.ts`
- `src/main/typescript/impl/xhrCore/ErrorData.ts`
- `src/main/typescript/impl/xhrCore/EventData.ts`
- `src/main/typescript/impl/xhrCore/IResponseProcessor.ts`
- `src/main/typescript/impl/xhrCore/RequestDataResolver.ts`
- `src/main/typescript/impl/xhrCore/Response.ts`
- `src/main/typescript/impl/xhrCore/ResponseDataResolver.ts`
- `src/main/typescript/impl/xhrCore/ResponseProcessor.ts`
- `src/main/typescript/impl/xhrCore/XhrFormData.ts`
- `src/main/typescript/impl/xhrCore/XhrRequest.ts`
- `src/main/typescript/myfaces/OamSubmit.ts`
- `src/main/typescript/test/frameworkBase/_ext/monadish/DomQueryTest.spec.ts`
- `src/main/typescript/test/frameworkBase/_ext/shared/StandardInits.ts`
- `src/main/typescript/test/impl/util/ExtDomQueryTest.spec.ts`
- `src/main/typescript/test/myfaces/OamSubmit.spec.ts`
- `src/main/typescript/test/queue/AsynchronousQueueTest.spec.ts`
- `src/main/typescript/test/xhrCore/ErrorChainTest.spec.ts`
- `src/main/typescript/test/xhrCore/FakeWebsocket.ts`
- `src/main/typescript/test/xhrCore/RequestTest.spec.ts`
- `src/main/typescript/test/xhrCore/ResponseTest.spec.ts`
- `src/main/typescript/test/xhrCore/TobagoFileUploadTest.spec.ts`
- `src/main/typescript/test/xhrCore/XhrFormDataTest.spec.ts`
- `src/main/typescript/@types/definitions/index.d.ts`

## Nature of AI assistanc

The AI assistant was used interactively: the human author directed the
work, reviewed all output, made corrections, and approved each change
before it was applied. The AI did not commit code autonomously. All
contributions remain under the Apache License 2.0.


The problem is now jus,t how is the projects point of view regarding such a
commit, given we have companies using it, is such a commit
allowed or not!
If not then I will start from fresh manually with the transition to ts6, I
know where the pitfalls are and also I now know the bugs, but this will
take some time.


Werner

Reply via email to