> For the complete documentation index, see [llms.txt](https://docs.thetransparencyproject.me/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.thetransparencyproject.me/docs/ai-usage.md).

# AI Usage Disclosure and Governance Guidelines

In accordance with open-science reproducibility standards, JOSS (Journal of Open Source Software) guidelines, and transparent data lineage practices, this document discloses and formalizes the guidelines for using Artificial Intelligence (AI) coding assistants (such as Antigravity) in the development and maintenance of EthoPipe.

## 1. AI Assistant Disclosure

This project utilizes AI-assisted coding to implement structural enhancements, documentation, test suites, and refactoring tasks. The primary AI assistant active in the environment is **Antigravity**, operating under the following governance parameters:

* **Engine/Weights:** `gemini-2.5-pro` (or equivalent reasoning models).
* **Execution Mode:** Deterministic runtime configuration (Temperature = 0.0 equivalent) to enforce logical predictability and minimize stochastic variance in generated code.
* **Verification Gate:** Standardized workspace telemetry verification and state synchronization.

## 2. Technical and Biological Invariants (Code Invariants)

All code generated by AI models or refactored by automated assistants must comply with the project's biological and technical constraints without exception:

1. **Pydantic Validation:** All data structures must use Pydantic v2 schemas executing with `ConfigDict(strict=True)` to enforce strict type checking at the deserialization boundary.
2. **Physiological Boundaries:** Canine heart rate validations must remain strictly bounded between `30` and `250` BPM. If size classifications are available, specific thresholds must apply (Toy: `80–200` BPM; Giant: `40–110` BPM). Values outside these zones must trigger explicit validation exceptions.
3. **Darwin Core (DwC) Standardization:** Data structures conveying observation metrics must map natively to the Darwin Core `MeasurementOrFact` auxiliary class. Payloads must contain:
   * `dwc:individualID`
   * `dwc:eventDate` (ISO 8601 formatted datetime)
   * `dwc:measurementType` (objective behaviors, e.g., `play_bow`, `barks`, `lunges`)
   * `dwc:measurementValue`
   * `dwc:basisOfRecord` (`HumanObservation` or `MachineObservation`)
4. **Linguistic Neutrality:** Parsing logic and documentation must actively filter out anthropomorphic, subjective labels ('stubborn', 'spiteful', 'angry') and record only verifiable, physical motor postures and sequences.

## 3. Human-in-the-Loop Review

All changes suggested or auto-generated by AI models must pass through the repository rulesets:

* Verified via localized test suite executes (`pytest`).
* Approved via pull request reviews (mandated in collaborative release phases).
* Signed off by the code owners of high-risk scientific-validity files (defined in `.github/CODEOWNERS`).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.thetransparencyproject.me/docs/ai-usage.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
