Programmatic API

July 15, 2026 ยท View on GitHub

Compose

import {
  loadStackFromFile,
  resolveStack,
  validateStack,
  loadMergedCatalog,
  stackFromPreset,
  writeStackLock,
} from "@cobusgreyling/harness-foundry-compose";

Runtime

import { runSession } from "@cobusgreyling/harness-foundry-runtime";

const { manifest, stack } = await runSession({
  projectRoot: process.cwd(),
  goal: "Ship feature",
  turns: 1,
});

Trace

import { TraceRecorder, readTraceEvents } from "@cobusgreyling/harness-foundry-trace";

Interface

import { getModelProvider } from "@cobusgreyling/harness-foundry-interface";

const provider = getModelProvider({ primitive: "model/anthropic" });
const result = await provider?.complete({
  goal: "Hello",
  messages: [{ role: "user", content: "Hello" }],
});

Evidence

import { maybeEmitEvidence } from "@cobusgreyling/harness-foundry-emit";

Enable via .foundry/hooks/outerloop.yaml. Emits a full EvidencePackage compatible with outerloop.