# Model Architecture

> Every principle in this category is listed as a record.

Page: Ontology · Principles
Canonical: https://banes-lab.com/ontology#arch-category-model-architecture

Every principle in this category is listed as a record. Each record carries its kind, its severity, the scopes it applies at and the layer it lives in, then the edge relations that join it to other records, the records that point back at it, the contracts that answer to it and the tensions it takes part in. The descriptors say how it is violated, detected, measured, repaired and enforced. Where the record carries one, an exemplar shows the shape before and after the principle is applied.

Relations diagram

The relations inside this category.

```mermaid
flowchart LR
n_artificial_intelligence_architecture["Artificial Intelligence Architecture"]
n_machine_learning_architecture["Machine Learning Architecture"]
n_model_governance["Model Governance"]
n_model_evaluation["Model Evaluation"]
n_model_inference["Model Inference"]
n_retrieval_augmented_generation["Retrieval-Augmented Generation (RAG)"]
n_vector_search["Vector Search"]
n_knowledge_graphs["Knowledge Graphs"]
n_explainability["Explainability"]
n_model_safety["Model Safety"]
n_prompt_engineering["Prompt Engineering"]
n_model_drift_monitoring["Model Drift Monitoring"]
n_agentic_architecture["Agentic Architecture"]
n_artificial_intelligence_architecture --> n_model_governance
n_artificial_intelligence_architecture --> n_model_evaluation
n_artificial_intelligence_architecture --> n_model_safety
n_artificial_intelligence_architecture -.-> n_explainability
n_machine_learning_architecture --> n_model_governance
n_model_governance --> n_model_safety
n_model_evaluation --> n_model_safety
n_model_inference --> n_artificial_intelligence_architecture
n_retrieval_augmented_generation --> n_explainability
n_vector_search --> n_retrieval_augmented_generation
n_knowledge_graphs --> n_explainability
n_model_safety --> n_model_governance
n_prompt_engineering --> n_model_inference
n_prompt_engineering --> n_model_evaluation
n_model_drift_monitoring --> n_model_evaluation
n_model_drift_monitoring --> n_model_governance
n_agentic_architecture --> n_model_inference
n_agentic_architecture --> n_explainability
n_agentic_architecture --> n_model_safety
```

### Artificial Intelligence Architecture

