---
slug: "hybrid-runtime"
name: "Hybrid Runtime"
packType: "harness"
canonicalPattern: "hybrid"
version: "0.1.0"
trust: "Verified"
publisher: "Agent Workspace Labs"
updatedAt: "2026-04-15"
---

# Hybrid Runtime

> Use rules for known packets, use synthesis only when ambiguity is real.

## Summary

A disciplined runtime pattern that reserves deterministic rendering for tightly scoped known cases and uses an LLM only for bounded synthesis, not as the default execution path for every question.

## Install

```sh
npx attrition-sh pack install hybrid-runtime
```

### Claude Code / AGENTS.md snippet

```md
# Hybrid Runtime
# See: /packs/hybrid-runtime

```

## Contract

_No execution contract defined for this pack type._

## Layers

_No three-layer split defined for this pack type._

## Use When

- Many requests map to known issue packets or stable policies.
- The team wants lower cost and more predictable answers for common cases.
- The same answer shape needs to hold across both deterministic and synthesized runs.

## Avoid When

- The domain is highly unstructured and almost every request is novel.
- The deterministic path is weak enough that it adds noise instead of reliability.

## Key Outcomes

- Routine questions become cheaper and more stable.
- The model is reserved for where synthesis adds value.
- The runtime has a cleaner boundary between retrieval, rendering, and reasoning.

## Minimal Instructions

Route the request first.

If the request matches a known packet with explicit policy or action steps:
- answer deterministically

If the request spans multiple packets or requires ambiguity handling:
- run the bounded synthesis path

Do not default to a full agent run for every request.

## Full Instructions

Build a hybrid runtime.

Path A: deterministic
- use canonical issue or entity packets
- render from rules and trusted fields
- cite exact identifiers and thresholds

Path B: bounded LLM synthesis
- only after routing decides deterministic coverage is insufficient
- limit the model to the validated evidence set
- preserve the same answer packet and quality gate shape

The value is not fewer models. The value is a cleaner decision boundary.

## Evaluation Checklist

- Do known packets render without unnecessary model usage?
- Does the LLM path only activate when the request exceeds deterministic coverage?
- Do both paths emit the same answer packet shape and review metadata?

## Failure Modes

- **[MID] Everything routes to the model because deterministic coverage is not well defined.**
  - Trigger: (legacy — trigger not separated)
  - Prevention: (legacy — no explicit prevention)
- **[MID] Deterministic answers are too brittle because packets are incomplete.**
  - Trigger: (legacy — trigger not separated)
  - Prevention: (legacy — no explicit prevention)
- **[MID] The two paths produce different output contracts and confuse the UI.**
  - Trigger: (legacy — trigger not separated)
  - Prevention: (legacy — no explicit prevention)

## Transfer Matrix

_No measured cross-model transfer data._

## Telemetry

_No telemetry recorded._

## Security Review

_No security review on file._

## Compares With

_No comparative data._

## Related Packs

_No related packs._

## Changelog

_No changelog entries._

## Sources

- [Anthropic: Building effective agents](https://www.anthropic.com/research/building-effective-agents) — Use workflows where they are sufficient; escalate to agents only when needed.
- [FloorAI repo](https://github.com/HomenShum/floorai) — Reference implementation of deterministic and synthesized answer paths in one runtime.

## Examples

- [Builder preview workspace](/workspace-a)
