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

# Architecture Decision Records

This directory contains Architecture Decision Records (ADRs) for the Feast project. ADRs document significant architectural decisions made during the development of Feast, providing context, rationale, and consequences for each decision.

## What is an ADR?

An Architecture Decision Record captures a single architectural decision, including the context in which it was made, the decision itself, and the expected consequences. ADRs serve as a historical record for current and future contributors to understand why the project is structured the way it is.

## ADR Index

| ADR                                                                  | Title                                             | Status   | Original RFC                |
| -------------------------------------------------------------------- | ------------------------------------------------- | -------- | --------------------------- |
| [ADR-0001](/project/adr/adr-0001-feature-services.md)                | Feature Services                                  | Accepted | RFC-015                     |
| [ADR-0002](/project/adr/adr-0002-component-refactor.md)              | Component Refactor                                | Accepted | RFC-020                     |
| [ADR-0003](/project/adr/adr-0003-on-demand-transformations.md)       | On-Demand Transformations                         | Accepted | RFC-021                     |
| [ADR-0004](/project/adr/adr-0004-entity-join-key-mapping.md)         | Entity Join Key Mapping                           | Accepted | RFC-023                     |
| [ADR-0005](/project/adr/adr-0005-stream-transformations.md)          | Stream Transformations                            | Accepted | RFC-036                     |
| [ADR-0006](/project/adr/adr-0006-kubernetes-operator.md)             | Kubernetes Operator                               | Accepted | RFC-042                     |
| [ADR-0007](/project/adr/adr-0007-unified-feature-transformations.md) | Unified Feature Transformations and Feature Views | Accepted | RFC-043                     |
| [ADR-0008](/project/adr/adr-0008-feature-view-versioning.md)         | Feature View Versioning                           | Accepted | Feature View Versioning RFC |
| [ADR-0009](/project/adr/adr-0009-contribution-extensibility.md)      | Contribution and Extensibility Architecture       | Accepted | RFC-014                     |
| [ADR-0010](/project/adr/adr-0010-vector-database-integration.md)     | Vector Database Integration for LLM/RAG Support   | Accepted | RFC-040                     |
| [ADR-0011](/project/adr/adr-0011-data-quality-monitoring.md)         | Data Quality Monitoring                           | Accepted | RFC-027                     |

## Creating a New ADR

1. Copy the [ADR template](https://github.com/feast-dev/feast/tree/v0.66-branch/docs/adr/ADR-TEMPLATE.md) to a new file with the next sequential number.
2. Fill in all sections of the template.
3. Submit a pull request with the new ADR.
4. Once the RFC is finalized and approved, update the ADR status to "Accepted".

## ADR Statuses

* **Proposed**: The decision is under discussion.
* **Accepted**: The decision has been accepted and is being (or has been) implemented.
* **Deprecated**: The decision is no longer relevant due to changes in the project.
* **Superseded**: The decision has been replaced by a newer ADR.


---

# 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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.feast.dev/project/adr.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
