> For the complete documentation index, see [llms.txt](https://docs.caraml.dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.caraml.dev/user-guides/01_getting_started-1/02_viewing_settings.md).

# View Experiment Settings

From the Experiments List page, clicking the 'arrow' and 'Settings' icon would bring you to the Settings Details page.

![Settings Details Button](/files/mGmYAQ57xX2cwBvA2Q1x)

## General Configuration

![Settings General View](/files/CNC05PbTN9Vtvrn3l6Ta)

1. General Info: General settings of the project.
2. Experimentation: Segmenters and experiment variables of the project.
3. Randomization: Randomization key of the project.

## Validation Configuration

![Settings Validation View](/files/hKVrhwAMPOlkMibGMoUC)

1. External Validation: URL of external validation to validate experiments.
2. Treatment Validation Rules: Rules used to validate treatment configuration of experiments.

### Treatment Validation Rules

Treatment Validation Rules allows users to specify rules that the treatment configuration of experiments must comply with. XP uses [Go Template](https://pkg.go.dev/text/template) and the [Sprig library](http://masterminds.github.io/sprig/) as the template function. The treatment configuration will be templated with the predicate provided and the final output must return `true` for the operation to be permitted.

This is useful to prevent careless mistakes while creating the treatment configuration, such as creating rules to ensure the weight of the models sums to 1 or to ensure that a control is set for every treatment.

#### Sample rules

* Checking if a field matches some string and float type provided

```
{{- or (and
         (eq .field1 "abc")
         (eq .field2 "def")
         (contains "float" (typeOf .field3.field4)))
     (and
         (eq .field1 "xyz")
         (eq .field2 "def")
         (contains "int" (typeOf .field3.field4))) -}}
```

* Checking sum of weights of models is 1

```
{{- $sum := 0 -}}
 {{- range $index, $item := .config_details.models -}}
   {{- $sum = (addf $sum $item.weight) -}}
 {{- end -}}
{{- eq $sum 1.0 -}}
```


---

# 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.caraml.dev/user-guides/01_getting_started-1/02_viewing_settings.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.
