
Security News
Deno Goes the Way of the Dinosaur
Cloudflare is acquiring Deno’s team, which will provide another year of bug fixes and security updates before ending support for the runtime.
@tangle-network/agent-runtime
Advanced tools
Shared task-lifecycle skeleton for agents: a recursive loop kernel for chat turns, one-shot tasks, and multi-attempt loops, with trace capture and eval-gated self-improvement. Domain behavior lives in adapters; scoring and ship-gates in @tangle-network/ag
The execution substrate for exact, measurable agent runs.
Runtime turns an AgentProfile into a real execution, coordinates one or many agents under conserved budgets, records what actually happened, and keeps candidate promotion separate from live activation. It does not own benchmark claims or a research archive.
pnpm add @tangle-network/agent-runtime @tangle-network/agent-eval @tangle-network/sandbox
@tangle-network/agent-eval owns scoring, statistical comparison, analyst contracts, and optimization-method interfaces. @tangle-network/sandbox owns isolated execution. These packages release independently; compatibility is proven through packed-consumer tests rather than by pretending they are one package.
Runtime keeps compact integration fixtures. Research questions and preregistrations belong in Discovery; reproducibility campaigns and long-horizon value evidence belong in Discovery Lab.
This is examples/quickstart/minimal.ts. It runs without credentials.
import type { AgentProfile } from '@tangle-network/agent-interface'
import {
inProcessSandboxClient,
runAgentRounds,
type TerminalDecision,
} from '@tangle-network/agent-runtime/kernel'
import type { SandboxEvent } from '@tangle-network/sandbox'
const profile = {
name: 'note-writer',
harness: 'cli-base',
model: { provider: 'scripted', default: 'scripted/note-writer' },
} satisfies AgentProfile
const worker = inProcessSandboxClient({
onPrompt: (): SandboxEvent[] => [
{ type: 'result', data: { result: { note: 'Shipped one-click restore.' } } },
],
})
const result = await runAgentRounds({
task: 'Write a one-line release note for one-click restore.',
driver: {
plan: async (task, history) => (history.length === 0 ? [task] : []),
decide: (): TerminalDecision => 'done',
},
agentRun: { profile, taskToPrompt: (task) => task },
output: { parse: (events) => events },
ctx: { sandboxClient: worker },
})
console.log(`decision: ${result.decision} — ${result.iterations.length} iteration(s)`)
pnpm i && pnpm build
pnpm tsx examples/quickstart/minimal.ts
@tangle-network/agent-runtime/task-queue exports runTaskQueue. Its take(activeIds) callback returns a ready task with a stable identity, or undefined when no task is currently ready; asynchronous admission can persist a checkpoint before execution starts. The iterator yields native fulfilled/rejected settlements in completion order. Returning or throwing from the consumer stops admission and awaits already-started tasks. The caller owns readiness, cancellation, retry, persistence, and interpretation of failures.
Runtime uses the same primitive for round batches and concurrent sandbox lineage work. It does not turn application tasks into agents or impose a graph policy.
@tangle-network/agent-runtime/workspace-store is one versioned store per tenant that every executor shares. WorkspaceStore holds path documents (/memories/workspace/<id>, /memories/members/<memberId>/<id>, /knowledge/**, /files/**); every write is a compare-and-set on revision (ifRevision: null means the path must not exist) and a mismatch throws WorkspaceConflictError. Delete erases content and bytes and keeps a tombstone for erasure audit.
createMemoryTools (memory.remember, memory.recall, memory.forget) and createFileTools (files.list, files.read, files.write, files.delete, files.search) return plain tool objects that mount in-process or behind an MCP endpoint. Identity comes from the host's trusted activeTurn(), never from arguments; defaultMemoryPolicy decides authority and takes the product's admit content hook. renderPinnedMemory renders the per-turn pinned block deterministically. createInMemoryWorkspaceStore is the reference adapter; a persistent adapter runs workspaceStoreContractCases or runWorkspaceStoreContract to prove the same behavior. The module has no node: imports.
| Word | Meaning |
|---|---|
| profile | The complete behavioral declaration: harness, provider/model, prompt, tools, MCP, permissions, resources, hooks, and subagents. |
| worker | An agent that performs one assigned unit of work. |
| driver / supervisor | An agent or deterministic policy that observes work and decides what happens next. |
| verdict | An independently produced validity/score record. |
| harness | What drives the profile. cli-base is direct model execution; claude-code, codex, opencode, and prime run agent harnesses. The complete vocabulary is HarnessType in @tangle-network/agent-interface. |
| delivery | A settled result that passed the caller's completion check. Settlement alone is not delivery. |
| Front door | Use it for | Runnable example |
|---|---|---|
runAgentTaskStream | one agent turn and a normalized event stream | stream-a-turn |
handleChatTurn | one streamed HTTP chat turn plus persistence | chat-handler |
runToolLoop | a model calling tools until it answers or stops | tool-loop |
startRuntimeRun | one durable run record and cost ledger | runtime-run |
runAgentRounds | caller-authored plan/decide loops | quickstart |
supervise | a manager agent driving workers under one budget | supervise |
runGraph | a fixed topology expressed as data | graphs |
startRetainedRun | work that must outlive the initiating process | retained-run |
improve | a detached candidate plus an independent final-test comparison | improve |
Five mechanisms continue interrupted work; choose by what died:
supervise({ runDir }).Runtime's release gates prove that the declared profile reaches the selected backend, provider identity is read back when available, in-band failures cannot settle as empty success, budgets reconcile, resume identity is stable, and packed consumers can install the supported package cohort.
A profile requesting subscription credentials reaches the provider on creation and every new turn. This includes a new invocation after a typed quota refusal and a cold lookup of the retained environment. The provider's account owner binds that turn's credential; Runtime keeps the original deadline, logical node, and native session. Exact replay retains the admitted request, including older admissions that relied on the creation-time profile.
Those are integration proofs, not benchmark-value proofs.
pnpm verify:official-optimizers verifies the official GEPA/Optimize Anything bridge, recipe identities, resume behavior, accounting, and package provenance on a controlled fixture. It does not claim to reproduce GEPA, Omni, AutoResearch, or Meta-Harness benchmark lift. Full benchmark reproduction belongs in Discovery Lab, using the benchmark's own evaluator, matched budgets, frozen partitions, and immutable receipts.
The same boundary applies to trace analysts, Prime Agent RLM, and DSPy RLM: Runtime may expose the execution seam, but analyst quality and benchmark lift must be established outside this repository.
Each release candidate carries one manifest beside its packed archive: agent-runtime-conformance-manifest.json, uploaded with the .tgz by publish.yml.
The same artifact retains the raw cohort-report.json used to verify that manifest.
The release workflow validates the tag once, then checks the archive, official optimizers, and Bench concurrently against that commit.
Publication requires all three checks and verifies the uploaded archive digest before publishing.
release/cohort.json is the single source for the exact Interface, Eval, and Knowledge source releases used by CI and publication.
Update each version and full source commit together when the dependency cohort changes.
The packed-cohort check rejects an archive whose package version or source commit differs from this file.
The manifest names, for this exact archive, what its own conformance tests proved:
verify-packed-cohort.mjs --report recorded it;supported, unsupported, or unproven, the conformance scenario, the result digest, and every test file and case that produced it.A capability whose declared cases do not all pass is unproven, never a pass. Two capabilities are unproven today and stay that way until behavioral evidence exists: interaction response acknowledgement (only a refusal path is covered — the acknowledged response and its replay are not) and context transfer (the retained Runtime path is covered, but no provider test drives a portable context between environments). A missing capability never fails an install; a consumer that needs one asks for it explicitly.
The capability-to-test map is the one hand-authored file, conformance/capabilities.json. Everything downstream of it is mechanical: the emitter runs the named tests, records what they reported, and content-addresses the record. Canonical JSON and hashing come from the published @tangle-network/agent-eval package, so the manifest has one canonical-JSON owner rather than a private one.
# emit (publish.yml does this after packing)
node scripts/emit-conformance-manifest.mjs \
--tarball <archive.tgz> --cohort-report <cohort.json> --out <manifest.json>
# verify — recomputes every digest, reads no workspace source
node scripts/verify-conformance-manifest.mjs <manifest.json> \
--tarball <archive.tgz> --cohort-report <cohort.json> --source-root .
# a consumer requiring specific capabilities fails closed on anything not supported
node scripts/verify-conformance-manifest.mjs <manifest.json> --require session-replay --require cleanup-settlement
Consumers map their own release-check names onto these capability keys locally. Runtime does not learn a product's check vocabulary. Where a key overlaps the @tangle-network/agent-provider-testkit conformance vocabulary, the scenario reuses that testkit name (control-claim-accepted, reconnected-replay, stop-accepted, verified-native-continuation, cleanup-dependency-order, same-response, accepted-transfer-receipt), so the two vocabularies stay one.
Changing the packed bytes, the cohort identity, a recorded scenario result, or the bytes of an evidence file invalidates verification; scripts/conformance-manifest.test.mjs proves each of those four mutations is rejected, and that identical inputs reproduce one digest.
docs/api/durable.md.docs/improve.md./mcp.agent-runtime-top for observe, steer, and cancel./intelligence adapter remains available, but it is not on Runtime's critical release path.examples/README.md — the compact learning path. Examples prove APIs, not benchmark superiority.docs/canonical-api.md — “I want to X → use Y.”docs/api/primitive-catalog.md — generated public surface.docs/improve.md — exact improvement, proposal, review, and activation contracts.bench/HARNESS.md — supported integration and benchmark entry points, plus the evidence-level rules.docs/STABILITY.md — stability promises.pnpm i
pnpm build
pnpm test
pnpm lint
pnpm typecheck
pnpm docs:check
A new example must demonstrate a public entry point that no existing example already teaches. A new benchmark script must either be a reusable adapter/integration fixture or live in Discovery Lab with a preregistration and result receipt.
FAQs
Shared task-lifecycle skeleton for agents: a recursive loop kernel for chat turns, one-shot tasks, and multi-attempt loops, with trace capture and eval-gated self-improvement. Domain behavior lives in adapters; scoring and ship-gates in @tangle-network/ag
The npm package @tangle-network/agent-runtime receives a total of 0 weekly downloads. As such, @tangle-network/agent-runtime popularity was classified as not popular.
We found that @tangle-network/agent-runtime demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Security News
Cloudflare is acquiring Deno’s team, which will provide another year of bug fixes and security updates before ending support for the runtime.

Security News
Anthropic’s free OSS Scanner uses Mythos and other Claude models to find open source vulnerabilities and send maintainers reports with proposed fixes.

Security News
On Front Lines’ Early Adopters: CISO podcast, Andrew Becherer shares lessons from Datadog, weighs the long-term costs of AI-built tools, and explains how founders can actually gain a CISO’s trust.