llm-tool-runtime 0.1.1

Provider-agnostic tool contracts, registry, dispatch, and receipt plumbing for llm-pipeline
Documentation
# llm-tool-runtime

Provider-agnostic tool contracts, registry, dispatch, and receipt plumbing for llm-pipeline.

## Usage

```rust
use llm_tool_runtime::{ToolDefinition, ToolReceipt, ToolRegistry, ToolRuntime};
```

## What this crate is for

This crate defines the tool contract surface (definition, invocation, receipt),
a registry for tool lookup, dispatch logic, and runtime execution plumbing.
It is provider-agnostic and does not own domain truth.

## Non-goals

- do not let local convenience APIs become de facto truth surfaces
- prefer explicit versioned contracts over drift-by-example

## Ecosystem

**Depends on:**
- `stack-ids` -- identity primitives (`AttemptId`, `TrialId`, `TraceCtx`, `ContentDigest`, `ArtifactId`, `ScopeKey`)
- `semantic-memory-forge` -- export/evidence types

**Depended on by:**
- `verification-control`
- `verification-policy`
- `forge-engine` (living-memory)

## stack-ids integration

Uses `AttemptId`, `TrialId`, `TraceCtx`, `ContentDigest`, `DigestBuilder`,
`ArtifactId`, and `ScopeKey` from `stack-ids` for tool receipt identification,
retry lineage, and content-addressed result tracking.