# Architecture Decision Records (ADR)

Documents here are intended to record and describe particular architectural decisions.

***

An ADR records a a particular decision and contains the key information to understand how the mechanism it describes work.

**An ADR is not an RFC**. An RFC is speculative and provides a place to discuss multiple options with pros and cons, which may or may not be implemented. An ADR relates only to the current implementation and will be replaced as new decisions are made.

## Table of contents

| Document                                                                                                 | Description                                                                                                                |
| -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- |
| [Architecture Decision Records (ADR)](/architecture-decision-records-adr/readme.md)                      | A description of the purpose of ADRs and how they differ from RFCs.                                                        |
| [API faceting principles & expectations](/architecture-decision-records-adr/api_faceting.md)             | Guidelines for implementing faceting in APIs, including expectations for performance and usability.                        |
| [GitHub Actions with AWS access](/architecture-decision-records-adr/gha_aws.md)                          | Best practices for using GitHub Actions with AWS, including authentication and permissions.                                |
| [GitHub Groups & Permissions](/architecture-decision-records-adr/github_groups_permissions.md)           | An overview of GitHub groups and permissions, including how to manage access to repositories.                              |
| [GitHub Security](/architecture-decision-records-adr/github_security.md)                                 | Guidelines for securing GitHub repositories, including best practices for managing secrets and access.                     |
| [Logging](/architecture-decision-records-adr/logging.md)                                                 | Best practices for logging in applications, including log levels and structured logging.                                   |
| [Secrets](/architecture-decision-records-adr/secrets.md)                                                 | Guidelines for managing secrets in applications, including best practices for storing and accessing sensitive information. |
| [Uptime monitoring with LogicMonitor](/architecture-decision-records-adr/logicmonitor.md)                | Overview of our LogicMonitor-based website uptime monitoring and how to manage it.                                         |
| [Base AMI updates](/architecture-decision-records-adr/base_ami_updates.md)                               | A process for updating base AMIs in Wellcome Collection AWS accounts.                                                      |
| [Identity service for IIIF-Builder](/architecture-decision-records-adr/iiif-builder-identity-service.md) | How IIIF-Builder (DDS) learns where and how digital objects are stored, given an identifier                                |


---

# Agent Instructions: 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:

```
GET https://docs.wellcomecollection.org/architecture-decision-records-adr/readme.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
