---
title: Your contexts
question: How do I explain my internal conventions to the agents?
description: Write what a new joiner would need explained, so every run knows it.
section: understand
order: 3
---
**Pipeline → My contexts** lets you write, in plain prose, what the agents cannot guess: your in-house library, your naming conventions, the traps in your codebase. These texts go into every run, on top of the technology's rules.

## What belongs in there?

The simplest test: *what would I explain to a capable developer joining this project on Monday?* That is exactly what the agents need.

What works well:

- "All our API calls go through `ApiClient`, never `fetch` directly."
- "User-facing labels live in `lang/`, never hardcoded in a view."
- "The `invoices` module is being rewritten: do not touch it without saying so."

What is useless: restating the framework's own conventions. Diavi already knows those — that is what you are buying.

## Why are there several tabs?

Because a React context has no business in a Python run. Each technology has its own, and a **shared** tab holds what does not depend on technology — your review habits, your ticket conventions.

A run loads the shared tab plus its own technology's, never the others.

## Is there a size limit?

Yes, 40,000 characters for what a run actually loads — the shared tab plus one technology. This is not arbitrary: that text goes into every call of the run, so its size shows up directly in your consumption. The interface refuses to save beyond it rather than truncating silently.

## Who can edit them?

The account owner and administrators. A context enters every prompt: it is a cost lever, not a comfort setting.

## Do I see the vendor's rules?

No. Each technology's rules are Diavi's craft and stay private. Your contexts are **added** to them; they never replace them, and you keep receiving their updates.
