How Iris builds context: the default harness and your own knowledge
A general-purpose model knows networking, but not how rConfig works, how your team names devices, or what a good access switch looks like on your network. Iris closes that gap with a context harness: a block of background knowledge rConfig adds to every config analysis, drift narration and compliance narration request. Part of it ships with rConfig. The rest is yours to write, and it’s the single most effective way to make Iris’s answers fit your network.
What goes into a request
flowchart TB
I["1. Instructions<br/>the feature's role and output format"] --> H
subgraph H["2. Context harness (budgeted)"]
B["Built-in networking knowledge<br/>ships with rConfig"]
C["Your knowledge entries<br/>conventions, golden configs, naming, design"]
end
H --> D["3. The data<br/>config, diff or compliance results"]
D --> Q["4. Your question, if any"]
Q --> M["Your AI provider"]
- Instructions tell the model its role (config analyst, change reviewer, compliance auditor) and the shape of its answer.
- The context harness adds background knowledge, within a fixed budget per feature.
- The data is what you’re asking about: the config, the diff, or the compliance results. Its limits are separate from the harness budget; see Sizing a local model.
- Your question, for chat and inline prompts.
Secrets are obfuscated before anything leaves rConfig. The optimisation assistant works differently: it searches an index of rConfig’s documentation for each question instead of using this harness. See Optimization Assistant.
The default harness: rConfig’s built-in knowledge
rConfig ships ten topics of networking knowledge, written to be vendor-neutral and checkable against a config. From V8.4.2 they’re loaded automatically on install and upgrade. Each feature gets the topics relevant to it:
| Topic | Config analysis | Drift narration | Compliance narration |
|---|---|---|---|
| Layer 2 fundamentals | Yes | Yes | Yes |
| Layer 3 and IP fundamentals | Yes | Yes | Yes |
| Routing protocols | Yes | Yes | Yes |
| Security constructs | Yes | Yes | Yes |
| Network services | Yes | Yes | Yes |
| Access control lists | Yes | Yes | |
| Common misconfiguration patterns | Yes | Yes | |
| High availability | Yes | Yes | |
| VPN and tunnelling | Yes | Yes | |
| Quality of service | Yes |
It covers things like trunk native-VLAN mismatches, route redistribution loops, management-plane exposure and the misconfigurations that show up in most networks. It can be read but not changed.
Your layer: knowledge entries
Knowledge entries are where you tell Iris what only your team knows. Each has a title, up to 10,000 characters of content, and one of four categories:
| Category | Use it for | Example |
|---|---|---|
| Convention | How you do things, and why | “Loopback0 is always the router ID and the BGP update source.” |
| Golden Config | The block every device of a type should carry | Your standard AAA, NTP and logging block for access switches |
| Naming Standard | Hostnames, interface descriptions, VLAN names | “Hostnames follow <site>-<role>-<nn>. Roles: core, dist, acc, fw, wan.” |
| Design Principle | Rules the network must follow | “No device in the DMZ may run SNMP v1 or v2c.” |
They go into every config analysis, drift and compliance request, under a heading that tells the model to treat them as authoritative for your environment. So when your entry says Loopback0 is the router ID, Iris stops flagging it as unusual and starts flagging devices that do it differently.
How the budget is shared
Each feature has a fixed budget for the harness, in characters:
| Feature | Harness budget | Kept for your entries (40%) |
|---|---|---|
| Config analysis | 14,000 | 5,600 |
| Drift narration | 10,000 | 4,000 |
| Compliance narration | 10,000 | 4,000 |
From V8.4.2 the budget is filled like this:
- Your entries go first, in category order and then oldest first, into an allowance of at least 40% of the budget. If the built-in knowledge needs less than its share, your entries can use more.
- An entry that doesn’t fit is left out whole, never cut off mid-sentence, because half a convention can mean the opposite of the whole one.
- The built-in knowledge fills the rest, most fundamental topics first. If it doesn’t all fit, the topic that crosses the limit is shortened and any after it are left out.
- If anything was left out or shortened, the model is told so.
Writing entries that work
- Short and specific. One rule or convention per entry, a few sentences long. A 10,000-character entry fits only when the built-in knowledge leaves room, and is dropped whole when it doesn’t.
- Say what to check, not what to think. “Every access port must have a description in the form
<user|ap|printer>-<location>” lets Iris spot violations. “Descriptions are important” doesn’t. - Include the reason. “No SNMP v2c in the DMZ (external audit finding, 2025)” helps the model judge severity.
- Golden configs as config text. Paste the actual block, with placeholders for per-device values, so the model compares like with like.
- Turn off, don’t delete. An entry with
is_activeset to false stops being used but stays on record. - Keep the total small. If a feature’s answers start ignoring your conventions, count what you’ve added against its allowance in the table above.
Outside agents don’t use the harness
The harness applies to Iris’s features inside rConfig. Agents connected over MCP (Claude Code, Cursor, Codex) don’t receive it. To give them the same conventions, put them in the agent’s instruction file. See Write the routing down once.
Related reference
- How rConfig grounds AI responses
- Teach the AI your conventions
- Better config analysis
- Sizing a local model
Frequently asked questions
What is Iris's context harness?
The background knowledge rConfig adds to every config analysis, drift narration and compliance narration request, before your config or diff. It has two layers: rConfig's built-in networking knowledge, and knowledge entries your team writes.
How much of my own knowledge does Iris include?
From V8.4.2, at least 40% of each feature's knowledge budget is kept for your entries: 5,600 characters for config analysis, 4,000 for drift and compliance narration. Your entries can use more when the built-in knowledge needs less.
Can I change rConfig's built-in knowledge?
No. It can be read but not edited. Add your own entries instead; where they conflict, the model is told to treat your entries as authoritative for your environment.
How do I add a knowledge entry?
There's no form in this release. An administrator adds entries from the rConfig server with a one-line php artisan tinker command, shown on the AI configuration page of the docs.