- Kind: [model](https://banes-lab.com/records/kind/model.md)
- Severity: contextual/mandatory for model-backed systems
- Scope: model-backed system, application, platform
- Layer: [Correctness Core](https://banes-lab.com/records/layer/correctness-core.md)

Details

Requires
[Model Governance](https://banes-lab.com/records/arch/model-governance.md), [Data/Model Boundaries](https://banes-lab.com/records/lex/data-model-boundaries.md)

Reinforces
[Model Evaluation](https://banes-lab.com/records/arch/model-evaluation.md), [Model Safety](https://banes-lab.com/records/arch/model-safety.md)

Enables
[Model-Integrated Systems](https://banes-lab.com/records/lex/model-integrated-systems.md)

In tension with
[Determinism](https://banes-lab.com/records/arch/determinism.md), [Explainability](https://banes-lab.com/records/arch/explainability.md)

Conflicts with
[Opaque Ungoverned Model Use](https://banes-lab.com/records/lex/opaque-ungoverned-model-use.md)

Referenced by
[Model Inference](https://banes-lab.com/records/arch/model-inference.md)

Tensions
[Artificial Intelligence Architecture Determinism](https://banes-lab.com/records/tension/artificial-intelligence-architecture-determinism.md), [Artificial Intelligence Architecture Explainability](https://banes-lab.com/records/tension/artificial-intelligence-architecture-explainability.md)

Violated by
model behavior integrated without evaluation/governance

Detected by
model calls without tests, [logging](https://banes-lab.com/records/arch/logging.md), [fallback](https://banes-lab.com/records/lex/fallback.md), [policy](https://banes-lab.com/records/lex/policy.md)

Measured by
model quality/safety/evaluation coverage

Refactored by
Add Evaluation Harness, Add Model Boundary, Add Guardrails

Enforced by
model governance gates

Before

```typescript
async function answerFoo(prompt: string) {
return model.generate(prompt);
}
```

After

```typescript
async function answerFoo(request: FooRequest) {
const input = FooRequestSchema.parse(request);
const context = await fooRetriever.retrieve(input.query);
const output = await fooModel.generate(buildFooPrompt(input, context));
return FooResponseSchema.parse(output);
}
```

### Machine Learning Architecture

- Kind: [model](https://banes-lab.com/records/kind/model.md)
- Severity: contextual
- Scope: ML pipeline, model serving, data
- Layer: [Correctness Core](https://banes-lab.com/records/layer/correctness-core.md)

Details

Requires
[Data Pipeline](https://banes-lab.com/records/lex/data-pipeline.md), [Training/Inference Separation](https://banes-lab.com/records/lex/training-inference-separation.md)

Reinforces
[Reproducibility](https://banes-lab.com/records/arch/reproducibility.md), [Model Governance](https://banes-lab.com/records/arch/model-governance.md)

Enables
[Reliable Model Lifecycle](https://banes-lab.com/records/lex/reliable-model-lifecycle.md)

In tension with
[Experimentation Speed](https://banes-lab.com/records/lex/experimentation-speed.md)

Conflicts with
[Ad-Hoc Notebook-to-Production](https://banes-lab.com/records/lex/ad-hoc-notebook-to-production.md)

Tensions
[Machine Learning Architecture Experimentation Speed](https://banes-lab.com/records/tension/experimentation-speed-machine-learning-architecture.md)

Violated by
unversioned data/model/config

Detected by
missing lineage, untracked training inputs

Measured by
[reproducibility](https://banes-lab.com/records/arch/reproducibility.md), drift, evaluation metrics

Refactored by
Add ML Pipeline, Version Data/Model/Config

Enforced by
MLOps gates

Before

```typescript
const model = trainFoo(loadAllData());
serve(model);
```

After

```typescript
const dataset = datasetRegistry.load("foo", "v3");
const features = fooFeaturePipeline.transform(dataset);
const model = trainFoo(features, versionedTrainingConfig);
modelRegistry.register(model, evaluateFooModel(model, validationSet));
```

### Model Governance

- Kind: [activity](https://banes-lab.com/records/kind/activity.md)
- Severity: mandatory for production models
- Scope: model lifecycle, model-backed system
- Layer: [Correctness Core](https://banes-lab.com/records/layer/correctness-core.md)

Details

Requires
[Model Registry](https://banes-lab.com/records/lex/model-registry.md), [Evaluation](https://banes-lab.com/records/lex/evaluation.md), [Approval Policy](https://banes-lab.com/records/lex/approval-policy.md)

Reinforces
[Compliance](https://banes-lab.com/records/arch/compliance.md), [Model Safety](https://banes-lab.com/records/arch/model-safety.md)

Enables
[Controlled Model Deployment](https://banes-lab.com/records/lex/controlled-model-deployment.md)

In tension with
[Experiment Velocity](https://banes-lab.com/records/lex/experiment-velocity.md)

Conflicts with
[Unapproved Model Deployment](https://banes-lab.com/records/lex/unapproved-model-deployment.md), [Model Version Ambiguity](https://banes-lab.com/records/arch/model-version-ambiguity.md)

Referenced by
[Artificial Intelligence Architecture](https://banes-lab.com/records/arch/artificial-intelligence-architecture.md), [Machine Learning Architecture](https://banes-lab.com/records/arch/machine-learning-architecture.md), [Model Safety](https://banes-lab.com/records/arch/model-safety.md), [Model Drift Monitoring](https://banes-lab.com/records/arch/model-drift-monitoring.md)

Tensions
[Model Governance Experiment Velocity](https://banes-lab.com/records/tension/experiment-velocity-model-governance.md)

Violated by
deploying unapproved/untracked models

Detected by
model without lineage/approval/eval

Measured by
governance coverage

Refactored by
Add Registry, Add Approval Workflow, Add Eval Gates

Enforced by
CI/CD model gates

Before

```typescript
deployModel(newestModelFile());
```

After

```typescript
const candidate = modelRegistry.get("foo-model", "1.4.0");
requireApproval(candidate, ["model-owner", "risk-owner"]);
requirePolicyCompliance(candidate, fooModelPolicies);
deployModel(candidate);
```

### Model Evaluation

- Kind: [activity](https://banes-lab.com/records/kind/activity.md)
- Severity: mandatory
- Scope: model, model-backed feature, pipeline
- Layer: [Correctness Core](https://banes-lab.com/records/layer/correctness-core.md)

Details

Requires
[Dataset](https://banes-lab.com/records/lex/dataset.md), [Metrics](https://banes-lab.com/records/lex/metrics.md), [Acceptance Criteria](https://banes-lab.com/records/lex/acceptance-criteria.md)

Reinforces
[Model Safety](https://banes-lab.com/records/arch/model-safety.md), [Correctness](https://banes-lab.com/records/arch/correctness.md)

Enables
[Model Selection/Regression Detection](https://banes-lab.com/records/lex/model-selection-regression-detection.md)

In tension with
[Metric Completeness](https://banes-lab.com/records/lex/metric-completeness.md)

Conflicts with
[Untested Model Deployment](https://banes-lab.com/records/lex/untested-model-deployment.md)

Referenced by
[Artificial Intelligence Architecture](https://banes-lab.com/records/arch/artificial-intelligence-architecture.md), [Prompt Engineering](https://banes-lab.com/records/arch/prompt-engineering.md), [Model Drift Monitoring](https://banes-lab.com/records/arch/model-drift-monitoring.md)

Tensions
[Model Evaluation Metric Completeness](https://banes-lab.com/records/tension/metric-completeness-model-evaluation.md)

Violated by
model change without evaluation

Detected by
missing eval report/gate

Measured by
task metrics, safety metrics, regression rate

Refactored by
Add Eval Suite, Add Regression Dataset

Enforced by
model CI gates

Before

```typescript
if (model.accuracy > 0.8) deploy(model);
```

After

```typescript
const evaluation = evaluateModel(model, {
datasets: [fooValidationSet, fooStressSet],
metrics: [precision, recall, calibration, latencyP95],
slices: ["foo-kind", "foo-region"],
});
requireThresholds(evaluation, fooModelThresholds);
```

### Model Inference

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Severity: contextual
- Scope: service, model serving
- Layer: [Correctness Core](https://banes-lab.com/records/layer/correctness-core.md)

Details

Requires
[Model Artifact](https://banes-lab.com/records/lex/model-artifact.md), [Input/Output Contract](https://banes-lab.com/records/lex/input-output-contract.md)

Reinforces
[Artificial Intelligence Architecture](https://banes-lab.com/records/arch/artificial-intelligence-architecture.md)

Enables
[Runtime Prediction/Generation](https://banes-lab.com/records/lex/runtime-prediction-generation.md)

In tension with
[Latency/Cost](https://banes-lab.com/records/lex/latency-cost.md)

Conflicts with
[Training-Time-Only Model Logic](https://banes-lab.com/records/lex/training-time-only-model-logic.md)

Referenced by
[Prompt Engineering](https://banes-lab.com/records/arch/prompt-engineering.md), [Agentic Architecture](https://banes-lab.com/records/arch/agentic-architecture.md)

Tensions
[Model Inference Latency/Cost](https://banes-lab.com/records/tension/latency-cost-model-inference.md)

Violated by
inference without validation/observability/fallback

Detected by
raw model calls in business logic

Measured by
[latency](https://banes-lab.com/records/arch/latency.md), error rate, output quality

Refactored by
Add Inference Service, Add Adapter/Contract

Enforced by
serving standards

Before

```typescript
const output = model.predict(input as any);
```

After

```typescript
const input = FooInferenceSchema.parse(rawInput);
const output = await inferenceRuntime.predict(fooModelVersion, input, {
timeoutMs: 500,
traceId,
});
return FooPredictionSchema.parse(output);
```

### Retrieval-Augmented Generation (RAG)

- Kind: [pattern](https://banes-lab.com/records/kind/pattern.md)
- Severity: contextual
- Scope: language-model system, knowledge retrieval
- Aliases: RAG
- Layer: [Correctness Core](https://banes-lab.com/records/layer/correctness-core.md)

Details

Requires
[Retriever](https://banes-lab.com/records/lex/retriever.md), [Document Store](https://banes-lab.com/records/lex/document-store.md), [Grounding Strategy](https://banes-lab.com/records/lex/grounding-strategy.md)

Reinforces
[Explainability](https://banes-lab.com/records/arch/explainability.md), [Knowledge Freshness](https://banes-lab.com/records/lex/knowledge-freshness.md)

Enables
[Contextual Generation](https://banes-lab.com/records/lex/contextual-generation.md)

In tension with
[Retrieval Quality/Latency](https://banes-lab.com/records/lex/retrieval-quality-latency.md)

Conflicts with
[Ungrounded Generation](https://banes-lab.com/records/lex/ungrounded-generation.md)

Referenced by
[Vector Search](https://banes-lab.com/records/arch/vector-search.md)

Tensions
[Retrieval-Augmented Generation (RAG) Retrieval Quality/Latency](https://banes-lab.com/records/tension/retrieval-augmented-generation-rag-retrieval-quality-latency.md)

Violated by
answers generated without relevant retrieved context where required

Detected by
missing citations/context in grounded tasks

Measured by
retrieval precision/recall, groundedness

Refactored by
Add Retriever, Add Reranker, Add Citation Grounding

Enforced by
RAG evals

Before

```typescript
const answer = await model.generate(`Answer: ${question}`);
```

After

```typescript
const query = normalizeFooQuery(question);
const documents = await fooRetriever.search(query, { topK: 8 });
const groundedPrompt = buildGroundedFooPrompt(question, documents);
const answer = await model.generate(groundedPrompt);
return attachCitations(answer, documents);
```

### Vector Search

- Kind: [mechanism](https://banes-lab.com/records/kind/mechanism.md)
- Severity: contextual
- Scope: retrieval, search, RAG
- Layer: [Correctness Core](https://banes-lab.com/records/layer/correctness-core.md)

Details

Requires
[Embeddings](https://banes-lab.com/records/lex/embeddings.md), [Vector Index](https://banes-lab.com/records/lex/vector-index.md)

Reinforces
[Retrieval-Augmented Generation (RAG)](https://banes-lab.com/records/arch/retrieval-augmented-generation.md), [Semantic Search](https://banes-lab.com/records/lex/semantic-search.md)

Enables
[Similarity Retrieval](https://banes-lab.com/records/lex/similarity-retrieval.md)

In tension with
[Explainability/Recall](https://banes-lab.com/records/lex/explainability-recall.md)

Conflicts with
[Exact Keyword Search Only](https://banes-lab.com/records/lex/exact-keyword-search-only.md)

Tensions
[Vector Search Explainability/Recall](https://banes-lab.com/records/tension/explainability-recall-vector-search.md)

Violated by
semantic retrieval requirement implemented with only brittle keyword matching

Detected by
poor semantic recall

Measured by
retrieval metrics, [latency](https://banes-lab.com/records/arch/latency.md)

Refactored by
Add Embeddings, Add Vector Index, Tune Retrieval

Enforced by
retrieval evaluation

Before

```typescript
const results = foos.filter(foo => foo.text.includes(query));
```

After

```typescript
const queryVector = await embedder.embed(query);
const results = await fooVectorIndex.search(queryVector, {
topK: 10,
filter: { tenantId },
});
```

### Knowledge Graphs

- Kind: [pattern](https://banes-lab.com/records/kind/pattern.md)
- Severity: contextual
- Scope: knowledge modeling, retrieval, reasoning
- Layer: [Correctness Core](https://banes-lab.com/records/layer/correctness-core.md)

Details

Requires
[Entities](https://banes-lab.com/records/lex/entities.md), [Relations](https://banes-lab.com/records/lex/relations.md), [Schema/Ontology](https://banes-lab.com/records/lex/schema-ontology.md)

Reinforces
[Semantic Consistency](https://banes-lab.com/records/arch/semantic-consistency.md), [Explainability](https://banes-lab.com/records/arch/explainability.md)

Enables
[Relationship-Aware Retrieval/Reasoning](https://banes-lab.com/records/lex/relationship-aware-retrieval-reasoning.md)

In tension with
[Curation Cost](https://banes-lab.com/records/lex/curation-cost.md)

Conflicts with
[Flat Document-Only Knowledge](https://banes-lab.com/records/lex/flat-document-only-knowledge.md)

Tensions
[Knowledge Graphs Curation Cost](https://banes-lab.com/records/tension/curation-cost-knowledge-graphs.md)

Violated by
relation-heavy domain modeled only as unstructured text

Detected by
repeated need for entity relationship traversal

Measured by
graph coverage, query accuracy

Refactored by
Extract Entities/Relations, Build Graph

Enforced by
schema/ontology validation

Before

```typescript
const fooLinks = new Map<string, string[]>();
fooLinks.set(foo.id, [bar.id, baz.id]);
```

After

```typescript
const graph = new KnowledgeGraph();
graph.addNode(foo.id, "Foo", foo);
graph.addNode(bar.id, "Bar", bar);
graph.addEdge(foo.id, "DEPENDS_ON", bar.id);
graph.addEdge(bar.id, "PRODUCES", baz.id);
```

### Explainability

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Severity: contextual/mandatory in regulated domains
- Scope: model, model-backed system, decision flow
- Layer: [Correctness Core](https://banes-lab.com/records/layer/correctness-core.md)

Details

Requires
[Traceability](https://banes-lab.com/records/arch/traceability.md), [Rationale/Evidence](https://banes-lab.com/records/lex/rationale-evidence.md)

Reinforces
[Governance](https://banes-lab.com/records/arch/governance.md), [Trust](https://banes-lab.com/records/lex/trust.md)

Enables
[Audit and Debugging](https://banes-lab.com/records/lex/audit-and-debugging.md)

In tension with
[Model Complexity](https://banes-lab.com/records/lex/model-complexity.md)

Conflicts with
[Opaque Black-Box Decisions](https://banes-lab.com/records/lex/opaque-black-box-decisions.md)

Referenced by
[Artificial Intelligence Architecture](https://banes-lab.com/records/arch/artificial-intelligence-architecture.md), [Retrieval-Augmented Generation (RAG)](https://banes-lab.com/records/arch/retrieval-augmented-generation.md), [Knowledge Graphs](https://banes-lab.com/records/arch/knowledge-graphs.md), [Agentic Architecture](https://banes-lab.com/records/arch/agentic-architecture.md)

Tensions
[Explainability Model Complexity](https://banes-lab.com/records/tension/explainability-model-complexity.md)

Violated by
consequential model decisions without explanation/evidence

Detected by
missing rationale/feature attribution/citations

Measured by
explanation coverage/quality

Refactored by
Add Explanation Layer, Add Evidence Trace

Enforced by
model governance gates

Before

```typescript
return model.predict(foo.features);
```

After

```typescript
const prediction = await model.predict(foo.features);
const explanation = await explainer.explain({
modelVersion: model.version,
input: foo.features,
prediction,
});
return { prediction, explanation };
```

### Model Safety

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Severity: mandatory for model-backed systems
- Scope: model-backed system, model, application
- Layer: [Correctness Core](https://banes-lab.com/records/layer/correctness-core.md)

Details

Requires
[Evaluation](https://banes-lab.com/records/lex/evaluation.md), [Guardrails](https://banes-lab.com/records/lex/guardrails.md), [Monitoring](https://banes-lab.com/records/arch/monitoring.md)

Reinforces
[Model Governance](https://banes-lab.com/records/arch/model-governance.md), [Security](https://banes-lab.com/records/lex/security.md)

Enables
[Safe Model Deployment](https://banes-lab.com/records/lex/safe-model-deployment.md)

In tension with
[Capability/Utility](https://banes-lab.com/records/lex/capability-utility.md)

Conflicts with
[Unguarded Model Autonomy](https://banes-lab.com/records/lex/unguarded-model-autonomy.md)

Referenced by
[Artificial Intelligence Architecture](https://banes-lab.com/records/arch/artificial-intelligence-architecture.md), [Model Governance](https://banes-lab.com/records/arch/model-governance.md), [Model Evaluation](https://banes-lab.com/records/arch/model-evaluation.md), [Agentic Architecture](https://banes-lab.com/records/arch/agentic-architecture.md)

Tensions
[Model Safety Capability/Utility](https://banes-lab.com/records/tension/capability-utility-model-safety.md)

Violated by
unsafe outputs/actions without guardrails

Detected by
safety eval failures, missing policy filters

Measured by
safety incident rate, eval pass rate

Refactored by
Add Guardrails, Add Human Review, Add Safety Evals

Enforced by
safety gates, runtime monitors

Before

```typescript
return model.generate(userPrompt);
```

After

```typescript
const input = await safety.validateInput(userPrompt);
const draft = await model.generate(input);
const checked = await safety.validateOutput(draft, { policy: "foo-assistant-v2" });
if (!checked.allowed) return safeRefusal(checked.reasons);
return checked.output;
```

### Prompt Engineering

- Kind: [technique](https://banes-lab.com/records/kind/technique.md)
- Severity: contextual/mandatory for model-backed systems
- Scope: model-backed system, language-model system, application
- Layer: [Correctness Core](https://banes-lab.com/records/layer/correctness-core.md)

Details

Requires
[Model Inference](https://banes-lab.com/records/arch/model-inference.md)

Reinforces
[Model Evaluation](https://banes-lab.com/records/arch/model-evaluation.md), [Reproducibility](https://banes-lab.com/records/arch/reproducibility.md)

Enables
[Structured, Versioned Prompts](https://banes-lab.com/records/lex/structured-versioned-prompts.md)

In tension with
[Robustness](https://banes-lab.com/records/lex/robustness.md)

Conflicts with
[Prompt Sprawl](https://banes-lab.com/records/arch/prompt-sprawl.md)

Tensions
[Prompt Engineering Robustness](https://banes-lab.com/records/tension/prompt-engineering-robustness.md)

Violated by
prompts inlined and duplicated across call sites

Detected by
scattered prompt string literals

Measured by
duplicated prompt count

Refactored by
Centralize and Version Prompts

Enforced by
model design review

Before

```typescript
const answer = await model.generate("summarize: " + text);
```

After

```typescript
const prompt = fooPromptTemplate.render({ task: "summarize", input: text, format: "bullet-points", maxWords: 100 });
const answer = await model.generate(prompt, { temperature: 0, stop: ["\n\n"] });
```

### Model Drift Monitoring

- Kind: [activity](https://banes-lab.com/records/kind/activity.md)
- Severity: mandatory for production models
- Scope: model-backed system, model lifecycle, operations
- Layer: [Correctness Core](https://banes-lab.com/records/layer/correctness-core.md)

Details

Requires
[Model Evaluation](https://banes-lab.com/records/arch/model-evaluation.md)

Reinforces
[Observability](https://banes-lab.com/records/arch/observability.md), [Model Governance](https://banes-lab.com/records/arch/model-governance.md)

Enables
[Degradation Detection](https://banes-lab.com/records/lex/degradation-detection.md), [Retraining Triggers](https://banes-lab.com/records/lex/retraining-triggers.md)

In tension with
[Monitoring Cost](https://banes-lab.com/records/lex/monitoring-cost.md)

Conflicts with
[Deploy-and-Forget Models](https://banes-lab.com/records/lex/deploy-and-forget-models.md)

Tensions
[Model Drift Monitoring Monitoring Cost](https://banes-lab.com/records/tension/model-drift-monitoring-monitoring-cost.md)

Violated by
model quality assumed stable after deployment

Detected by
no ongoing evaluation of live model outputs

Measured by
drift in accuracy/quality metrics over time

Refactored by
Instrument Drift Monitoring

Enforced by
model governance review

Before

```typescript
serveModel(fooModel);
```

After

```typescript
monitor.track(fooModel, {
metrics: [inputDistribution, predictionConfidence, groundTruthLag],
alertOn: { populationStabilityIndex: 0.2 },
});
```

### Agentic Architecture

- Kind: [pattern](https://banes-lab.com/records/kind/pattern.md)
- Severity: contextual/mandatory in regulated domains
- Scope: model-backed system, reasoning, decision flow
- Layer: [Correctness Core](https://banes-lab.com/records/layer/correctness-core.md)

Details

Requires
[Model Inference](https://banes-lab.com/records/arch/model-inference.md), [Tool Interface](https://banes-lab.com/records/lex/tool-interface.md)

Reinforces
[Explainability](https://banes-lab.com/records/arch/explainability.md), [Model Safety](https://banes-lab.com/records/arch/model-safety.md)

Enables
[Bounded Tool-Using Agents](https://banes-lab.com/records/lex/bounded-tool-using-agents.md), [Governed Autonomy](https://banes-lab.com/records/lex/governed-autonomy.md)

In tension with
[Determinism](https://banes-lab.com/records/arch/determinism.md)

Conflicts with
[Ungrounded Content](https://banes-lab.com/records/arch/ungrounded-content.md)

Tensions
[Agentic Architecture Determinism](https://banes-lab.com/records/tension/agentic-architecture-determinism.md)

Violated by
an unbounded model loop acting with no guardrails

Detected by
agent actions without tool scoping or step limits

Measured by
unguarded agent action rate

Refactored by
Bound the Agent with Tools, Limits, and Review

Enforced by
model safety review

Before

```typescript
const answer = await model.generate(question);
```

After

```typescript
const agent = createFooAgent({ tools: [searchFoos, calculator, fooStore], maxSteps: 8 });
const answer = await agent.run(question);
```

## Links to

- [model](https://banes-lab.com/records/kind/model.md)
- [Correctness Core](https://banes-lab.com/records/layer/correctness-core.md)
- [Model Governance](https://banes-lab.com/records/arch/model-governance.md)
- [Data/Model Boundaries](https://banes-lab.com/records/lex/data-model-boundaries.md)
- [Model Evaluation](https://banes-lab.com/records/arch/model-evaluation.md)
- [Model Safety](https://banes-lab.com/records/arch/model-safety.md)
- [Model-Integrated Systems](https://banes-lab.com/records/lex/model-integrated-systems.md)
- [Determinism](https://banes-lab.com/records/arch/determinism.md)
- [Explainability](https://banes-lab.com/records/arch/explainability.md)
- [Opaque Ungoverned Model Use](https://banes-lab.com/records/lex/opaque-ungoverned-model-use.md)
- [Model Inference](https://banes-lab.com/records/arch/model-inference.md)
- [Artificial Intelligence Architecture / Determinism](https://banes-lab.com/records/tension/artificial-intelligence-architecture-determinism.md)
- [Artificial Intelligence Architecture / Explainability](https://banes-lab.com/records/tension/artificial-intelligence-architecture-explainability.md)
- [Logging](https://banes-lab.com/records/arch/logging.md)
- [Fallback](https://banes-lab.com/records/lex/fallback.md)
- [Policy](https://banes-lab.com/records/lex/policy.md)
- [Data Pipeline](https://banes-lab.com/records/lex/data-pipeline.md)
- [Training/Inference Separation](https://banes-lab.com/records/lex/training-inference-separation.md)
- [Reproducibility](https://banes-lab.com/records/arch/reproducibility.md)
- [Reliable Model Lifecycle](https://banes-lab.com/records/lex/reliable-model-lifecycle.md)
- [Experimentation Speed](https://banes-lab.com/records/lex/experimentation-speed.md)
- [Ad-Hoc Notebook-to-Production](https://banes-lab.com/records/lex/ad-hoc-notebook-to-production.md)
- [Machine Learning Architecture / Experimentation Speed](https://banes-lab.com/records/tension/experimentation-speed-machine-learning-architecture.md)
- [activity](https://banes-lab.com/records/kind/activity.md)
- [Model Registry](https://banes-lab.com/records/lex/model-registry.md)
- [Evaluation](https://banes-lab.com/records/lex/evaluation.md)
- [Approval Policy](https://banes-lab.com/records/lex/approval-policy.md)
- [Compliance](https://banes-lab.com/records/arch/compliance.md)
- [Controlled Model Deployment](https://banes-lab.com/records/lex/controlled-model-deployment.md)
- [Experiment Velocity](https://banes-lab.com/records/lex/experiment-velocity.md)
- [Unapproved Model Deployment](https://banes-lab.com/records/lex/unapproved-model-deployment.md)
- [Model Version Ambiguity](https://banes-lab.com/records/arch/model-version-ambiguity.md)
- [Artificial Intelligence Architecture](https://banes-lab.com/records/arch/artificial-intelligence-architecture.md)
- [Machine Learning Architecture](https://banes-lab.com/records/arch/machine-learning-architecture.md)
- [Model Drift Monitoring](https://banes-lab.com/records/arch/model-drift-monitoring.md)
- [Model Governance / Experiment Velocity](https://banes-lab.com/records/tension/experiment-velocity-model-governance.md)
- [Dataset](https://banes-lab.com/records/lex/dataset.md)
- [Metrics](https://banes-lab.com/records/lex/metrics.md)
- [Acceptance Criteria](https://banes-lab.com/records/lex/acceptance-criteria.md)
- [Correctness](https://banes-lab.com/records/arch/correctness.md)
- [Model Selection/Regression Detection](https://banes-lab.com/records/lex/model-selection-regression-detection.md)
- [Metric Completeness](https://banes-lab.com/records/lex/metric-completeness.md)
- [Untested Model Deployment](https://banes-lab.com/records/lex/untested-model-deployment.md)
- [Prompt Engineering](https://banes-lab.com/records/arch/prompt-engineering.md)
- [Model Evaluation / Metric Completeness](https://banes-lab.com/records/tension/metric-completeness-model-evaluation.md)
- [capability](https://banes-lab.com/records/kind/capability.md)
- [Model Artifact](https://banes-lab.com/records/lex/model-artifact.md)
- [Input/Output Contract](https://banes-lab.com/records/lex/input-output-contract.md)
- [Runtime Prediction/Generation](https://banes-lab.com/records/lex/runtime-prediction-generation.md)
- [Latency/Cost](https://banes-lab.com/records/lex/latency-cost.md)
- [Training-Time-Only Model Logic](https://banes-lab.com/records/lex/training-time-only-model-logic.md)
- [Agentic Architecture](https://banes-lab.com/records/arch/agentic-architecture.md)
- [Model Inference / Latency/Cost](https://banes-lab.com/records/tension/latency-cost-model-inference.md)
- [Latency](https://banes-lab.com/records/arch/latency.md)
- [pattern](https://banes-lab.com/records/kind/pattern.md)
- [Retriever](https://banes-lab.com/records/lex/retriever.md)
- [Document Store](https://banes-lab.com/records/lex/document-store.md)
- [Grounding Strategy](https://banes-lab.com/records/lex/grounding-strategy.md)
- [Knowledge Freshness](https://banes-lab.com/records/lex/knowledge-freshness.md)
- [Contextual Generation](https://banes-lab.com/records/lex/contextual-generation.md)
- [Retrieval Quality/Latency](https://banes-lab.com/records/lex/retrieval-quality-latency.md)
- [Ungrounded Generation](https://banes-lab.com/records/lex/ungrounded-generation.md)
- [Vector Search](https://banes-lab.com/records/arch/vector-search.md)
- [Retrieval-Augmented Generation (RAG) / Retrieval Quality/Latency](https://banes-lab.com/records/tension/retrieval-augmented-generation-rag-retrieval-quality-latency.md)
- [mechanism](https://banes-lab.com/records/kind/mechanism.md)
- [Embeddings](https://banes-lab.com/records/lex/embeddings.md)
- [Vector Index](https://banes-lab.com/records/lex/vector-index.md)
- [Retrieval-Augmented Generation (RAG)](https://banes-lab.com/records/arch/retrieval-augmented-generation.md)
- [Semantic Search](https://banes-lab.com/records/lex/semantic-search.md)
- [Similarity Retrieval](https://banes-lab.com/records/lex/similarity-retrieval.md)
- [Explainability/Recall](https://banes-lab.com/records/lex/explainability-recall.md)
- [Exact Keyword Search Only](https://banes-lab.com/records/lex/exact-keyword-search-only.md)
- [Vector Search / Explainability/Recall](https://banes-lab.com/records/tension/explainability-recall-vector-search.md)
- [Entities](https://banes-lab.com/records/lex/entities.md)
- [Relations](https://banes-lab.com/records/lex/relations.md)
- [Schema/Ontology](https://banes-lab.com/records/lex/schema-ontology.md)
- [Semantic Consistency](https://banes-lab.com/records/arch/semantic-consistency.md)
- [Relationship-Aware Retrieval/Reasoning](https://banes-lab.com/records/lex/relationship-aware-retrieval-reasoning.md)
- [Curation Cost](https://banes-lab.com/records/lex/curation-cost.md)
- [Flat Document-Only Knowledge](https://banes-lab.com/records/lex/flat-document-only-knowledge.md)
- [Knowledge Graphs / Curation Cost](https://banes-lab.com/records/tension/curation-cost-knowledge-graphs.md)
- [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- [Traceability](https://banes-lab.com/records/arch/traceability.md)
- [Rationale/Evidence](https://banes-lab.com/records/lex/rationale-evidence.md)
- [Governance](https://banes-lab.com/records/arch/governance.md)
- [Trust](https://banes-lab.com/records/lex/trust.md)
- [Audit and Debugging](https://banes-lab.com/records/lex/audit-and-debugging.md)
- [Model Complexity](https://banes-lab.com/records/lex/model-complexity.md)
- [Opaque Black-Box Decisions](https://banes-lab.com/records/lex/opaque-black-box-decisions.md)
- [Knowledge Graphs](https://banes-lab.com/records/arch/knowledge-graphs.md)
- [Explainability / Model Complexity](https://banes-lab.com/records/tension/explainability-model-complexity.md)
- [Guardrails](https://banes-lab.com/records/lex/guardrails.md)
- [Monitoring](https://banes-lab.com/records/arch/monitoring.md)
- [Security](https://banes-lab.com/records/lex/security.md)
- [Safe Model Deployment](https://banes-lab.com/records/lex/safe-model-deployment.md)
- [Capability/Utility](https://banes-lab.com/records/lex/capability-utility.md)
- [Unguarded Model Autonomy](https://banes-lab.com/records/lex/unguarded-model-autonomy.md)
- [Model Safety / Capability/Utility](https://banes-lab.com/records/tension/capability-utility-model-safety.md)
- [technique](https://banes-lab.com/records/kind/technique.md)
- [Structured, Versioned Prompts](https://banes-lab.com/records/lex/structured-versioned-prompts.md)
- [Robustness](https://banes-lab.com/records/lex/robustness.md)
- [Prompt Sprawl](https://banes-lab.com/records/arch/prompt-sprawl.md)
- [Prompt Engineering / Robustness](https://banes-lab.com/records/tension/prompt-engineering-robustness.md)
- [Observability](https://banes-lab.com/records/arch/observability.md)
- [Degradation Detection](https://banes-lab.com/records/lex/degradation-detection.md)
- [Retraining Triggers](https://banes-lab.com/records/lex/retraining-triggers.md)
- [Monitoring Cost](https://banes-lab.com/records/lex/monitoring-cost.md)
- [Deploy-and-Forget Models](https://banes-lab.com/records/lex/deploy-and-forget-models.md)
- [Model Drift Monitoring / Monitoring Cost](https://banes-lab.com/records/tension/model-drift-monitoring-monitoring-cost.md)
- [Tool Interface](https://banes-lab.com/records/lex/tool-interface.md)
- [Bounded Tool-Using Agents](https://banes-lab.com/records/lex/bounded-tool-using-agents.md)
- [Governed Autonomy](https://banes-lab.com/records/lex/governed-autonomy.md)
- [Ungrounded Content](https://banes-lab.com/records/arch/ungrounded-content.md)
- [Agentic Architecture / Determinism](https://banes-lab.com/records/tension/agentic-architecture-determinism.md)

## Linked from

- [The layer topology](https://banes-lab.com/ontology/schema/the-layer-topology.md)
- [The membership](https://banes-lab.com/ontology/schema/the-membership.md)
