{
  "name": "harness-runtime",
  "language": "rust",
  "version": "0.1.0",
  "description": "HarnessSpec v0.1 execution runtime \u2014 plane adapter traits, admission gate, loop strategies, no-amplification child spawning, and serde-stable run records (FINAL_SPEC \u00a74)",
  "manifest": "forge-rs/harness-runtime/Cargo.toml",
  "manifestSha256": "99cb4adcbbfd2cb9fef70641eaeb258bc42de053dfa450bb83477b03b88a294a",
  "status": "source-reference",
  "registryPublicationVerified": false,
  "route": "/libraries/rust/harness-runtime",
  "features": {},
  "files": [
    {
      "path": "forge-rs/harness-runtime/src/admission.rs",
      "sha256": "ebc19b872afdf0f6f23f6e10adda41d045dae1cc9dfc7767e1f3eeb15e3ccc29",
      "artifactSha256": "567b4faab455c9066434de3893166c963ced5157233807a3ac742d7c87772ae4",
      "url": "/reference/source/forge-rs/harness-runtime/src/admission.rs.txt",
      "declarations": [
        {
          "name": "::RunContext",
          "line": 35,
          "signature": "#[derive(Debug, Clone)]\npub struct RunContext {\n/// Derivation depth (0 for a root harness; \u00a74.5).\n\npub depth: u32,\n/// Parent run id for spawned children.\n\npub parent_run_id: Option<String>,\n/// The run's trace context, propagated to every provider call.\n\npub trace: TraceContext\n}",
          "documentation": "Runtime-scoped run context: where this run sits in the delegation\ntree and which trace it belongs to."
        },
        {
          "name": "::RunContext::root",
          "line": 46,
          "signature": "pub fn root() -> Self;",
          "documentation": "A root run (depth 0, fresh trace)."
        },
        {
          "name": "::RunContext::child",
          "line": 55,
          "signature": "pub fn child(\n        parent_run_id: impl Into<String>,\n        depth: u32,\n        parent_trace: &TraceContext,\n    ) -> Self;",
          "documentation": "A child run (parent run id, depth, fresh span in the parent trace)."
        },
        {
          "name": "::AdmissionRequest",
          "line": 70,
          "signature": "#[derive(Debug)]\npub struct AdmissionRequest {\n/// The sealed manifest (already \u00a75-validated by `harness-spec`).\n\npub manifest: ValidatedManifest,\n/// The plane providers bound for this run.\n\npub planes: PlaneRegistry,\n/// Where this run sits in the delegation tree.\n\npub run_context: RunContext\n}",
          "documentation": "Everything admission needs to decide."
        },
        {
          "name": "::AdmittedHarness",
          "line": 85,
          "signature": "#[derive(Debug)]\npub struct AdmittedHarness {\n\n}",
          "documentation": "A harness that passed admission: contract sealed, planes bound,\nidentity verified, policy authorized, budget reserved.\n\nThe only way to obtain one is [`HarnessAdmission::admit`]; loop\nstrategies consume it and cannot widen its authority (\u00a75.13)."
        },
        {
          "name": "::AdmittedHarness::run_id",
          "line": 97,
          "signature": "pub fn run_id(&self) -> &str;",
          "documentation": "The run id minted at admission."
        },
        {
          "name": "::AdmittedHarness::manifest",
          "line": 102,
          "signature": "pub fn manifest(&self) -> &ValidatedManifest;",
          "documentation": "The sealed manifest."
        },
        {
          "name": "::AdmittedHarness::planes",
          "line": 107,
          "signature": "pub fn planes(&self) -> &PlaneRegistry;",
          "documentation": "The bound planes."
        },
        {
          "name": "::AdmittedHarness::budget",
          "line": 112,
          "signature": "pub fn budget(&self) -> &BudgetLedger;",
          "documentation": "The run budget ledger (opened from the reservation grant)."
        },
        {
          "name": "::AdmittedHarness::budget_mut",
          "line": 117,
          "signature": "pub fn budget_mut(&mut self) -> &mut BudgetLedger;",
          "documentation": "Mutable ledger access for child budget carving (\u00a74.5)."
        },
        {
          "name": "::AdmittedHarness::evidence",
          "line": 122,
          "signature": "pub fn evidence(&self) -> &AdmissionEvidence;",
          "documentation": "Admission evidence."
        },
        {
          "name": "::AdmittedHarness::context",
          "line": 127,
          "signature": "pub fn context(&self) -> &RunContext;",
          "documentation": "The run context (depth, parent, trace)."
        },
        {
          "name": "::AdmittedHarness::started_at",
          "line": 132,
          "signature": "pub fn started_at(&self) -> DateTime<Utc>;",
          "documentation": "Admission time."
        },
        {
          "name": "::AdmittedHarness::execute",
          "line": 138,
          "signature": "pub async fn execute(\n        self,\n        strategies: &StrategyRegistry,\n        task: impl Into<String>,\n    ) -> Result<RunRecord, RuntimeError>;",
          "documentation": "Execute the admitted harness with its manifest's loop strategy,\nproducing the terminal [`RunRecord`] (\u00a74.4 steps 4\u20137)."
        },
        {
          "name": "::AdmittedHarness::into_parts",
          "line": 156,
          "signature": "pub fn into_parts(self) -> AdmittedParts;",
          "documentation": "Consume the admitted harness into its parts (for strategy drivers)."
        },
        {
          "name": "::AdmittedParts",
          "line": 174,
          "signature": "#[derive(Debug)]\npub struct AdmittedParts {\n/// The run id minted at admission.\n\npub run_id: String,\n/// The sealed manifest.\n\npub manifest: ValidatedManifest,\n/// The bound planes.\n\npub planes: PlaneRegistry,\n/// The run budget ledger.\n\npub budget: BudgetLedger,\n/// Admission evidence.\n\npub evidence: AdmissionEvidence,\n/// The run context.\n\npub context: RunContext,\n/// Admission time.\n\npub started_at: DateTime<Utc>\n}",
          "documentation": "The decomposed admitted harness, for strategies that consume it\n([`AdmittedHarness::into_parts`]). Fields are plain data; the strategy\nstill cannot widen authority \u2014 it holds plane handles already bound\nand narrowed (\u00a75.13)."
        },
        {
          "name": "::HarnessAdmission",
          "line": 193,
          "signature": "#[derive(Debug, Clone)]\npub struct HarnessAdmission {\n\n}",
          "documentation": "The admission gate."
        },
        {
          "name": "::HarnessAdmission::new",
          "line": 201,
          "signature": "pub fn new(strategies: StrategyRegistry, context: ValidationContext) -> Self;",
          "documentation": "An admission gate with an explicit strategy registry and\nvalidation context."
        },
        {
          "name": "::HarnessAdmission::with_defaults",
          "line": 210,
          "signature": "pub fn with_defaults() -> Self;",
          "documentation": "An admission gate with the builtin strategies (`react`) and the\ndefault validation context."
        },
        {
          "name": "::HarnessAdmission::validation_context",
          "line": 218,
          "signature": "pub fn validation_context(&self) -> &ValidationContext;",
          "documentation": "The validation context (used for `admit_toml` and child spawning)."
        },
        {
          "name": "::HarnessAdmission::admit_toml",
          "line": 225,
          "signature": "pub async fn admit_toml(\n        &self,\n        source: &str,\n        planes: PlaneRegistry,\n        run_context: RunContext,\n    ) -> Result<AdmittedHarness, AdmissionError>;",
          "documentation": "Parse, validate, and admit a raw TOML manifest. Validation failure\nis denial (\u00a75.16: a conforming runtime must refuse to execute a\nmanifest that fails validation)."
        },
        {
          "name": "::HarnessAdmission::admit",
          "line": 243,
          "signature": "pub async fn admit(\n        &self,\n        request: AdmissionRequest,\n    ) -> Result<AdmittedHarness, AdmissionError>;",
          "documentation": "Admit a sealed manifest: the ordered fail-closed gate described in\nthe module docs."
        }
      ]
    },
    {
      "path": "forge-rs/harness-runtime/src/budget.rs",
      "sha256": "912ba2f1d2b87b0d48c761457541f8a16bf65595a8a184ab95a98c22f2cdfd61",
      "artifactSha256": "fe6a823d157dc08f1125a98bd619d0091e7a53f72032901f61ac71e5257aad22",
      "url": "/reference/source/forge-rs/harness-runtime/src/budget.rs.txt",
      "declarations": [
        {
          "name": "::BudgetLedger",
          "line": 21,
          "signature": "#[derive(Debug, Clone)]\npub struct BudgetLedger {\n\n}",
          "documentation": "Per-run budget ledger initialized from the admission reservation grant.\n\nThe ledger is deliberately not serializable into the run record: what\narchives is the terminal [`UsageTotals`] snapshot\n([`BudgetLedger::usage`])."
        },
        {
          "name": "::BudgetLedger::new",
          "line": 34,
          "signature": "pub fn new(granted_usd: f64, granted_tokens: u64, on_exhausted: OnBudgetExhausted) -> Self;",
          "documentation": "Open a ledger for the granted reservation."
        },
        {
          "name": "::BudgetLedger::remaining_usd",
          "line": 48,
          "signature": "pub fn remaining_usd(&self) -> f64;",
          "documentation": "Remaining USD."
        },
        {
          "name": "::BudgetLedger::remaining_tokens",
          "line": 53,
          "signature": "pub fn remaining_tokens(&self) -> u64;",
          "documentation": "Remaining tokens."
        },
        {
          "name": "::BudgetLedger::on_exhausted",
          "line": 58,
          "signature": "pub fn on_exhausted(&self) -> OnBudgetExhausted;",
          "documentation": "The configured budget-exhaustion policy (\u00a75.8)."
        },
        {
          "name": "::BudgetLedger::inference_calls",
          "line": 63,
          "signature": "pub fn inference_calls(&self) -> u64;",
          "documentation": "Number of inference calls charged so far."
        },
        {
          "name": "::BudgetLedger::is_exhausted",
          "line": 68,
          "signature": "pub fn is_exhausted(&self) -> bool;",
          "documentation": "True when no further inference call may be attempted."
        },
        {
          "name": "::BudgetLedger::check_can_spend",
          "line": 75,
          "signature": "pub fn check_can_spend(&self) -> Result<(), BudgetError>;",
          "documentation": "Pre-call gate (\u00a74.4 step 4: every model call passes through the\ninference binding and decrements budget \u2014 no call is attempted once\nthe budget is exhausted)."
        },
        {
          "name": "::BudgetLedger::charge",
          "line": 88,
          "signature": "pub fn charge(&mut self, usage: &InferenceUsage);",
          "documentation": "Charge a completed inference call. The call that exhausts the\nbudget is charged in full; the next [`check_can_spend`] then fails,\nso there is no silent overrun (\u00a74.6)."
        },
        {
          "name": "::BudgetLedger::record_tool_invocation",
          "line": 99,
          "signature": "pub fn record_tool_invocation(&mut self);",
          "documentation": "Count a completed tool invocation (usage reporting only; tool\nmetering rides the manifest's meters, not the inference budget)."
        },
        {
          "name": "::BudgetLedger::carve",
          "line": 106,
          "signature": "pub fn carve(&mut self, usd: f64, tokens: u64) -> Result<(), BudgetError>;",
          "documentation": "Carve a child budget out of the remaining budget (\u00a74.5: child\nbudgets are carved out of, not added to, the parent's remaining\nbudgets). The carve is atomic: on failure the ledger is untouched."
        },
        {
          "name": "::BudgetLedger::usage",
          "line": 121,
          "signature": "pub fn usage(&self) -> UsageTotals;",
          "documentation": "Terminal usage snapshot for the run record and settlement."
        }
      ]
    },
    {
      "path": "forge-rs/harness-runtime/src/error.rs",
      "sha256": "361b9d95989945a863f253ca9e9bc6cf29477d77da98bc65dab84cd6ecd7548b",
      "artifactSha256": "36f7e7c64ba8825fe7f7b896e735f5eaa49fd3798391b0c1064a278ebba5ee56",
      "url": "/reference/source/forge-rs/harness-runtime/src/error.rs.txt",
      "declarations": [
        {
          "name": "::RuntimeError",
          "line": 18,
          "signature": "#[derive(Debug, Error)]\npub enum RuntimeError {\n    /// An operation reached a plane that is not bound to a provider.\n    #[error(transparent)]\n    PlaneUnbound(#[from] PlaneUnbound),\n\n    /// Admission denied the harness (\u00a74.4: denied is a terminal state that\n    /// still settles and archives).\n    #[error(transparent)]\n    Admission(#[from] AdmissionError),\n\n    /// Child spawning violated the spawn policy or the no-amplification\n    /// invariant (\u00a74.5).\n    #[error(transparent)]\n    Spawn(#[from] SpawnError),\n\n    /// The manifest selected a loop strategy the runtime has no driver\n    /// for (\u00a75.13: `loop.strategy` must name a registered strategy).\n    #[error(\"loop strategy {strategy:?} has no registered driver in this runtime\")]\n    StrategyUnavailable {\n        /// The strategy named by `loop.strategy`.\n        strategy: String,\n    },\n}",
          "documentation": "Top-level error type for the harness runtime.\n\nRuntime errors are contract violations: unbound planes, admission\ndenials, spawn amplifications. In-run provider failures do not surface\nhere \u2014 per \u00a74.4 they land in a terminal `halted`/`failed` run outcome\nwith settlement, never in silent continuation."
        },
        {
          "name": "::PlaneUnbound",
          "line": 46,
          "signature": "#[derive(Debug, Clone, PartialEq, Eq, Error)]\n#[error(\"plane {plane} is unbound: cannot perform {operation}\")]\npub struct PlaneUnbound {\n/// The unbound plane.\n\npub plane: PlaneKind,\n/// The operation that was attempted.\n\npub operation: &'static str\n}",
          "documentation": "A plane operation was attempted against a plane with no provider\nbound (or bound to a `noop` placeholder, which fails closed)."
        },
        {
          "name": "::PlaneUnbound::new",
          "line": 55,
          "signature": "pub fn new(plane: PlaneKind, operation: &'static str) -> Self;",
          "documentation": "Construct a typed unbound-plane error."
        },
        {
          "name": "::PlaneError",
          "line": 65,
          "signature": "#[derive(Debug, Clone, PartialEq, Error)]\npub enum PlaneError {\n    /// The plane has no provider bound (noop fail-closed path).\n    #[error(transparent)]\n    Unbound(#[from] PlaneUnbound),\n\n    /// The provider is unreachable or unavailable. Per \u00a74.6, availability\n    /// is never disguised as success: admission denies, execution halts.\n    #[error(\"provider unavailable: {message}\")]\n    Unavailable {\n        /// Human-readable detail.\n        message: String,\n    },\n\n    /// The provider actively denied the request (e.g. policy miss,\n    /// insufficient entitlement).\n    #[error(\"provider denied the request: {message}\")]\n    Denied {\n        /// Human-readable detail.\n        message: String,\n    },\n\n    /// The provider did not answer within the configured timeout.\n    #[error(\"provider timed out after {timeout_ms} ms: {message}\")]\n    Timeout {\n        /// The configured timeout in milliseconds.\n        timeout_ms: u64,\n        /// Human-readable detail.\n        message: String,\n    },\n\n    /// The provider answered with a response that could not be decoded or\n    /// fails the plane's contract.\n    #[error(\"invalid provider response: {message}\")]\n    InvalidResponse {\n        /// Human-readable detail.\n        message: String,\n    },\n\n    /// Any other provider failure, with an optional upstream status code.\n    #[error(\"provider error{status_suffix}: {message}\")]\n    Provider {\n        /// Upstream status code when the provider is HTTP-backed.\n        status: Option<u16>,\n        /// Human-readable detail.\n        message: String,\n        /// Pre-rendered status suffix for the Display impl.\n        status_suffix: String,\n    },\n}",
          "documentation": "A provider-side plane failure.\n\nPlane traits return these so callers can distinguish unavailability\n(deny/halt per \u00a74.6) from denials and malformed responses."
        },
        {
          "name": "::PlaneError::unavailable",
          "line": 117,
          "signature": "pub fn unavailable(message: impl Into<String>) -> Self;",
          "documentation": "Convenience constructor for [`PlaneError::Unavailable`]."
        },
        {
          "name": "::PlaneError::denied",
          "line": 124,
          "signature": "pub fn denied(message: impl Into<String>) -> Self;",
          "documentation": "Convenience constructor for [`PlaneError::Denied`]."
        },
        {
          "name": "::PlaneError::invalid_response",
          "line": 131,
          "signature": "pub fn invalid_response(message: impl Into<String>) -> Self;",
          "documentation": "Convenience constructor for [`PlaneError::InvalidResponse`]."
        },
        {
          "name": "::PlaneError::provider",
          "line": 138,
          "signature": "pub fn provider(status: Option<u16>, message: impl Into<String>) -> Self;",
          "documentation": "Convenience constructor for [`PlaneError::Provider`]."
        },
        {
          "name": "::AdmissionError",
          "line": 152,
          "signature": "#[derive(Debug, Error)]\npub enum AdmissionError {\n    /// The manifest failed \u00a75 validation when admission was invoked with\n    /// raw TOML (\u00a75.16: a conforming runtime must refuse to execute a\n    /// manifest that fails validation).\n    #[error(\"manifest validation failed: {0}\")]\n    ValidationFailed(#[from] SpecError),\n\n    /// A plane the manifest requires is not bound to a provider.\n    #[error(\"admission requires the {0}\")]\n    PlaneUnbound(#[from] PlaneUnbound),\n\n    /// The identity plane rejected the lineage: the harness DID does not\n    /// chain to the declared human root, or the provider could not verify\n    /// it (\u00a75.3, \u00a74.6).\n    #[error(\"identity verification failed for {did}: {reason}\")]\n    IdentityRejected {\n        /// The harness agent DID.\n        did: String,\n        /// Why verification failed.\n        reason: String,\n    },\n\n    /// The policy plane denied the inference permission/entitlement the\n    /// manifest requires (\u00a75.8, \u00a74.6: a policy engine miss denies\n    /// in-contract).\n    #[error(\"policy denied {permission}: {reason}\")]\n    PolicyDenied {\n        /// The permission that was checked.\n        permission: String,\n        /// Why the policy plane denied it.\n        reason: String,\n    },\n\n    /// The economics plane refused or could not complete the budget\n    /// reservation (\u00a74.4 step 3: metering failure is denial).\n    #[error(\"budget reservation failed: {0}\")]\n    ReservationFailed(#[source] PlaneError),\n\n    /// The identity plane verified the lineage but returned no durable\n    /// evidence reference (\u00a74.4 step 3: an admission allow without a\n    /// durable `evidenceRef` must not exist).\n    #[error(\"identity verification returned no evidence reference\")]\n    MissingEvidenceRef,\n\n    /// The manifest's `loop.strategy` has no registered driver in this\n    /// runtime (\u00a75.13: `loop.strategy` must name a registered strategy).\n    #[error(\"loop strategy {strategy:?} has no registered driver in this runtime\")]\n    StrategyUnavailable {\n        /// The strategy named by `loop.strategy`.\n        strategy: String,\n    },\n}",
          "documentation": "Admission denial reasons (\u00a74.4 step 3: admit).\n\nEvery variant is a fail-closed terminal decision: on any of these the\nharness MUST NOT execute."
        },
        {
          "name": "::SpawnError",
          "line": 208,
          "signature": "#[derive(Debug, Error)]\npub enum SpawnError {\n    /// The parent manifest declares `spawn.allowed = false`.\n    #[error(\"harness {harness_id:?} does not permit child spawning ([spawn].allowed = false)\")]\n    SpawningDisabled {\n        /// The parent harness id.\n        harness_id: String,\n    },\n\n    /// The child would sit deeper than the manifest bound or the runtime\n    /// maximum derivation depth (\u00a74.5, \u00a75.3).\n    #[error(\"child depth {child_depth} exceeds the maximum derivation depth {max}\")]\n    DepthLimitExceeded {\n        /// The depth the child would occupy.\n        child_depth: u32,\n        /// The effective maximum (min of manifest bound, runtime bound).\n        max: u32,\n    },\n\n    /// The child manifest failed \u00a75 validation on its own terms.\n    #[error(\"child manifest invalid: {0}\")]\n    InvalidChildManifest(#[from] SpecError),\n\n    /// The child would widen authority relative to its parent \u2014 the\n    /// no-amplification invariant (\u00a74.5).\n    #[error(\"no-amplification violation: {0}\")]\n    Amplification(#[from] AmplificationViolation),\n\n    /// The child's declared budgets could not be carved out of the\n    /// parent's remaining budget (\u00a74.5: sibling budgets must not overlap).\n    #[error(\"budget carve failed: {0}\")]\n    BudgetCarve(#[from] BudgetError),\n}",
          "documentation": "Child-spawning denial reasons (\u00a74.5: delegation without narrowing is a\nconformance failure, full stop)."
        },
        {
          "name": "::AmplificationViolation",
          "line": 244,
          "signature": "#[derive(Debug, Clone, PartialEq, Error)]\n#[error(\"[{rule}] {path}: {message}\")]\npub struct AmplificationViolation {\n/// Machine-checkable rule code.\n\npub rule: AmplificationRule,\n/// Dotted manifest path of the offending child value.\n\npub path: String,\n/// Human-readable explanation citing the governing spec section.\n\npub message: String\n}",
          "documentation": "A single \u00a74.5 no-amplification violation."
        },
        {
          "name": "::AmplificationViolation::new",
          "line": 255,
          "signature": "pub fn new(\n        rule: AmplificationRule,\n        path: impl Into<String>,\n        message: impl Into<String>,\n    ) -> Self;",
          "documentation": "Construct a violation."
        },
        {
          "name": "::AmplificationRule",
          "line": 270,
          "signature": "#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]\npub enum AmplificationRule {\n    /// `tools.allow` is not a subset of the parent's (\u00a74.5).\n    ToolSuperset,\n    /// `capabilities.act_refs` is not a subset of the parent's (\u00a74.5).\n    CapabilitySuperset,\n    /// `policy.data_classes_allowed` is not a subset of the parent's\n    /// (\u00a74.5).\n    DataClassSuperset,\n    /// A declared budget exceeds `spawn.child_budget_fraction_max` of the\n    /// parent's remaining budget (\u00a74.5, \u00a75.13).\n    BudgetFractionExceeded,\n    /// `memory.types` is not a subset of the parent's (\u00a74.5: effective\n    /// authority of any subtree node is bounded by the root's).\n    MemoryTypeSuperset,\n    /// The parent is text-only (no `[perception]`) but the child declares\n    /// one (\u00a74.7: perception is authority, narrowed on spawn).\n    PerceptionIntroduced,\n    /// `perception.modalities` is not a subset of the parent's (\u00a74.7.5).\n    ModalitySuperset,\n    /// `perception.max_media_bytes` exceeds the parent's cap (\u00a74.5:\n    /// budgets and caps narrow, they never loosen).\n    MediaCapLoosened,\n    /// `identity.max_child_depth` exceeds the parent's bound (\u00a74.5:\n    /// derivation depth respects the manifest bound).\n    ChildDepthSuperset,\n    /// A parent-required tool approval was dropped by the child for a tool\n    /// it keeps (\u00a75.9: dropping a HITL gate widens effective authority).\n    ApprovalGateDropped,\n}",
          "documentation": "Machine-checkable codes for \u00a74.5 narrowing rules."
        },
        {
          "name": "::BudgetError",
          "line": 321,
          "signature": "#[derive(Debug, Clone, PartialEq, Error)]\npub enum BudgetError {\n    /// A carve or charge exceeded the remaining budget.\n    #[error(\n        \"insufficient budget: requested {requested_usd} USD / {requested_tokens} tokens, \\\n         remaining {remaining_usd} USD / {remaining_tokens} tokens\"\n    )]\n    Insufficient {\n        /// Requested USD.\n        requested_usd: f64,\n        /// Requested tokens.\n        requested_tokens: u64,\n        /// Remaining USD.\n        remaining_usd: f64,\n        /// Remaining tokens.\n        remaining_tokens: u64,\n    },\n\n    /// The budget is exhausted; the configured `on_budget_exhausted`\n    /// policy now applies (\u00a75.8).\n    #[error(\"budget exhausted ({remaining_usd} USD / {remaining_tokens} tokens remaining)\")]\n    Exhausted {\n        /// Remaining USD (may be zero or negative after the final charge).\n        remaining_usd: f64,\n        /// Remaining tokens.\n        remaining_tokens: u64,\n    },\n}",
          "documentation": "Budget accounting failure (\u00a74.6: budget exhaustion halts and settles;\nthere is no silent overrun)."
        },
        {
          "name": "::TraceContextError",
          "line": 352,
          "signature": "#[derive(Debug, Clone, PartialEq, Eq, Error)]\n#[error(\"invalid W3C traceparent value {value:?}: {reason}\")]\npub struct TraceContextError {\n/// The offending header value.\n\npub value: String,\n/// Why it is invalid.\n\npub reason: String\n}",
          "documentation": "Trace-context parsing failure."
        }
      ]
    },
    {
      "path": "forge-rs/harness-runtime/src/lib.rs",
      "sha256": "6884c74f96496f4aba387742eaf8ee635c6379b486d0d4dc577b34ed649431c2",
      "artifactSha256": "1fcfd2513833672dc9fe604a68a3fa74ee047809e2c238a2c654e6989a59d24e",
      "url": "/reference/source/forge-rs/harness-runtime/src/lib.rs.txt",
      "declarations": [
        {
          "name": "admission",
          "line": 70,
          "signature": "pub mod admission;",
          "documentation": "# harness-runtime\n\nThe HarnessSpec v0.1 execution runtime: it turns a sealed\n[`ValidatedManifest`](harness_spec::ValidatedManifest) from\n[`harness-spec`] into an executed, settled, archived run, implementing\nthe `one/app/FINAL_SPEC.md` \u00a74 harness lifecycle:\n\n```text\nauthor \u2192 validate \u2192 admit \u2192 execute \u2192 verify \u2192 settle \u2192 archive\n                       \u2502        \u2502        \u2502\n                       \u25bc        \u25bc        \u25bc\n                    denied   halted   failed   (all still settle + archive)\n```\n\n- **Plane adapter traits** ([`planes`]) \u2014 one narrow async trait per\n  authority plane plus the perception ingress, with a\n  [`PlaneRegistry`], a fail-closed [`NoopPlanes`](planes::NoopPlanes)\n  set (typed [`PlaneUnbound`] errors), and an\n  [`HttpPlaneClient`](planes::HttpPlaneClient) base with timeout\n  enforcement and W3C trace-context propagation.\n- **Admission gate** ([`HarnessAdmission`]) \u2014 ordered fail-closed\n  checks: strategy registered \u2192 planes bound \u2192 identity verified with\n  durable evidence \u2192 policy authorized \u2192 economics budget reserved.\n  Any failure denies; a denied harness never executes.\n- **Loop strategies** ([`strategy`]) \u2014 a registry, the\n  [`ReactLoop`](strategy::ReactLoop) driver (budget checks before\n  every model call; allowlist + approval gates before every tool\n  invocation), and the\n  [`MicroDagStrategy`](strategy::MicroDagStrategy) contract with real\n  DAG validation/topological layering for host-registered drivers.\n- **Child spawning** ([`spawn::spawn_child`]) \u2014 programmatic \u00a74.5\n  no-amplification enforcement: subset checks on capabilities, tools,\n  data classes, memory types, and modalities; budget ceilings as a\n  fraction of the parent's *remaining* budget with ledger carving so\n  siblings cannot overlap; depth bounded by manifest and runtime\n  limits; parent-declared approval gates cannot be dropped.\n- **Run record** ([`RunRecord`]) \u2014 the serde-stable evidence payload:\n  manifest hash, admission evidence, plane decisions, gate results,\n  usage totals, settlement, and terminal outcome. This is the future\n  Sigil-anchor payload, so its schema is pinned by test.\n\n## Usage\n\n```no_run\nuse harness_runtime::{\n    HarnessAdmission, PlaneRegistry, RunContext, StrategyRegistry,\n};\nuse harness_spec::ValidatedManifest;\n\n# async fn example(planes: PlaneRegistry) -> Result<(), Box<dyn std::error::Error>> {\nlet admission = HarnessAdmission::with_defaults();\nlet source = include_str!(\"../../harness-spec/tests/fixtures/brownfield-coder.toml\");\nlet admitted = admission\n    .admit_toml(source, planes, RunContext::root())\n    .await?; // denied manifests never reach execution\nlet strategies = StrategyRegistry::with_builtins();\nlet record = admitted.execute(&strategies, \"fix the flaky test\").await?;\nprintln!(\"outcome: {:?}\", record.outcome.kind());\n# Ok(())\n# }\n```\n\nProvider implementations (Foundry, Lanes, Akasha, Garden, Cambium,\nNous, Flocks) live outside this crate; the runtime binds them through\nthe plane traits and fails closed when a required plane is unbound."
        },
        {
          "name": "budget",
          "line": 71,
          "signature": "pub mod budget;",
          "documentation": ""
        },
        {
          "name": "error",
          "line": 72,
          "signature": "pub mod error;",
          "documentation": ""
        },
        {
          "name": "planes",
          "line": 73,
          "signature": "pub mod planes;",
          "documentation": ""
        },
        {
          "name": "record",
          "line": 74,
          "signature": "pub mod record;",
          "documentation": ""
        },
        {
          "name": "spawn",
          "line": 75,
          "signature": "pub mod spawn;",
          "documentation": ""
        },
        {
          "name": "spine",
          "line": 76,
          "signature": "pub mod spine;",
          "documentation": ""
        },
        {
          "name": "strategy",
          "line": 77,
          "signature": "pub mod strategy;",
          "documentation": ""
        },
        {
          "name": "trace",
          "line": 78,
          "signature": "pub mod trace;",
          "documentation": ""
        },
        {
          "name": "pub use admission::{\n    AdmissionRequest, AdmittedHarness, AdmittedParts, HarnessAdmission, RunContext,\n};",
          "line": 80,
          "signature": "pub use admission::{\n    AdmissionRequest, AdmittedHarness, AdmittedParts, HarnessAdmission, RunContext,\n};",
          "documentation": ""
        },
        {
          "name": "pub use budget::BudgetLedger;",
          "line": 83,
          "signature": "pub use budget::BudgetLedger;",
          "documentation": ""
        },
        {
          "name": "pub use error::{\n    AdmissionError, AmplificationRule, AmplificationViolation, BudgetError, PlaneError,\n    PlaneUnbound, RuntimeError, SpawnError, TraceContextError,\n};",
          "line": 84,
          "signature": "pub use error::{\n    AdmissionError, AmplificationRule, AmplificationViolation, BudgetError, PlaneError,\n    PlaneUnbound, RuntimeError, SpawnError, TraceContextError,\n};",
          "documentation": ""
        },
        {
          "name": "pub use planes::{\n    ApprovalDecision, ApprovalRequest, BudgetReservation, BudgetReservationRequest, ContextFrame,\n    ContextPlane, ContextRequest, EconomicsPlane, GateRequest, GateResult, HttpPlaneClient,\n    IdentityPlane, InferencePlane, InferenceRequest, InferenceResponse, InferenceUsage,\n    LineageVerification, LineageVerificationRequest, MediaArtifact, MemoryPlane, MemoryWrite,\n    ModelOutput, NoopPlanes, PerceptionPlane, PerceptionRecord, Placement, PlacementRequest, Plane,\n    PlaneKind, PlaneRegistry, PolicyDecision, PolicyPlane, PolicyRequest, SettlementRecord,\n    SettlementRequest, SubstratePlane, TelemetryEvent, TelemetryPlane, ToolInvocation, ToolOutput,\n    ToolsPlane, TranscriptEntry, TranscriptRole, VerificationPlane,\n};",
          "line": 88,
          "signature": "pub use planes::{\n    ApprovalDecision, ApprovalRequest, BudgetReservation, BudgetReservationRequest, ContextFrame,\n    ContextPlane, ContextRequest, EconomicsPlane, GateRequest, GateResult, HttpPlaneClient,\n    IdentityPlane, InferencePlane, InferenceRequest, InferenceResponse, InferenceUsage,\n    LineageVerification, LineageVerificationRequest, MediaArtifact, MemoryPlane, MemoryWrite,\n    ModelOutput, NoopPlanes, PerceptionPlane, PerceptionRecord, Placement, PlacementRequest, Plane,\n    PlaneKind, PlaneRegistry, PolicyDecision, PolicyPlane, PolicyRequest, SettlementRecord,\n    SettlementRequest, SubstratePlane, TelemetryEvent, TelemetryPlane, ToolInvocation, ToolOutput,\n    ToolsPlane, TranscriptEntry, TranscriptRole, VerificationPlane,\n};",
          "documentation": ""
        },
        {
          "name": "pub use record::{\n    AdmissionEvidence, HaltReason, PlaneDecision, RunOutcome, RunOutcomeKind, RunRecord,\n    SettlementEvidence, UsageTotals, RUN_RECORD_SCHEMA_VERSION,\n};",
          "line": 98,
          "signature": "pub use record::{\n    AdmissionEvidence, HaltReason, PlaneDecision, RunOutcome, RunOutcomeKind, RunRecord,\n    SettlementEvidence, UsageTotals, RUN_RECORD_SCHEMA_VERSION,\n};",
          "documentation": ""
        },
        {
          "name": "pub use spawn::{spawn_child, SpawnedChild};",
          "line": 102,
          "signature": "pub use spawn::{spawn_child, SpawnedChild};",
          "documentation": ""
        },
        {
          "name": "pub use spine::{\n    MapContextPlane, MapMemoryPlane, MapSpineClient, MapSpineConfig, SpineDispatchRecord,\n    SpineDispatchStatus,\n};",
          "line": 103,
          "signature": "pub use spine::{\n    MapContextPlane, MapMemoryPlane, MapSpineClient, MapSpineConfig, SpineDispatchRecord,\n    SpineDispatchStatus,\n};",
          "documentation": ""
        },
        {
          "name": "pub use strategy::{\n    DagError, LoopStrategy, MicroDag, MicroDagNode, MicroDagStrategy, ReactLoop, RunPlan,\n    StrategyRegistry,\n};",
          "line": 107,
          "signature": "pub use strategy::{\n    DagError, LoopStrategy, MicroDag, MicroDagNode, MicroDagStrategy, ReactLoop, RunPlan,\n    StrategyRegistry,\n};",
          "documentation": ""
        },
        {
          "name": "pub use trace::{TraceContext, TRACEPARENT_HEADER};",
          "line": 111,
          "signature": "pub use trace::{TraceContext, TRACEPARENT_HEADER};",
          "documentation": ""
        }
      ]
    },
    {
      "path": "forge-rs/harness-runtime/src/planes/context.rs",
      "sha256": "0cedde4816776d414e266e0367e8c78e4102ef04771caf499c2e8b1e39bdd285",
      "artifactSha256": "4cdbf3dbda8545b775db35795d34880116d62d1b59060e30ef80406fbaf59be0",
      "url": "/reference/source/forge-rs/harness-runtime/src/planes/context.rs.txt",
      "declarations": [
        {
          "name": "::ContextRequest",
          "line": 15,
          "signature": "#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]\npub struct ContextRequest {\n/// Tenant scope from `[context].scope`.\n\npub scope: ContextScope,\n/// The task text the frame is packed around.\n\npub task: String,\n/// Hard cap for the packed frame, from `[context].frame_budget_tokens`.\n\npub frame_budget_tokens: u64\n}",
          "documentation": "A frame-pack request (\u00a75.6: `frame_budget_tokens` is enforced at pack\ntime; the runtime rejects oversized frames rather than truncating\nsilently)."
        },
        {
          "name": "::ContextFrame",
          "line": 26,
          "signature": "#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]\npub struct ContextFrame {\n/// The packed frame content delivered to the inference plane.\n\npub packed: String,\n/// Actual frame size in tokens. The runtime rejects the frame when\n\n/// this exceeds the declared cap (\u00a75.6).\n\npub tokens: u64\n}",
          "documentation": "A packed context frame."
        },
        {
          "name": "::ContextPlane",
          "line": 36,
          "signature": "#[async_trait]\npub trait ContextPlane: Plane {\n    /// Pack the governed context frame for one run.\n    async fn pack_frame(&self, request: ContextRequest) -> Result<ContextFrame, PlaneError>;\n}",
          "documentation": "Context plane adapter."
        }
      ]
    },
    {
      "path": "forge-rs/harness-runtime/src/planes/economics.rs",
      "sha256": "198f9a504d5ab8795c3b94f3fa12e74a7c35f6e786c5e7ad950a8b3041158967",
      "artifactSha256": "16be06a73742350a21df3f4c12d797069dfb492488c289408a1957237e8a0818",
      "url": "/reference/source/forge-rs/harness-runtime/src/planes/economics.rs.txt",
      "declarations": [
        {
          "name": "::BudgetReservationRequest",
          "line": 16,
          "signature": "#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]\npub struct BudgetReservationRequest {\n/// The run id this reservation is tied to.\n\npub run_id: String,\n/// BLAKE3 manifest hash (hex) identifying the harness contract.\n\npub manifest_hash: String,\n/// Requested USD cap (`[inference].budget_usd`).\n\npub budget_usd: f64,\n/// Requested token cap (`[inference].budget_tokens`).\n\npub budget_tokens: u64,\n/// Declared meter map (`[economics].meters`, Garden two-segment keys).\n\npub meters: BTreeMap<String, String>,\n/// Idempotency key per `[economics].idempotency` discipline.\n\npub idempotency_key: String\n}",
          "documentation": "Budget reservation input (\u00a74.4 step 3: Garden metering is part of\nadmission; metering failure is denial)."
        },
        {
          "name": "::BudgetReservation",
          "line": 34,
          "signature": "#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]\npub struct BudgetReservation {\n/// Provider-side reservation id, echoed back at settlement.\n\npub reservation_id: String,\n/// Granted USD cap.\n\npub granted_usd: f64,\n/// Granted token cap.\n\npub granted_tokens: u64,\n/// Durable evidence reference for the reservation.\n\npub evidence_ref: Option<String>\n}",
          "documentation": "The granted reservation. The runtime's budget ledger opens with these\namounts, which may be lower than requested (never higher)."
        },
        {
          "name": "::SettlementRequest",
          "line": 48,
          "signature": "#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]\npub struct SettlementRequest {\n/// The run id.\n\npub run_id: String,\n/// The reservation being settled.\n\npub reservation_id: String,\n/// Terminal usage totals.\n\npub usage: UsageTotals,\n/// Terminal outcome kind.\n\npub outcome: RunOutcomeKind,\n/// Idempotency key (same discipline as the reservation).\n\npub idempotency_key: String\n}",
          "documentation": "Settlement input (\u00a74.4 step 6: usage meters flush idempotently per\ndecision/run keys; the outcome is final and immutable)."
        },
        {
          "name": "::SettlementRecord",
          "line": 63,
          "signature": "#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]\npub struct SettlementRecord {\n/// Provider-side settlement id.\n\npub settlement_id: String,\n/// Settled USD.\n\npub settled_usd: f64,\n/// Settled tokens.\n\npub settled_tokens: u64,\n/// Durable evidence reference for the settlement.\n\npub evidence_ref: Option<String>\n}",
          "documentation": "The settlement receipt."
        },
        {
          "name": "::EconomicsPlane",
          "line": 76,
          "signature": "#[async_trait]\npub trait EconomicsPlane: Plane {\n    /// Reserve the run budget at admission. Failure is denial (\u00a74.4,\n    /// \u00a74.6): the harness must not execute.\n    async fn reserve_budget(\n        &self,\n        request: BudgetReservationRequest,\n    ) -> Result<BudgetReservation, PlaneError>;\n\n    /// Settle the run exactly once, on every terminal state \u2014 verified,\n    /// failed, halted, denied all still settle (\u00a74.4).\n    async fn settle(&self, request: SettlementRequest) -> Result<SettlementRecord, PlaneError>;\n}",
          "documentation": "Economics plane adapter."
        }
      ]
    },
    {
      "path": "forge-rs/harness-runtime/src/planes/http.rs",
      "sha256": "bc8f1f50d78d444a8ed950487b585a3a2f747a3f6f97b7fb0029c3e6325b378a",
      "artifactSha256": "59611c289f25ad49b0c77911cd22c1a843cd799aa4cef6c745341a964b677ab6",
      "url": "/reference/source/forge-rs/harness-runtime/src/planes/http.rs.txt",
      "declarations": [
        {
          "name": "::HttpClientError",
          "line": 21,
          "signature": "#[derive(Debug, Error)]\npub enum HttpClientError {\n    /// The base URL is not a valid absolute http(s) URL.\n    #[error(\"invalid plane base URL {url:?}: {reason}\")]\n    InvalidBaseUrl {\n        /// The offending URL.\n        url: String,\n        /// Why it is invalid.\n        reason: String,\n    },\n\n    /// The underlying HTTP client could not be built.\n    #[error(\"http client build failed: {0}\")]\n    BuildFailed(String),\n}",
          "documentation": "HTTP plane client construction failure."
        },
        {
          "name": "::HttpPlaneClient",
          "line": 44,
          "signature": "#[derive(Debug, Clone)]\npub struct HttpPlaneClient {\n\n}",
          "documentation": "Base client for HTTP-backed plane providers.\n\nEvery request carries the run's `traceparent` header and is bounded by\nthe configured timeout; timeouts map to [`PlaneError::Timeout`],\nconnect failures to [`PlaneError::Unavailable`], non-2xx statuses to\n[`PlaneError::Provider`], and undecodable bodies to\n[`PlaneError::InvalidResponse`] \u2014 the \u00a74.6 vocabulary."
        },
        {
          "name": "::HttpPlaneClient::new",
          "line": 57,
          "signature": "pub fn new(\n        plane: PlaneKind,\n        base_url: impl Into<String>,\n        timeout: Duration,\n    ) -> Result<Self, HttpClientError>;",
          "documentation": "Build a client for one plane.\n\n`timeout` bounds each request end-to-end. `base_url` must be an\nabsolute http(s) URL; a trailing slash is normalized away."
        },
        {
          "name": "::HttpPlaneClient::with_default_header",
          "line": 92,
          "signature": "pub fn with_default_header(mut self, name: &str, value: impl Into<String>) -> Self;",
          "documentation": "Attach a default header sent on every request (e.g. an\n`authorization` header for an authenticated provider route).\nHeader names are validated; values are stored as given and never\nlogged by this client."
        },
        {
          "name": "::HttpPlaneClient::plane",
          "line": 99,
          "signature": "pub fn plane(&self) -> PlaneKind;",
          "documentation": "The plane this client serves."
        },
        {
          "name": "::HttpPlaneClient::base_url",
          "line": 104,
          "signature": "pub fn base_url(&self) -> &str;",
          "documentation": "The normalized base URL (no trailing slash)."
        },
        {
          "name": "::HttpPlaneClient::timeout",
          "line": 109,
          "signature": "pub fn timeout(&self) -> Duration;",
          "documentation": "The configured per-request timeout."
        },
        {
          "name": "::HttpPlaneClient::url",
          "line": 114,
          "signature": "pub fn url(&self, path: &str) -> String;",
          "documentation": "Resolve a provider path against the base URL."
        },
        {
          "name": "::HttpPlaneClient::post_json",
          "line": 120,
          "signature": "pub async fn post_json<B, T>(\n        &self,\n        path: &str,\n        body: &B,\n        trace: &TraceContext,\n    ) -> Result<T, PlaneError>\n    where\n        B: Serialize + Sync,\n        T: DeserializeOwned,;",
          "documentation": "POST a JSON body and decode a JSON response, with trace-context\npropagation and \u00a74.6 error mapping."
        },
        {
          "name": "::HttpPlaneClient::get_json",
          "line": 147,
          "signature": "pub async fn get_json<T>(&self, path: &str, trace: &TraceContext) -> Result<T, PlaneError>\n    where\n        T: DeserializeOwned,;",
          "documentation": "GET and decode a JSON response, with trace-context propagation and\n\u00a74.6 error mapping."
        }
      ]
    },
    {
      "path": "forge-rs/harness-runtime/src/planes/identity.rs",
      "sha256": "4aa7c40c226dd1df517563393552d5b90263d3d9a207c27e47edcd65663802f6",
      "artifactSha256": "31823eaa1bc21b8789eb03b956ee0a96af3d3163a2dbf75f93fd830cca8af393",
      "url": "/reference/source/forge-rs/harness-runtime/src/planes/identity.rs.txt",
      "declarations": [
        {
          "name": "::LineageVerificationRequest",
          "line": 13,
          "signature": "#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]\npub struct LineageVerificationRequest {\n/// The harness agent DID (`[identity].did`).\n\npub did: String,\n/// The lineage proof reference (`[identity].lineage_proof`).\n\npub lineage_proof: String,\n/// The accountable owner the chain must terminate at\n\n/// (`[harness].owner`).\n\npub expected_owner: String,\n/// Derivation depth of this run (0 for a root harness).\n\npub depth: u32\n}",
          "documentation": "Lineage verification input (\u00a75.3: `lineage_proof` must resolve to a\nchain terminating at `[harness].owner`'s human root)."
        },
        {
          "name": "::LineageVerification",
          "line": 27,
          "signature": "#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]\npub struct LineageVerification {\n/// True when the chain resolves and terminates at the expected human\n\n/// root.\n\npub verified: bool,\n/// The human root the chain terminates at, when resolved.\n\npub human_root: Option<String>,\n/// Durable evidence reference for the verification (\u00a74.4 step 3: an\n\n/// admission allow without a durable `evidenceRef` must not exist).\n\npub evidence_ref: Option<String>\n}",
          "documentation": "The identity plane's verdict."
        },
        {
          "name": "::IdentityPlane",
          "line": 40,
          "signature": "#[async_trait]\npub trait IdentityPlane: Plane {\n    /// Verify that `request.did` chains to `request.expected_owner`'s\n    /// human root. Provider unavailability is a typed\n    /// [`PlaneError::Unavailable`], never a silent pass (\u00a74.6).\n    async fn verify_lineage(\n        &self,\n        request: LineageVerificationRequest,\n    ) -> Result<LineageVerification, PlaneError>;\n}",
          "documentation": "Identity plane adapter."
        }
      ]
    },
    {
      "path": "forge-rs/harness-runtime/src/planes/inference.rs",
      "sha256": "dbae4a4e743b6d0d814017894549bf2bdb5eaf3d817743ddb99a6aaf8a9ed876",
      "artifactSha256": "75b2a40aec5f8211989c3ccafe1f23b85e7a5c6a3e5ba0828193360e955a4a8f",
      "url": "/reference/source/forge-rs/harness-runtime/src/planes/inference.rs.txt",
      "declarations": [
        {
          "name": "::InferenceRequest",
          "line": 12,
          "signature": "#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]\npub struct InferenceRequest {\n/// The task (or packed context frame) the call is grounded in.\n\npub task: String,\n/// The loop transcript so far (actions and observations, oldest\n\n/// first).\n\npub transcript: Vec<TranscriptEntry>,\n/// Optional output-token cap for this call.\n\npub max_output_tokens: Option<u64>\n}",
          "documentation": "One model call issued by a loop strategy."
        },
        {
          "name": "::TranscriptEntry",
          "line": 24,
          "signature": "#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]\npub struct TranscriptEntry {\n/// Whether this entry is an action the loop took or an observation it\n\n/// received back.\n\npub role: TranscriptRole,\n/// Entry content.\n\npub content: String\n}",
          "documentation": "A transcript entry carried between loop steps."
        },
        {
          "name": "::TranscriptRole",
          "line": 35,
          "signature": "#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]\n#[serde(rename_all = \"snake_case\")]\npub enum TranscriptRole {\n    /// Something the loop did (a tool call, an answer attempt).\n    Action,\n    /// What came back (tool output, denials, errors).\n    Observation,\n}",
          "documentation": "Transcript entry role."
        },
        {
          "name": "::ModelOutput",
          "line": 48,
          "signature": "#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]\n#[serde(tag = \"kind\", rename_all = \"snake_case\")]\npub enum ModelOutput {\n    /// A text completion (the loop's final answer candidate).\n    Completion {\n        /// The completion text.\n        text: String,\n    },\n    /// A request to invoke a tool.\n    ToolCall {\n        /// The `<interface>/<action>` tool identifier.\n        tool: String,\n        /// Opaque tool input (plane-defined encoding).\n        input: String,\n    },\n}",
          "documentation": "The model's structured output for one step.\n\nLoop-neutral: a completion ends the step sequence; a tool call asks\nthe loop to invoke the tools plane and feed the observation back."
        },
        {
          "name": "::InferenceUsage",
          "line": 66,
          "signature": "#[derive(Debug, Clone, Copy, PartialEq, Serialize, Deserialize)]\npub struct InferenceUsage {\n/// Prompt/input tokens.\n\npub input_tokens: u64,\n/// Completion/output tokens.\n\npub output_tokens: u64,\n/// USD cost of this call.\n\npub cost_usd: f64\n}",
          "documentation": "Metered usage for one call; the economics book decrements by exactly\nthese amounts."
        },
        {
          "name": "::InferenceUsage::total_tokens",
          "line": 77,
          "signature": "pub fn total_tokens(&self) -> u64;",
          "documentation": "Total tokens (input + output)."
        },
        {
          "name": "::InferenceResponse",
          "line": 84,
          "signature": "#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]\npub struct InferenceResponse {\n/// Structured model output.\n\npub output: ModelOutput,\n/// Metered usage for the call.\n\npub usage: InferenceUsage\n}",
          "documentation": "The inference plane's response for one call."
        },
        {
          "name": "::InferencePlane",
          "line": 93,
          "signature": "#[async_trait]\npub trait InferencePlane: Plane {\n    /// Run one model call through the binding. Routes resolve per\n    /// `[inference].route_policy` (\u00a75.8: live catalog by default; pins\n    /// fail closed when no longer offered).\n    async fn complete(&self, request: InferenceRequest) -> Result<InferenceResponse, PlaneError>;\n}",
          "documentation": "Inference plane adapter."
        }
      ]
    },
    {
      "path": "forge-rs/harness-runtime/src/planes/memory.rs",
      "sha256": "755e65916c753569218181cc1b70e58894bd5ca8d419d07dfa06f2192d2ac6ea",
      "artifactSha256": "91880167740522b4733f8167b48dd6bb646cc4f8113bdd8cfe1c657bb964541d",
      "url": "/reference/source/forge-rs/harness-runtime/src/planes/memory.rs.txt",
      "declarations": [
        {
          "name": "::MemoryWrite",
          "line": 13,
          "signature": "#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]\npub struct MemoryWrite {\n/// Which memory type the write targets.\n\npub kind: MemoryType,\n/// Application-defined key.\n\npub key: String,\n/// The content to store.\n\npub content: String\n}",
          "documentation": "A memory-plane write governed by `[memory].write_policy` (\u00a75.7)."
        },
        {
          "name": "::MemoryPlane",
          "line": 24,
          "signature": "#[async_trait]\npub trait MemoryPlane: Plane {\n    /// Write into the bound mind. Returns the provider's evidence\n    /// reference for the write, when it produces one.\n    async fn write(&self, write: MemoryWrite) -> Result<Option<String>, PlaneError>;\n\n    /// Consolidate the run's task-scoped writes into durable memory.\n    /// The runtime invokes this only for `verified` runs (\u00a75.7:\n    /// consolidation must not occur for runs that end `failed`, `halted`,\n    /// or `denied`). Returns the consolidation evidence reference, when\n    /// the provider produces one.\n    async fn consolidate(&self, mind: String) -> Result<Option<String>, PlaneError>;\n}",
          "documentation": "Memory plane adapter."
        }
      ]
    },
    {
      "path": "forge-rs/harness-runtime/src/planes/mod.rs",
      "sha256": "2b25f5934078544ef559bfe8d52667fca8af025b2f906627e3ceca1c7cc500da",
      "artifactSha256": "1ca3ec2dccc43c506f81c88af0bbb3069d01184023949033273de2cc0ae80f06",
      "url": "/reference/source/forge-rs/harness-runtime/src/planes/mod.rs.txt",
      "declarations": [
        {
          "name": "pub use context::{ContextFrame, ContextPlane, ContextRequest};",
          "line": 31,
          "signature": "pub use context::{ContextFrame, ContextPlane, ContextRequest};",
          "documentation": ""
        },
        {
          "name": "pub use economics::{\n    BudgetReservation, BudgetReservationRequest, EconomicsPlane, SettlementRecord,\n    SettlementRequest,\n};",
          "line": 32,
          "signature": "pub use economics::{\n    BudgetReservation, BudgetReservationRequest, EconomicsPlane, SettlementRecord,\n    SettlementRequest,\n};",
          "documentation": ""
        },
        {
          "name": "pub use http::HttpPlaneClient;",
          "line": 36,
          "signature": "pub use http::HttpPlaneClient;",
          "documentation": ""
        },
        {
          "name": "pub use identity::{IdentityPlane, LineageVerification, LineageVerificationRequest};",
          "line": 37,
          "signature": "pub use identity::{IdentityPlane, LineageVerification, LineageVerificationRequest};",
          "documentation": ""
        },
        {
          "name": "pub use inference::{\n    InferencePlane, InferenceRequest, InferenceResponse, InferenceUsage, ModelOutput,\n    TranscriptEntry, TranscriptRole,\n};",
          "line": 38,
          "signature": "pub use inference::{\n    InferencePlane, InferenceRequest, InferenceResponse, InferenceUsage, ModelOutput,\n    TranscriptEntry, TranscriptRole,\n};",
          "documentation": ""
        },
        {
          "name": "pub use memory::{MemoryPlane, MemoryWrite};",
          "line": 42,
          "signature": "pub use memory::{MemoryPlane, MemoryWrite};",
          "documentation": ""
        },
        {
          "name": "pub use noop::NoopPlanes;",
          "line": 43,
          "signature": "pub use noop::NoopPlanes;",
          "documentation": ""
        },
        {
          "name": "pub use perception::{MediaArtifact, PerceptionPlane, PerceptionRecord};",
          "line": 44,
          "signature": "pub use perception::{MediaArtifact, PerceptionPlane, PerceptionRecord};",
          "documentation": ""
        },
        {
          "name": "pub use policy::{PolicyDecision, PolicyPlane, PolicyRequest};",
          "line": 45,
          "signature": "pub use policy::{PolicyDecision, PolicyPlane, PolicyRequest};",
          "documentation": ""
        },
        {
          "name": "pub use substrate::{Placement, PlacementRequest, SubstratePlane};",
          "line": 46,
          "signature": "pub use substrate::{Placement, PlacementRequest, SubstratePlane};",
          "documentation": ""
        },
        {
          "name": "pub use telemetry::{TelemetryEvent, TelemetryPlane};",
          "line": 47,
          "signature": "pub use telemetry::{TelemetryEvent, TelemetryPlane};",
          "documentation": ""
        },
        {
          "name": "pub use tools::{ApprovalDecision, ApprovalRequest, ToolInvocation, ToolOutput, ToolsPlane};",
          "line": 48,
          "signature": "pub use tools::{ApprovalDecision, ApprovalRequest, ToolInvocation, ToolOutput, ToolsPlane};",
          "documentation": ""
        },
        {
          "name": "pub use verification::{GateRequest, GateResult, VerificationPlane};",
          "line": 49,
          "signature": "pub use verification::{GateRequest, GateResult, VerificationPlane};",
          "documentation": ""
        },
        {
          "name": "::PlaneKind",
          "line": 55,
          "signature": "#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, Serialize, Deserialize)]\n#[serde(rename_all = \"snake_case\")]\npub enum PlaneKind {\n    /// Identity plane (OAS DID lineage).\n    Identity,\n    /// Policy plane (information-flow / capability authorization).\n    Policy,\n    /// Context plane (packed governed frames).\n    Context,\n    /// Memory plane (episodic/procedural/resource/vault).\n    Memory,\n    /// Inference plane (model calls through the binding).\n    Inference,\n    /// Tools plane (allowlisted invocation + approvals).\n    Tools,\n    /// Verification plane (declared gates).\n    Verification,\n    /// Economics plane (reservation, metering, settlement).\n    Economics,\n    /// Telemetry plane (event emission).\n    Telemetry,\n    /// Substrate plane (execution placement).\n    Substrate,\n    /// Perception ingress (signed, typed SemanticIR \u2014 optional binding,\n    /// \u00a74.7).\n    Perception,\n}",
          "documentation": "The eleven plane kinds a harness binds (\u00a74.1: nine authority planes\nplus the optional perception ingress)."
        },
        {
          "name": "::Plane",
          "line": 106,
          "signature": "pub trait Plane: Send + Sync {\n    /// Which plane this adapter serves.\n    fn kind(&self) -> PlaneKind;\n\n    /// Stable provider identifier for records and logs (e.g. `foundry`,\n    /// `lanes`, `noop`).\n    fn provider_id(&self) -> &str;\n\n    /// True when a real provider is bound. Noop adapters return false.\n    fn is_bound(&self) -> bool ;\n}",
          "documentation": "Common supertrait for every plane adapter.\n\n`is_bound` separates a real provider from a `noop` placeholder:\nadmission refuses manifests whose required planes are unbound, and any\noperation that still reaches a noop fails closed with\n[`PlaneUnbound`] \u2014 defense in depth (\u00a74.6)."
        },
        {
          "name": "::PlaneRegistry",
          "line": 126,
          "signature": "#[derive(Clone, Default)]\npub struct PlaneRegistry {\n\n}",
          "documentation": "The plane providers bound for one run.\n\nSlots are optional at construction; admission checks every slot the\nmanifest requires via the `bound_*` accessors, which treat a missing\nor noop binding identically: typed [`PlaneUnbound`]."
        },
        {
          "name": "::PlaneRegistry::new",
          "line": 142,
          "signature": "pub fn new() -> Self;",
          "documentation": "An empty registry (nothing bound)."
        },
        {
          "name": "::PlaneRegistry::noop_filled",
          "line": 147,
          "signature": "pub fn noop_filled() -> Self;",
          "documentation": "A registry with every slot filled by fail-closed noop providers."
        },
        {
          "name": "::PlaneRegistry::with_identity",
          "line": 152,
          "signature": "pub fn with_identity(mut self, plane: Arc<dyn IdentityPlane>) -> Self;",
          "documentation": "Bind the identity plane."
        },
        {
          "name": "::PlaneRegistry::with_policy",
          "line": 158,
          "signature": "pub fn with_policy(mut self, plane: Arc<dyn PolicyPlane>) -> Self;",
          "documentation": "Bind the policy plane."
        },
        {
          "name": "::PlaneRegistry::with_context",
          "line": 164,
          "signature": "pub fn with_context(mut self, plane: Arc<dyn ContextPlane>) -> Self;",
          "documentation": "Bind the context plane."
        },
        {
          "name": "::PlaneRegistry::with_memory",
          "line": 170,
          "signature": "pub fn with_memory(mut self, plane: Arc<dyn MemoryPlane>) -> Self;",
          "documentation": "Bind the memory plane."
        },
        {
          "name": "::PlaneRegistry::with_inference",
          "line": 176,
          "signature": "pub fn with_inference(mut self, plane: Arc<dyn InferencePlane>) -> Self;",
          "documentation": "Bind the inference plane."
        },
        {
          "name": "::PlaneRegistry::with_tools",
          "line": 182,
          "signature": "pub fn with_tools(mut self, plane: Arc<dyn ToolsPlane>) -> Self;",
          "documentation": "Bind the tools plane."
        },
        {
          "name": "::PlaneRegistry::with_verification",
          "line": 188,
          "signature": "pub fn with_verification(mut self, plane: Arc<dyn VerificationPlane>) -> Self;",
          "documentation": "Bind the verification plane."
        },
        {
          "name": "::PlaneRegistry::with_economics",
          "line": 194,
          "signature": "pub fn with_economics(mut self, plane: Arc<dyn EconomicsPlane>) -> Self;",
          "documentation": "Bind the economics plane."
        },
        {
          "name": "::PlaneRegistry::with_telemetry",
          "line": 200,
          "signature": "pub fn with_telemetry(mut self, plane: Arc<dyn TelemetryPlane>) -> Self;",
          "documentation": "Bind the telemetry plane."
        },
        {
          "name": "::PlaneRegistry::with_substrate",
          "line": 206,
          "signature": "pub fn with_substrate(mut self, plane: Arc<dyn SubstratePlane>) -> Self;",
          "documentation": "Bind the substrate plane."
        },
        {
          "name": "::PlaneRegistry::with_perception",
          "line": 213,
          "signature": "pub fn with_perception(mut self, plane: Arc<dyn PerceptionPlane>) -> Self;",
          "documentation": "Bind the perception plane (\u00a74.7; required only when the manifest\ndeclares `[perception]`)."
        },
        {
          "name": "::PlaneRegistry::bound_identity",
          "line": 219,
          "signature": "pub fn bound_identity(&self) -> Result<&Arc<dyn IdentityPlane>, PlaneUnbound>;",
          "documentation": "The bound identity plane, or a typed unbound error."
        },
        {
          "name": "::PlaneRegistry::bound_policy",
          "line": 224,
          "signature": "pub fn bound_policy(&self) -> Result<&Arc<dyn PolicyPlane>, PlaneUnbound>;",
          "documentation": "The bound policy plane, or a typed unbound error."
        },
        {
          "name": "::PlaneRegistry::bound_context",
          "line": 229,
          "signature": "pub fn bound_context(&self) -> Result<&Arc<dyn ContextPlane>, PlaneUnbound>;",
          "documentation": "The bound context plane, or a typed unbound error."
        },
        {
          "name": "::PlaneRegistry::bound_memory",
          "line": 234,
          "signature": "pub fn bound_memory(&self) -> Result<&Arc<dyn MemoryPlane>, PlaneUnbound>;",
          "documentation": "The bound memory plane, or a typed unbound error."
        },
        {
          "name": "::PlaneRegistry::bound_inference",
          "line": 239,
          "signature": "pub fn bound_inference(&self) -> Result<&Arc<dyn InferencePlane>, PlaneUnbound>;",
          "documentation": "The bound inference plane, or a typed unbound error."
        },
        {
          "name": "::PlaneRegistry::bound_tools",
          "line": 244,
          "signature": "pub fn bound_tools(&self) -> Result<&Arc<dyn ToolsPlane>, PlaneUnbound>;",
          "documentation": "The bound tools plane, or a typed unbound error."
        },
        {
          "name": "::PlaneRegistry::bound_verification",
          "line": 249,
          "signature": "pub fn bound_verification(&self) -> Result<&Arc<dyn VerificationPlane>, PlaneUnbound>;",
          "documentation": "The bound verification plane, or a typed unbound error."
        },
        {
          "name": "::PlaneRegistry::bound_economics",
          "line": 254,
          "signature": "pub fn bound_economics(&self) -> Result<&Arc<dyn EconomicsPlane>, PlaneUnbound>;",
          "documentation": "The bound economics plane, or a typed unbound error."
        },
        {
          "name": "::PlaneRegistry::bound_telemetry",
          "line": 259,
          "signature": "pub fn bound_telemetry(&self) -> Result<&Arc<dyn TelemetryPlane>, PlaneUnbound>;",
          "documentation": "The bound telemetry plane, or a typed unbound error."
        },
        {
          "name": "::PlaneRegistry::bound_substrate",
          "line": 264,
          "signature": "pub fn bound_substrate(&self) -> Result<&Arc<dyn SubstratePlane>, PlaneUnbound>;",
          "documentation": "The bound substrate plane, or a typed unbound error."
        },
        {
          "name": "::PlaneRegistry::bound_perception",
          "line": 269,
          "signature": "pub fn bound_perception(&self) -> Result<&Arc<dyn PerceptionPlane>, PlaneUnbound>;",
          "documentation": "The bound perception plane, or a typed unbound error."
        }
      ]
    },
    {
      "path": "forge-rs/harness-runtime/src/planes/noop.rs",
      "sha256": "677d52a4bcb129a91f278fb54965b1021d662c334574c510018ca914c3dc4a1a",
      "artifactSha256": "a81925edced0d7d9693651da470ddb73ef11430476ba75238b19eacb592e93b3",
      "url": "/reference/source/forge-rs/harness-runtime/src/planes/noop.rs.txt",
      "declarations": [
        {
          "name": "::NoopPlanes",
          "line": 161,
          "signature": "pub struct NoopPlanes;",
          "documentation": "Constructors for the noop provider set."
        },
        {
          "name": "::NoopPlanes::registry",
          "line": 165,
          "signature": "pub fn registry() -> PlaneRegistry;",
          "documentation": "A registry with every slot filled by a fail-closed noop provider."
        }
      ]
    },
    {
      "path": "forge-rs/harness-runtime/src/planes/perception.rs",
      "sha256": "7a1f0bd636b04d35cef270cca379f7ab04d2ddf3830832993f3d842c9c694f22",
      "artifactSha256": "ba6b800cadf6c1ee53eff6f9135b2954e8f1ffa9eb9c47dbe6a841a545350f8b",
      "url": "/reference/source/forge-rs/harness-runtime/src/planes/perception.rs.txt",
      "declarations": [
        {
          "name": "::MediaArtifact",
          "line": 19,
          "signature": "#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]\npub struct MediaArtifact {\n/// Declared modality; must be within `[perception].modalities`.\n\npub modality: Modality,\n/// Raw source bytes (bounded by `[perception].max_media_bytes`).\n\npub bytes: Vec<u8>,\n/// MIME media type hint.\n\npub media_type: String\n}",
          "documentation": "A media artifact offered for ingress (\u00a74.7.2: every artifact must pass\nthrough the bound perception provider before use)."
        },
        {
          "name": "::PerceptionRecord",
          "line": 32,
          "signature": "#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]\npub struct PerceptionRecord {\n/// Provider perception id; downstream consumers reference this, never\n\n/// the raw bytes.\n\npub perception_id: String,\n/// True when the IR is signed per the provider's signing model\n\n/// (`require_signed_ir = true` makes unsigned records inadmissible).\n\npub signed: bool,\n/// Content-addressed reference to the typed SemanticIR.\n\npub ir_ref: String,\n/// Modalities actually perceived.\n\npub modalities: Vec<Modality>\n}",
          "documentation": "The signed, typed perception record (\u00a74.7.2: a signed\n`PerceptionEvent` plus typed SemanticIR; source bytes stay in the\nprovider's content-addressable store)."
        },
        {
          "name": "::PerceptionPlane",
          "line": 47,
          "signature": "#[async_trait]\npub trait PerceptionPlane: Plane {\n    /// Ingest one media artifact, yielding a signed, typed record.\n    /// \u00a74.7.3: fail-closed \u2014 unsigned, unresolvable, or unverifiable\n    /// artifacts are rejected, never delivered best-effort.\n    async fn ingest(&self, artifact: MediaArtifact) -> Result<PerceptionRecord, PlaneError>;\n}",
          "documentation": "Perception plane adapter."
        }
      ]
    },
    {
      "path": "forge-rs/harness-runtime/src/planes/policy.rs",
      "sha256": "a2935b8ccb4d6b25df593bbc43826613eb605e42577670977528269e0e1bdc1e",
      "artifactSha256": "b1b60d7df5886c7fa217e1ab5d4d8643dbe998051013747341b0b43220efa0cd",
      "url": "/reference/source/forge-rs/harness-runtime/src/planes/policy.rs.txt",
      "declarations": [
        {
          "name": "::PolicyRequest",
          "line": 14,
          "signature": "#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]\npub struct PolicyRequest {\n/// The harness agent DID requesting the action.\n\npub subject_did: String,\n/// The permission being checked (`[inference].required_permission`).\n\npub permission: String,\n/// The entitlement consumed (`[inference].entitlement`).\n\npub entitlement: String,\n/// Policy document references from `[policy].policy_refs`.\n\npub policy_refs: Vec<String>\n}",
          "documentation": "An admission-time authorization check against the manifest's policy\nbinding (\u00a75.5, \u00a75.8: the inference `required_permission` and\n`entitlement` are the frozen IAM wire vocabulary)."
        },
        {
          "name": "::PolicyDecision",
          "line": 28,
          "signature": "#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]\npub struct PolicyDecision {\n/// True when the action is permitted.\n\npub allowed: bool,\n/// Why the decision was made (denials MUST carry a reason).\n\npub reason: String\n}",
          "documentation": "The policy plane's decision (\u00a74.6: a policy engine miss denies\nin-contract, never a 5xx-as-allow)."
        },
        {
          "name": "::PolicyPlane",
          "line": 37,
          "signature": "#[async_trait]\npub trait PolicyPlane: Plane {\n    /// Authorize the requested permission/entitlement for the subject.\n    async fn authorize(&self, request: PolicyRequest) -> Result<PolicyDecision, PlaneError>;\n}",
          "documentation": "Policy plane adapter."
        }
      ]
    },
    {
      "path": "forge-rs/harness-runtime/src/planes/substrate.rs",
      "sha256": "79016120ea500ff4a36c1be9e13ee40430f408440238659267dfa7eeeb6574c1",
      "artifactSha256": "814cc92b91b0120482cb73b249593d15c57e8c2109f34ab2e8bb7a61cc54553e",
      "url": "/reference/source/forge-rs/harness-runtime/src/planes/substrate.rs.txt",
      "declarations": [
        {
          "name": "::PlacementRequest",
          "line": 14,
          "signature": "#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]\npub struct PlacementRequest {\n/// The run id.\n\npub run_id: String,\n/// Substrate class (`[substrate].class`).\n\npub class: SubstrateClass,\n/// Isolation class (`[substrate].isolation`).\n\npub isolation: Isolation\n}",
          "documentation": "Placement preparation input (\u00a75.13: `substrate.class` selects an\nexecution substrate *class*, never a deployment target)."
        },
        {
          "name": "::Placement",
          "line": 25,
          "signature": "#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]\npub struct Placement {\n/// Provider-side placement id.\n\npub placement_id: String,\n/// Durable evidence reference for the placement, when produced.\n\npub evidence_ref: Option<String>\n}",
          "documentation": "The prepared placement."
        },
        {
          "name": "::SubstratePlane",
          "line": 34,
          "signature": "#[async_trait]\npub trait SubstratePlane: Plane {\n    /// Prepare the execution placement for a run.\n    async fn prepare(&self, request: PlacementRequest) -> Result<Placement, PlaneError>;\n}",
          "documentation": "Substrate plane adapter."
        }
      ]
    },
    {
      "path": "forge-rs/harness-runtime/src/planes/telemetry.rs",
      "sha256": "0e0fe06d245160c26ea21cb163708d9b2a2f386ddf908796162e4117050359fe",
      "artifactSha256": "bccf6c14aba8d44b074b59be43ee0b13c9d43a0bcfc813b42f0f2c516cf2487c",
      "url": "/reference/source/forge-rs/harness-runtime/src/planes/telemetry.rs.txt",
      "declarations": [
        {
          "name": "::TelemetryEvent",
          "line": 13,
          "signature": "#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]\npub struct TelemetryEvent {\n/// Full event type (`<event_prefix>.<declared-subject>`).\n\npub event_type: String,\n/// Event subject (the run id).\n\npub subject: String,\n/// Event payload.\n\npub data: serde_json::Value,\n/// Emission time.\n\npub time: DateTime<Utc>\n}",
          "documentation": "One telemetry event under the manifest's declared prefix (\u00a75.12:\nCambium v1 grammar; the stream id is derived server-side)."
        },
        {
          "name": "::TelemetryPlane",
          "line": 26,
          "signature": "#[async_trait]\npub trait TelemetryPlane: Plane {\n    /// Emit one event. Returns the provider's event receipt reference,\n    /// when it produces one.\n    async fn emit(&self, event: TelemetryEvent) -> Result<Option<String>, PlaneError>;\n}",
          "documentation": "Telemetry plane adapter."
        }
      ]
    },
    {
      "path": "forge-rs/harness-runtime/src/planes/tools.rs",
      "sha256": "36ef411f19b9a639c2ef8ac3c013fdaf253025ac97ec003efe57ce9b8d3e8cd9",
      "artifactSha256": "16b6c904b0058c3238ea1c4cea6237b0605a2f57c06ad00f11b5451bd654902f",
      "url": "/reference/source/forge-rs/harness-runtime/src/planes/tools.rs.txt",
      "declarations": [
        {
          "name": "::ToolInvocation",
          "line": 13,
          "signature": "#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]\npub struct ToolInvocation {\n/// The run id the invocation belongs to.\n\npub run_id: String,\n/// The `<interface>/<action>` tool identifier.\n\npub tool: String,\n/// Opaque tool input (plane-defined encoding).\n\npub input: String,\n/// Capability grants offered for authorization\n\n/// (`[capabilities].act_refs`).\n\npub act_refs: Vec<String>\n}",
          "documentation": "One tool invocation (\u00a74.4 step 4: every invocation is checked against\nthe capability grants and the tool allowlist before it reaches the\nplane)."
        },
        {
          "name": "::ToolOutput",
          "line": 27,
          "signature": "#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]\npub struct ToolOutput {\n/// The tool's result content.\n\npub content: String,\n/// Provider evidence reference for the invocation, when produced.\n\npub evidence_ref: Option<String>\n}",
          "documentation": "Tool output returned to the loop as an observation."
        },
        {
          "name": "::ApprovalRequest",
          "line": 39,
          "signature": "#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]\npub struct ApprovalRequest {\n/// The run id.\n\npub run_id: String,\n/// The tool awaiting approval.\n\npub tool: String,\n/// The input awaiting approval.\n\npub input: String\n}",
          "documentation": "An approval request for a tool listed in `[tools].approval_required`\n(\u00a75.9: every invocation requires a human \u2014 or designated\napprover-harness \u2014 decision through the host's approval surface;\napprovals must be recorded in telemetry)."
        },
        {
          "name": "::ApprovalDecision",
          "line": 51,
          "signature": "#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]\n#[serde(tag = \"decision\", rename_all = \"snake_case\")]\npub enum ApprovalDecision {\n    /// Approved; the invocation may proceed.\n    Approved {\n        /// Who approved (human principal or approver-harness DID).\n        approver: String,\n    },\n    /// Denied; the loop receives the denial as an observation.\n    Denied {\n        /// Why the invocation was denied.\n        reason: String,\n    },\n}",
          "documentation": "The approval surface's decision."
        },
        {
          "name": "::ToolsPlane",
          "line": 66,
          "signature": "#[async_trait]\npub trait ToolsPlane: Plane {\n    /// Invoke an allowlisted tool against a covering capability grant.\n    async fn invoke(&self, invocation: ToolInvocation) -> Result<ToolOutput, PlaneError>;\n\n    /// Request approval for a gated invocation. Called only for tools in\n    /// `[tools].approval_required`; the runtime records the decision\n    /// either way (\u00a75.9).\n    async fn request_approval(\n        &self,\n        request: ApprovalRequest,\n    ) -> Result<ApprovalDecision, PlaneError>;\n}",
          "documentation": "Tools plane adapter."
        }
      ]
    },
    {
      "path": "forge-rs/harness-runtime/src/planes/verification.rs",
      "sha256": "b1315d349852c3ba4d0fdb34f38a66f1255747197e8a01d36b4afa83027b8310",
      "artifactSha256": "5b43dc0e221b6b9cd26ead0e54f7be69102823eda4fdb5a018e1479a5331002c",
      "url": "/reference/source/forge-rs/harness-runtime/src/planes/verification.rs.txt",
      "declarations": [
        {
          "name": "::GateRequest",
          "line": 12,
          "signature": "#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]\npub struct GateRequest {\n/// The run id.\n\npub run_id: String,\n/// The gate as declared in `[verification].gates`.\n\npub gate: Gate\n}",
          "documentation": "A request to run one declared gate."
        },
        {
          "name": "::GateResult",
          "line": 23,
          "signature": "#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]\npub struct GateResult {\n/// The gate that was attempted.\n\npub gate: Gate,\n/// Whether the gate actually executed. `passed` is meaningless \u2014\n\n/// and MUST be ignored \u2014 when this is false.\n\npub executed: bool,\n/// Whether the executed gate passed.\n\npub passed: bool,\n/// Exit code for command gates, when executed.\n\npub exit_code: Option<i32>,\n/// Provider evidence reference, passed through verbatim or absent \u2014\n\n/// never synthesized (\u00a75.10).\n\npub evidence_ref: Option<String>,\n/// Human-readable detail (captured output summary, error).\n\npub detail: String\n}",
          "documentation": "A gate result (\u00a74.4 step 5: gate outputs become evidence refs; a gate\nthat did not run must not be reported as passed \u2014 the L1F-8 honesty\npolicy, bound by `[verification].evidence_required`)."
        },
        {
          "name": "::GateResult::counts_as_pass",
          "line": 44,
          "signature": "pub fn counts_as_pass(&self) -> bool;",
          "documentation": "The only way a gate counts toward a `verified` outcome: it ran and\nit passed. A plane that reports `passed: true, executed: false` is\ntreated as failed \u2014 structurally (\u00a74.4 step 5)."
        },
        {
          "name": "::VerificationPlane",
          "line": 51,
          "signature": "#[async_trait]\npub trait VerificationPlane: Plane {\n    /// Execute one declared gate and return its machine-checkable result.\n    async fn run_gate(&self, request: GateRequest) -> Result<GateResult, PlaneError>;\n}",
          "documentation": "Verification plane adapter."
        }
      ]
    },
    {
      "path": "forge-rs/harness-runtime/src/record.rs",
      "sha256": "663f381e07a61ef9208053cb9d35b43ac2b9b7224e9d2de5ab0b606872090191",
      "artifactSha256": "b04eaa567181ec63f42f7931110af83bb5ef1fc728c3c8db46b1638d70364565",
      "url": "/reference/source/forge-rs/harness-runtime/src/record.rs.txt",
      "declarations": [
        {
          "name": "::RUN_RECORD_SCHEMA_VERSION",
          "line": 17,
          "signature": "pub const RUN_RECORD_SCHEMA_VERSION: &str;",
          "documentation": "Run-record schema version. Bumped only with a migration note, per the\n\u00a75.16 versioning discipline applied to the record contract."
        },
        {
          "name": "::UsageTotals",
          "line": 21,
          "signature": "#[derive(Debug, Clone, Copy, PartialEq, Serialize, Deserialize)]\npub struct UsageTotals {\n/// Total input tokens across all inference calls.\n\npub input_tokens: u64,\n/// Total output tokens across all inference calls.\n\npub output_tokens: u64,\n/// `input_tokens + output_tokens`.\n\npub total_tokens: u64,\n/// Total USD charged.\n\npub cost_usd: f64,\n/// Number of inference calls made.\n\npub inference_calls: u64,\n/// Number of tool invocations executed.\n\npub tool_invocations: u64\n}",
          "documentation": "Terminal usage totals for settlement and archive."
        },
        {
          "name": "::RunOutcomeKind",
          "line": 40,
          "signature": "#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]\n#[serde(rename_all = \"snake_case\")]\npub enum RunOutcomeKind {\n    /// All declared gates executed and passed.\n    Verified,\n    /// Execution finished but a gate failed, or a gate could not run.\n    Failed,\n    /// The run stopped early (budget, step limit, plane failure).\n    Halted,\n    /// Admission refused the run.\n    Denied,\n}",
          "documentation": "The four terminal outcome kinds (\u00a74.4: the outcome is final and\nimmutable; every terminal state settles and archives)."
        },
        {
          "name": "::HaltReason",
          "line": 54,
          "signature": "#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]\n#[serde(tag = \"reason\", rename_all = \"snake_case\")]\npub enum HaltReason {\n    /// The inference budget was exhausted (\u00a75.8 `halt_and_settle`).\n    BudgetExhausted,\n    /// The budget was exhausted and the manifest's policy is\n    /// `request_approval` (\u00a75.8): an extension approval was requested and\n    /// the run halted pending it \u2014 extension mints a new budget epoch, it\n    /// never edits the exhausted one.\n    BudgetExhaustedApprovalRequested,\n    /// `[loop].max_steps` was reached without a final answer.\n    StepLimitExceeded,\n    /// A plane call failed in-run (\u00a74.4: any failure lands in a terminal\n    /// state with settlement \u2014 never silent continuation).\n    PlaneFailure {\n        /// The plane that failed.\n        plane: PlaneKind,\n        /// What happened.\n        detail: String,\n    },\n}",
          "documentation": "Why a run halted (\u00a74.6 vocabulary)."
        },
        {
          "name": "::RunOutcome",
          "line": 77,
          "signature": "#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]\n#[serde(tag = \"state\", rename_all = \"snake_case\")]\npub enum RunOutcome {\n    /// All declared gates executed and passed.\n    Verified {\n        /// The final answer, when the loop produced one.\n        answer: Option<String>,\n    },\n    /// Execution finished but verification failed (\u00a74.6: `failed` is\n    /// terminal with evidence; still settles).\n    Failed {\n        /// Why the run failed.\n        reason: String,\n    },\n    /// The run halted before completion.\n    Halted {\n        /// Why it halted.\n        cause: HaltReason,\n    },\n    /// Admission denied the run (\u00a74.4: denied still settles and archives).\n    Denied {\n        /// Why admission denied the run.\n        reason: String,\n    },\n}",
          "documentation": "The terminal outcome of a run."
        },
        {
          "name": "::RunOutcome::kind",
          "line": 103,
          "signature": "pub fn kind(&self) -> RunOutcomeKind;",
          "documentation": "The outcome kind for settlement."
        },
        {
          "name": "::PlaneDecision",
          "line": 116,
          "signature": "#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]\npub struct PlaneDecision {\n/// The plane that made the decision.\n\npub plane: PlaneKind,\n/// The operation decided (e.g. `tool.invoke`, `inference.complete`).\n\npub operation: String,\n/// Whether the operation was allowed to proceed.\n\npub allowed: bool,\n/// Why / what happened (tool id, denial reason, budget state).\n\npub detail: String\n}",
          "documentation": "One recorded plane decision (allowlist checks, approval decisions,\nbudget gates) \u2014 the audit spine of the run."
        },
        {
          "name": "::AdmissionEvidence",
          "line": 130,
          "signature": "#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]\npub struct AdmissionEvidence {\n/// The durable admission evidence reference.\n\npub evidence_ref: String,\n/// The identity plane's lineage verification evidence, when produced.\n\npub lineage_evidence_ref: Option<String>,\n/// The economics plane's reservation id.\n\npub reservation_id: String,\n/// The reservation's evidence reference, when produced.\n\npub reservation_evidence_ref: Option<String>,\n/// Granted USD budget.\n\npub granted_usd: f64,\n/// Granted token budget.\n\npub granted_tokens: u64\n}",
          "documentation": "Admission evidence (\u00a74.4 step 3: an admission allow without a durable\n`evidenceRef` must not exist)."
        },
        {
          "name": "::SettlementEvidence",
          "line": 147,
          "signature": "#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]\npub struct SettlementEvidence {\n/// The provider's settlement id.\n\npub settlement_id: String,\n/// Settled USD.\n\npub settled_usd: f64,\n/// Settled tokens.\n\npub settled_tokens: u64,\n/// The settlement evidence reference, when produced.\n\npub evidence_ref: Option<String>\n}",
          "documentation": "Settlement evidence (\u00a74.4 step 6)."
        },
        {
          "name": "::RunRecord",
          "line": 160,
          "signature": "#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]\npub struct RunRecord {\n/// Schema version ([`RUN_RECORD_SCHEMA_VERSION`]).\n\npub schema_version: String,\n/// The run id minted at admission.\n\npub run_id: String,\n/// BLAKE3 manifest hash (hex) identifying the harness contract.\n\npub manifest_hash: String,\n/// Parent run id for spawned children (\u00a74.5).\n\npub parent_run_id: Option<String>,\n/// Derivation depth of this run (0 for a root harness).\n\npub depth: u32,\n/// The harness id (`[harness].id`).\n\npub harness_id: String,\n/// The agent DID (`[identity].did`).\n\npub agent_did: String,\n/// The loop strategy that executed (`[loop].strategy`).\n\npub loop_strategy: String,\n/// Admission evidence.\n\npub admission: AdmissionEvidence,\n/// Ordered plane decisions.\n\npub decisions: Vec<PlaneDecision>,\n/// Declared gate results, in manifest order.\n\npub gate_results: Vec<GateResult>,\n/// Terminal usage totals.\n\npub usage: UsageTotals,\n/// Terminal outcome.\n\npub outcome: RunOutcome,\n/// Settlement evidence; present on every terminal state (\u00a74.4: all\n\n/// still settle). Absent only when settlement itself failed \u2014 which is\n\n/// itself recorded in `telemetry_failures`.\n\npub settlement: Option<SettlementEvidence>,\n/// Telemetry/consolidation failures observed during the run. Recording\n\n/// them here keeps observability honest without silently dropping\n\n/// events or rewriting the terminal outcome.\n\npub telemetry_failures: Vec<String>,\n/// The run's W3C trace id (32 hex chars) propagated to providers.\n\npub trace_id: String,\n/// When the run started (admission time).\n\npub started_at: DateTime<Utc>,\n/// When the run reached its terminal state.\n\npub ended_at: DateTime<Utc>\n}",
          "documentation": "The structured run/evidence record \u2014 the future Sigil-anchor payload."
        }
      ]
    },
    {
      "path": "forge-rs/harness-runtime/src/spawn.rs",
      "sha256": "fcafd869636cf6034b7c107a068aa0340889205c1ee01bf78caf52614da520b7",
      "artifactSha256": "5bcd6b7c2628693943572d19bf1901072945fd5b5586b4032eedfc40b709b8d3",
      "url": "/reference/source/forge-rs/harness-runtime/src/spawn.rs.txt",
      "declarations": [
        {
          "name": "::SpawnedChild",
          "line": 30,
          "signature": "#[derive(Debug)]\npub struct SpawnedChild {\n\n}",
          "documentation": "The result of a successful spawn: a validated, narrowed child manifest\nplus the budget carved for it from the parent's ledger."
        },
        {
          "name": "::SpawnedChild::manifest",
          "line": 40,
          "signature": "pub fn manifest(&self) -> &ValidatedManifest;",
          "documentation": "The validated, narrowed child manifest."
        },
        {
          "name": "::SpawnedChild::depth",
          "line": 45,
          "signature": "pub fn depth(&self) -> u32;",
          "documentation": "The child's derivation depth (parent depth + 1)."
        },
        {
          "name": "::SpawnedChild::carved_usd",
          "line": 50,
          "signature": "pub fn carved_usd(&self) -> f64;",
          "documentation": "USD carved from the parent's remaining budget."
        },
        {
          "name": "::SpawnedChild::carved_tokens",
          "line": 55,
          "signature": "pub fn carved_tokens(&self) -> u64;",
          "documentation": "Tokens carved from the parent's remaining budget."
        },
        {
          "name": "::SpawnedChild::inherited_planes",
          "line": 60,
          "signature": "pub fn inherited_planes(&self) -> &[PlaneName];",
          "documentation": "Planes whose bindings the child inherits per `[spawn].inherit`."
        },
        {
          "name": "::spawn_child",
          "line": 72,
          "signature": "pub fn spawn_child(\n    parent: &mut AdmittedHarness,\n    child_source: &str,\n    context: &ValidationContext,\n) -> Result<SpawnedChild, SpawnError>;",
          "documentation": "Spawn a child harness: validate the child manifest, enforce every\n\u00a74.5 narrowing rule, and carve the declared budget out of the parent's\nledger. Fail-closed on any violation.\n\nOn success the parent's budget ledger is debited by the child's\ndeclared budgets (not the fraction ceiling \u2014 the child gets what it\ndeclared, never more)."
        }
      ]
    },
    {
      "path": "forge-rs/harness-runtime/src/spine/client.rs",
      "sha256": "2934108ef2b6c7eca1557d2d7e395946184a1d50f77ec63babac7eeaeaf720c5",
      "artifactSha256": "6eaad6c8f8fab541322f1af10becc4d46aaf49616ffda8c9c0f33d5d1b930e1d",
      "url": "/reference/source/forge-rs/harness-runtime/src/spine/client.rs.txt",
      "declarations": [
        {
          "name": "::MAP_BASE_URL_ENV",
          "line": 38,
          "signature": "pub const MAP_BASE_URL_ENV: &str;",
          "documentation": "Environment variable holding the MAP daemon base URL \u2014 the spine\nswitch. Identical name and semantics to ONE's client\n(`one-adapters::map`): one environment, one spine behavior."
        },
        {
          "name": "::MAP_AUTH_TYPE_ENV",
          "line": 40,
          "signature": "pub const MAP_AUTH_TYPE_ENV: &str;",
          "documentation": "Environment variable for the `x-l1fe-auth-type` header value."
        },
        {
          "name": "::MAP_TENANT_ID_ENV",
          "line": 42,
          "signature": "pub const MAP_TENANT_ID_ENV: &str;",
          "documentation": "Environment variable for the `x-l1fe-tenant-id` header value."
        },
        {
          "name": "::MAP_AGENT_DID_ENV",
          "line": 44,
          "signature": "pub const MAP_AGENT_DID_ENV: &str;",
          "documentation": "Environment variable for the sender DID (`x-l1fe-agent-did`)."
        },
        {
          "name": "::MAP_SCOPES_ENV",
          "line": 46,
          "signature": "pub const MAP_SCOPES_ENV: &str;",
          "documentation": "Environment variable for the dispatch scopes (`x-l1fe-scopes`)."
        },
        {
          "name": "::MAP_TIMEOUT_MS_ENV",
          "line": 48,
          "signature": "pub const MAP_TIMEOUT_MS_ENV: &str;",
          "documentation": "Environment variable for the per-attempt HTTP timeout (milliseconds)."
        },
        {
          "name": "::MAP_MAX_RETRIES_ENV",
          "line": 50,
          "signature": "pub const MAP_MAX_RETRIES_ENV: &str;",
          "documentation": "Environment variable for retries after the first attempt."
        },
        {
          "name": "::MAP_BEARER_TOKEN_ENV",
          "line": 56,
          "signature": "pub const MAP_BEARER_TOKEN_ENV: &str;",
          "documentation": "Environment variable for an optional bearer token\n(`Authorization: Bearer \u2026`). Surface A deployments behind Kong/Auth v4\nauthenticate at the gateway and never set this; a daemon running in\nits local development auth mode requires it. The value is sent on the\nwire only \u2014 it never appears in dispatch records, envelopes, or logs."
        },
        {
          "name": "::MIM_VERSION",
          "line": 59,
          "signature": "pub const MIM_VERSION: &str;",
          "documentation": "MIM protocol version carried in every envelope header."
        },
        {
          "name": "::DEFAULT_MODULE_VERSION",
          "line": 61,
          "signature": "pub const DEFAULT_MODULE_VERSION: &str;",
          "documentation": "Protocol module version requested on every dispatch."
        },
        {
          "name": "::DEFAULT_TIMEOUT",
          "line": 63,
          "signature": "pub const DEFAULT_TIMEOUT: Duration;",
          "documentation": "Default per-attempt HTTP timeout."
        },
        {
          "name": "::DEFAULT_MAX_RETRIES",
          "line": 66,
          "signature": "pub const DEFAULT_MAX_RETRIES: u32;",
          "documentation": "Default retries after the first attempt (transport errors and 5xx\nonly \u2014 4xx answers are real policy responses and are never retried)."
        },
        {
          "name": "::RETRY_BACKOFF",
          "line": 69,
          "signature": "pub const RETRY_BACKOFF: Duration;",
          "documentation": "Fixed backoff between attempts. MAP dispatch is an in-cluster call;\nthe fail-closed error path bounds total latency."
        },
        {
          "name": "::MapSpineConfig",
          "line": 79,
          "signature": "#[derive(Clone, Debug)]\npub struct MapSpineConfig {\n/// MAP daemon base URL (no trailing slash).\n\npub base_url: String,\n/// `x-l1fe-auth-type` header value.\n\npub auth_type: String,\n/// `x-l1fe-tenant-id` header value; omitted when unset.\n\npub tenant_id: Option<String>,\n/// Sender DID (`x-l1fe-agent-did` + envelope sender).\n\npub agent_did: String,\n/// Scopes sent on every dispatch.\n\npub scopes: Vec<String>,\n/// Per-attempt HTTP timeout.\n\npub timeout: Duration,\n/// Retries after the first attempt.\n\npub max_retries: u32,\n/// Protocol module version requested on dispatch.\n\npub module_version: String,\n/// Optional bearer token for daemons in local development auth mode\n\n/// (`MAP_BEARER_TOKEN`). Wire-only; never logged or recorded.\n\npub bearer_token: Option<String>\n}",
          "documentation": "Typed spine client configuration. Every field is env-driven; nothing\nis hardcoded per environment."
        },
        {
          "name": "::MapSpineConfig::from_env",
          "line": 104,
          "signature": "pub fn from_env() -> Option<Self>;",
          "documentation": "Build from the environment. Returns `None` when `MAP_BASE_URL` is\nunset or blank \u2014 the fail-closed signal every caller keys on."
        },
        {
          "name": "::MapSpineConfig::for_base_url",
          "line": 114,
          "signature": "pub fn for_base_url(base_url: impl Into<String>) -> Self;",
          "documentation": "Config with env-driven defaults for a known base URL (test seams\nand composed config loaders use this; env remains the production\nsource)."
        },
        {
          "name": "::SpineDispatchStatus",
          "line": 161,
          "signature": "#[derive(Debug, Clone, PartialEq, Eq, Serialize)]\n#[serde(rename_all = \"snake_case\")]\npub enum SpineDispatchStatus {\n    /// The spine answered 2xx with a contract-shaped body.\n    Ok,\n    /// The spine answered a non-success status (a real answer, believed).\n    RemoteStatus,\n    /// The dispatch never reached a MAP answer after retries.\n    Transport,\n    /// A 2xx body broke the response contract.\n    InvalidResponse,\n}",
          "documentation": "Terminal outcome of one dispatch, for the audit log."
        },
        {
          "name": "::SpineDispatchRecord",
          "line": 175,
          "signature": "#[derive(Debug, Clone, PartialEq, Serialize)]\npub struct SpineDispatchRecord {\n/// Protocol dispatched to (e.g. `MIND`).\n\npub protocol: String,\n/// Operation dispatched (e.g. `store_memory`).\n\npub operation: String,\n/// The HTTP path the envelope was projected onto.\n\npub endpoint: String,\n/// Local correlation id (the request envelope's id).\n\npub correlation_id: String,\n/// The daemon's `requestId`, when it returned one.\n\npub remote_request_id: Option<String>,\n/// The W3C `traceparent` sent on the wire.\n\npub traceparent: String,\n/// Attempts made (1 + retries).\n\npub attempts: u32,\n/// Terminal outcome of the dispatch.\n\npub status: SpineDispatchStatus,\n/// Upstream HTTP status, when the spine answered.\n\npub http_status: Option<u16>\n}",
          "documentation": "The auditable record of one spine dispatch \u2014 the harness-side\nequivalent of ONE's receipt `map` block."
        },
        {
          "name": "::SpineDispatch",
          "line": 199,
          "signature": "#[derive(Debug, Clone)]\npub struct SpineDispatch {\n/// The protocol module's response payload, passed through verbatim.\n\npub output: Value,\n/// The exact MAP envelope message sent (`{ header, payload }`,\n\n/// mirroring the `map.json` schema) \u2014 the auditable request record,\n\n/// kept for evidence bundles the way ONE's client keeps\n\n/// `request_envelope`.\n\npub request_envelope: Value,\n/// The audit record for this dispatch (also appended to the client's\n\n/// dispatch log).\n\npub record: SpineDispatchRecord\n}",
          "documentation": "A completed MAP dispatch: the protocol module's verbatim `output` plus\nthe auditable request metadata."
        },
        {
          "name": "::MapSpineClient",
          "line": 215,
          "signature": "#[derive(Clone)]\npub struct MapSpineClient {\n\n}",
          "documentation": "Typed MAP spine client. Cheap to clone (shares one connection pool and\none dispatch log)."
        },
        {
          "name": "::MapSpineClient::new",
          "line": 223,
          "signature": "pub fn new(config: MapSpineConfig) -> Result<Self, PlaneError>;",
          "documentation": "Build a client from an explicit config."
        },
        {
          "name": "::MapSpineClient::from_env",
          "line": 236,
          "signature": "pub fn from_env() -> Option<Self>;",
          "documentation": "Build from the environment; `None` when the spine is unconfigured."
        },
        {
          "name": "::MapSpineClient::is_configured",
          "line": 241,
          "signature": "pub fn is_configured() -> bool;",
          "documentation": "`true` when `MAP_BASE_URL` is set \u2014 the spine switch."
        },
        {
          "name": "::MapSpineClient::config",
          "line": 246,
          "signature": "pub fn config(&self) -> &MapSpineConfig;",
          "documentation": "The client configuration."
        },
        {
          "name": "::MapSpineClient::dispatch_log",
          "line": 252,
          "signature": "pub fn dispatch_log(&self) -> Vec<SpineDispatchRecord>;",
          "documentation": "Every dispatch this client has completed, oldest first. Hosts\nattach this log to run evidence so spine traffic is auditable."
        },
        {
          "name": "::MapSpineClient::health_check",
          "line": 266,
          "signature": "pub async fn health_check(&self) -> bool;",
          "documentation": "Liveness probe against the daemon's `/v1/map/health`."
        },
        {
          "name": "::MapSpineClient::invoke",
          "line": 282,
          "signature": "#[instrument(skip(self, input))]\npub async fn invoke(\n        &self,\n        protocol: &str,\n        operation: &str,\n        input: Value,\n    ) -> Result<SpineDispatch, PlaneError>;",
          "documentation": "Dispatch one protocol operation through the spine.\n\nRetry-lite: transport failures and 5xx are retried up to\n`max_retries` times with a fixed backoff; 4xx and malformed\nresponses return immediately. The protocol segment is uppercased\nper the router's normalization; the operation segment is passed\nthrough verbatim."
        }
      ]
    },
    {
      "path": "forge-rs/harness-runtime/src/spine/context.rs",
      "sha256": "13a3ce4640b12411db20b274128e9fea0aad5422a4d24bdad616e7a3aef4f7b4",
      "artifactSha256": "34a6fb07726091094f7e140227ded41cbfb43814415ef0a27581b88a71187b1d",
      "url": "/reference/source/forge-rs/harness-runtime/src/spine/context.rs.txt",
      "declarations": [
        {
          "name": "::RecallHit",
          "line": 43,
          "signature": "#[derive(Debug, Clone, PartialEq, Eq)]\npub struct RecallHit {\n/// The memory's id.\n\npub memory_id: String,\n/// The memory's content (possibly capped at [`RECALL_CONTENT_CAP`]).\n\npub content: String\n}",
          "documentation": "One recalled memory folded into a packed frame."
        },
        {
          "name": "::MapContextPlane",
          "line": 53,
          "signature": "#[derive(Clone)]\npub struct MapContextPlane {\n\n}",
          "documentation": "Context plane adapter dispatching through the MAP spine\n(MIND recall; optional MARC decomposition)."
        },
        {
          "name": "::MapContextPlane::new",
          "line": 68,
          "signature": "pub fn new(client: MapSpineClient, recall_scope: impl Into<String>) -> Self;",
          "documentation": "Bind the context plane to the spine, recalling memories whose\nsymbolic filter object matches `recall_scope`."
        },
        {
          "name": "::MapContextPlane::with_recall_limit",
          "line": 78,
          "signature": "pub fn with_recall_limit(mut self, limit: usize) -> Self;",
          "documentation": "Cap on recalled memories per frame."
        },
        {
          "name": "::MapContextPlane::with_marc_decomposition",
          "line": 87,
          "signature": "pub fn with_marc_decomposition(mut self) -> Self;",
          "documentation": "Enable the MARC `reasoning_task` decomposition section (ONE's\n`one.nous/decompose` mapping). The decomposition runs per pack;\nits real result \u2014 including a \"no deduction possible\" answer \u2014\nlands in the frame."
        },
        {
          "name": "::MapContextPlane::client",
          "line": 93,
          "signature": "pub fn client(&self) -> &MapSpineClient;",
          "documentation": "The underlying spine client (for dispatch-log access)."
        }
      ]
    },
    {
      "path": "forge-rs/harness-runtime/src/spine/memory.rs",
      "sha256": "87d2c21697d1a7686c4063a4e3cfcd4f1cde815f7c51bbffdd945ace5334f79d",
      "artifactSha256": "93f15a8169934ab86aa26c523820fa6c9169d17a9dd231182ef61dcd498ebe21",
      "url": "/reference/source/forge-rs/harness-runtime/src/spine/memory.rs.txt",
      "declarations": [
        {
          "name": "::MapMemoryPlane",
          "line": 30,
          "signature": "#[derive(Clone)]\npub struct MapMemoryPlane {\n\n}",
          "documentation": "Memory plane adapter dispatching through the MAP spine (MIND).\n\nConstructed only when the spine is configured \u2014 hosts decide the\nbinding (`MAP_BASE_URL` set \u21d2 this plane; unset \u21d2 their local plane),\nso an unbound spine can never masquerade as memory."
        },
        {
          "name": "::MapMemoryPlane::new",
          "line": 41,
          "signature": "pub fn new(client: MapSpineClient, mind: impl Into<String>) -> Self;",
          "documentation": "Bind the memory plane to the spine. `mind` is the manifest's\n`[memory].mind` URI \u2014 it rides as a tag so recalled objects\nattribute to the mind that wrote them."
        },
        {
          "name": "::MapMemoryPlane::client",
          "line": 49,
          "signature": "pub fn client(&self) -> &MapSpineClient;",
          "documentation": "The underlying spine client (for dispatch-log access)."
        }
      ]
    },
    {
      "path": "forge-rs/harness-runtime/src/spine/mod.rs",
      "sha256": "5ace9c7c4387336337b3e1651e85dcd24773eff21e5e66567f24997eb51f793d",
      "artifactSha256": "346e53a5b96e276273ddbd91680292dfd22992b88f987e7b5f3a3964ed0b12c8",
      "url": "/reference/source/forge-rs/harness-runtime/src/spine/mod.rs.txt",
      "declarations": [
        {
          "name": "pub use client::{\n    MapSpineClient, MapSpineConfig, SpineDispatchRecord, SpineDispatchStatus, MAP_AUTH_TYPE_ENV,\n    MAP_BASE_URL_ENV,\n};",
          "line": 45,
          "signature": "pub use client::{\n    MapSpineClient, MapSpineConfig, SpineDispatchRecord, SpineDispatchStatus, MAP_AUTH_TYPE_ENV,\n    MAP_BASE_URL_ENV,\n};",
          "documentation": ""
        },
        {
          "name": "pub use context::{MapContextPlane, RecallHit};",
          "line": 49,
          "signature": "pub use context::{MapContextPlane, RecallHit};",
          "documentation": ""
        },
        {
          "name": "pub use memory::MapMemoryPlane;",
          "line": 50,
          "signature": "pub use memory::MapMemoryPlane;",
          "documentation": ""
        },
        {
          "name": "pub use payloads::{\n    MarcReasoningTask, MarcTaskResult, MindMemoryMetadata, MindMemoryObject, MindMemoryQuery,\n    MindQueryResult, MindStorageResult, MindSymbolicFilter,\n};",
          "line": 51,
          "signature": "pub use payloads::{\n    MarcReasoningTask, MarcTaskResult, MindMemoryMetadata, MindMemoryObject, MindMemoryQuery,\n    MindQueryResult, MindStorageResult, MindSymbolicFilter,\n};",
          "documentation": ""
        }
      ]
    },
    {
      "path": "forge-rs/harness-runtime/src/spine/payloads.rs",
      "sha256": "5b7ac23fbe7abf6ed32c44c76757d9b11453d7b7acd4442a412e498dae519380",
      "artifactSha256": "bb738751921e32345926ef5b718bed0d310312f55f5c09fa00c5614e70041fe9",
      "url": "/reference/source/forge-rs/harness-runtime/src/spine/payloads.rs.txt",
      "declarations": [
        {
          "name": "::MindMemoryObject",
          "line": 29,
          "signature": "#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]\n#[serde(rename_all = \"camelCase\")]\npub struct MindMemoryObject {\n/// MIND protocol version the object conforms to.\n\npub mind_version: String,\n/// UUID identifying the memory.\n\npub memory_id: String,\n/// Core textual content.\n\npub content: String,\n/// Provenance chain entries (opaque to the runtime).\n\n#[serde(default)]\npub provenance_chain: Vec<Value>,\n/// Access control rules (opaque to the runtime).\n\n#[serde(default)]\npub access_control_list: Vec<Value>,\n/// Annotations (opaque to the runtime).\n\n#[serde(default)]\npub annotations: Vec<Value>,\n/// Triggers (opaque to the runtime).\n\n#[serde(default)]\npub triggers: Vec<Value>,\n/// Object metadata (timestamp, source DID, tags).\n\npub metadata: MindMemoryMetadata\n}",
          "documentation": "MIND `MemoryObject` \u2014 the storable unit of memory for `store_memory`.\n\n`mind_version` carries the MIND module's own protocol version\n(`MindProtocol::version()` \u2192 `\"1.0.0\"`), matching ONE's projection.\nNote: `map/schemas/mind/v1/index.json` declares a `const: \"2.0.0\"` that\nthe module itself does not enforce (its Rust type is a plain string) \u2014\na known schema-side drift; the module version is the interop truth."
        },
        {
          "name": "::MindMemoryMetadata",
          "line": 56,
          "signature": "#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]\n#[serde(rename_all = \"camelCase\")]\npub struct MindMemoryMetadata {\n/// RFC 3339 timestamp of the write.\n\npub timestamp: String,\n/// DID of the agent the memory is attributed to.\n\npub source_agent_did: String,\n/// Free-form tags.\n\n#[serde(default)]\npub tags: Vec<String>,\n/// Ontology references.\n\n#[serde(default)]\npub ontology_references: Vec<String>\n}",
          "documentation": "MIND `MemoryMetadata` \u2014 the module validates `sourceAgentDid` carries a\n`did:` prefix; the runtime never fabricates one."
        },
        {
          "name": "::MindSymbolicFilter",
          "line": 72,
          "signature": "#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]\n#[serde(rename_all = \"camelCase\")]\npub struct MindSymbolicFilter {\n/// Subject pattern.\n\n#[serde(skip_serializing_if = \"Option::is_none\")]\npub subject: Option<String>,\n/// Predicate pattern.\n\n#[serde(skip_serializing_if = \"Option::is_none\")]\npub predicate: Option<String>,\n/// Object pattern.\n\n#[serde(skip_serializing_if = \"Option::is_none\")]\npub object: Option<String>\n}",
          "documentation": "MIND `SymbolicFilter` \u2014 a triple pattern narrowing recall."
        },
        {
          "name": "::MindMemoryQuery",
          "line": 91,
          "signature": "#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]\n#[serde(rename_all = \"camelCase\")]\npub struct MindMemoryQuery {\n/// Caller-minted query id.\n\npub query_id: String,\n/// Symbolic triple filter.\n\n#[serde(skip_serializing_if = \"Option::is_none\")]\npub symbolic_filter: Option<MindSymbolicFilter>,\n/// DID of the agent requesting recall (the spine tenant principal).\n\npub requesting_agent_did: String,\n/// Result cap.\n\n#[serde(skip_serializing_if = \"Option::is_none\")]\npub limit: Option<usize>\n}",
          "documentation": "MIND `MemoryQuery` for `recall_memory`.\n\nVector recall requires an embedding the runtime does not compute\nlocally; harness recall is therefore symbolic-filter keyed (the same\nhonest projection ONE documents in `map_spine.rs`)."
        },
        {
          "name": "::MindStorageResult",
          "line": 107,
          "signature": "#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]\n#[serde(rename_all = \"camelCase\")]\npub struct MindStorageResult {\n/// The stored memory's id.\n\npub memory_id: String,\n/// Store timestamp (provider-rendered).\n\npub stored_at: String,\n/// Backend that stored the object (`LOCAL` | `AKASHA`).\n\npub backend: String,\n/// Stored version.\n\npub version: u64\n}",
          "documentation": "MIND `StorageResult` \u2014 the `store_memory` response payload."
        },
        {
          "name": "::MindQueryResult",
          "line": 121,
          "signature": "#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]\n#[serde(rename_all = \"camelCase\")]\npub struct MindQueryResult {\n/// Echo of the query id.\n\npub query_id: String,\n/// The recalled memory objects.\n\npub results: Vec<MindMemoryObject>,\n/// Provider-measured execution time.\n\npub execution_time_ms: u64,\n/// Provider message (may be empty).\n\npub message: String\n}",
          "documentation": "MIND `MemoryQueryResultPayload` \u2014 the `recall_memory` response payload."
        },
        {
          "name": "::MarcReasoningTask",
          "line": 142,
          "signature": "#[derive(Debug, Clone, PartialEq, Serialize)]\npub struct MarcReasoningTask {\n/// Caller-minted task id.\n\npub task_id: String,\n/// Reasoning type (`\"deductive\"` for the context-plane projection).\n\npub reasoning_type: String,\n/// Reasoning mode; the spine projection is always Monolithic.\n\npub mode: Value,\n/// Premise statements. MARC's deductive engine rejects an empty\n\n/// premise list (`InsufficientPremises`) \u2014 callers must supply at\n\n/// least one real premise (recalled memory contents or the task\n\n/// text); a fabricated premise would poison the trace.\n\npub premises: Vec<String>,\n/// The query the engine evaluates.\n\npub query: String,\n/// Optional context string.\n\n#[serde(skip_serializing_if = \"Option::is_none\")]\npub context: Option<String>,\n/// Engine parameters (provenance markers ride here).\n\npub engine_params: Value\n}",
          "documentation": "MARC `ReasoningTaskRequest` for `reasoning_task`.\n\nThe serde shapes mirror `marc-lib` exactly: `reasoning_type` is\nsnake_case, `mode` is internally tagged PascalCase\n(`{\"type\": \"Monolithic\"}`)."
        },
        {
          "name": "::MarcReasoningTask::deductive",
          "line": 166,
          "signature": "pub fn deductive(\n        task_id: impl Into<String>,\n        premises: Vec<String>,\n        query: impl Into<String>,\n        context: Option<String>,\n    ) -> Self;",
          "documentation": "A monolithic deductive task \u2014 the projection ONE uses for\n`one.nous/decompose` / `one.nous/verify_plan`."
        },
        {
          "name": "::MarcTaskResult",
          "line": 191,
          "signature": "#[derive(Debug, Clone, PartialEq, Deserialize)]\npub struct MarcTaskResult {\n/// Echo of the task id.\n\npub task_id: String,\n/// The engine's result value.\n\npub result: Value,\n/// Engine-reported confidence in `[0, 1]`.\n\npub confidence: f64,\n/// The reasoning trace (steps, totals, timing).\n\npub reasoning_trace: Value,\n/// Synthesis details, when the mode produced them.\n\n#[serde(default)]\npub synthesis_details: Option<Value>,\n/// Issues raised by the engine.\n\n#[serde(default)]\npub issues: Vec<Value>\n}",
          "documentation": "MARC `ReasoningTaskResponse` \u2014 the `reasoning_task` response payload.\nFields not needed by the runtime (`synthesis_details`, `issues`) are\nretained as opaque values so nothing the module returned is dropped."
        }
      ]
    },
    {
      "path": "forge-rs/harness-runtime/src/strategy/microdag.rs",
      "sha256": "c41dc7ae8731c44e70ba0d8775af404b4a51b07e2d8a1bef788dc854e8efdc94",
      "artifactSha256": "1bd1b3de09b7d419f0291dd739fd9ccacbd3b0c3b05925d0e57b1214fa69dc06",
      "url": "/reference/source/forge-rs/harness-runtime/src/strategy/microdag.rs.txt",
      "declarations": [
        {
          "name": "::DagError",
          "line": 18,
          "signature": "#[derive(Debug, Clone, PartialEq, Eq, Error)]\npub enum DagError {\n    /// Two nodes share an id.\n    #[error(\"duplicate node id {0:?}\")]\n    DuplicateNode(String),\n    /// A `depends_on` edge names a node that does not exist.\n    #[error(\"node {node:?} depends on unknown node {dependency:?}\")]\n    UnknownDependency {\n        /// The node carrying the edge.\n        node: String,\n        /// The missing dependency.\n        dependency: String,\n    },\n    /// The graph contains a dependency cycle.\n    #[error(\"dependency cycle involving {0:?}\")]\n    Cycle(Vec<String>),\n}",
          "documentation": "A MicroDAG validation failure."
        },
        {
          "name": "::MicroDagNode",
          "line": 37,
          "signature": "#[derive(Debug, Clone, PartialEq, Eq)]\npub struct MicroDagNode {\n/// Unique step id.\n\npub id: String,\n/// Ids of steps that must complete before this one starts.\n\npub depends_on: Vec<String>\n}",
          "documentation": "One MicroDAG step."
        },
        {
          "name": "::MicroDag",
          "line": 46,
          "signature": "#[derive(Debug, Clone, PartialEq, Eq)]\npub struct MicroDag {\n\n}",
          "documentation": "A validated MicroDAG: a small step graph with dependency edges."
        },
        {
          "name": "::MicroDag::new",
          "line": 53,
          "signature": "pub fn new(nodes: Vec<MicroDagNode>) -> Result<Self, DagError>;",
          "documentation": "Build and validate a MicroDAG (unique ids, resolvable edges,\nacyclic)."
        },
        {
          "name": "::MicroDag::nodes",
          "line": 60,
          "signature": "pub fn nodes(&self) -> &[MicroDagNode];",
          "documentation": "The steps, in declaration order."
        },
        {
          "name": "::MicroDag::layers",
          "line": 91,
          "signature": "pub fn layers(&self) -> Result<Vec<Vec<String>>, DagError>;",
          "documentation": "Kahn's-algorithm topological layering: nodes with no outstanding\ndependencies form layer 0, and each later layer unblocks as earlier\nlayers complete. A cycle leaves unprocessed nodes, which is the\ncycle witness."
        },
        {
          "name": "::MicroDagStrategy",
          "line": 147,
          "signature": "pub trait MicroDagStrategy: LoopStrategy {\n    /// Compile a task and admitted manifest into an executable MicroDAG.\n    fn compile(&self, task: &str) -> Result<MicroDag, DagError>;\n}",
          "documentation": "The `microdag` loop strategy contract.\n\nImplementations compile a task into a [`MicroDag`] and drive the layers\nagainst the bound planes. Registered by hosts; the strategy name\nresolves through [`LoopStrategy::name`]."
        }
      ]
    },
    {
      "path": "forge-rs/harness-runtime/src/strategy/mod.rs",
      "sha256": "28a067d8729995a46cc22759db8b2b6b2b5befea3f1a60f4438499ab00f9224c",
      "artifactSha256": "7cf1c331ede78a1b13e3a124334a4a3316afd9335707dd83ae90458f39649005",
      "url": "/reference/source/forge-rs/harness-runtime/src/strategy/mod.rs.txt",
      "declarations": [
        {
          "name": "pub use microdag::{DagError, MicroDag, MicroDagNode, MicroDagStrategy};",
          "line": 18,
          "signature": "pub use microdag::{DagError, MicroDag, MicroDagNode, MicroDagStrategy};",
          "documentation": ""
        },
        {
          "name": "pub use react::ReactLoop;",
          "line": 19,
          "signature": "pub use react::ReactLoop;",
          "documentation": ""
        },
        {
          "name": "::RunPlan",
          "line": 23,
          "signature": "#[derive(Debug)]\npub struct RunPlan {\n/// The admitted harness (contract sealed, planes bound, budget\n\n/// reserved).\n\npub admitted: AdmittedHarness,\n/// The task to accomplish.\n\npub task: String\n}",
          "documentation": "Everything a strategy needs to drive one run."
        },
        {
          "name": "::LoopStrategy",
          "line": 38,
          "signature": "#[async_trait]\npub trait LoopStrategy: Send + Sync {\n    /// The registered strategy name (`loop.strategy` in the manifest).\n    fn name(&self) -> &'static str;\n\n    /// Drive one run to its terminal state.\n    async fn run(&self, plan: RunPlan) -> Result<RunRecord, RuntimeError>;\n}",
          "documentation": "A loop strategy driver.\n\nImplementations sequence plane calls for one run and produce the\nterminal [`RunRecord`]. Per \u00a74.4, in-run failures land in terminal\n`halted`/`failed` outcomes with settlement \u2014 strategies return `Err`\nonly for runtime-contract violations, not provider failures."
        },
        {
          "name": "::StrategyRegistry",
          "line": 53,
          "signature": "#[derive(Clone, Default)]\npub struct StrategyRegistry {\n\n}",
          "documentation": "The runtime's strategy registry.\n\nShips with `react` registered ([`StrategyRegistry::with_builtins`]).\n`microdag` is a supported strategy *trait* ([`MicroDagStrategy`]) that\nhosts register their driver for; a manifest naming an unregistered\nstrategy is denied at admission (\u00a75.13)."
        },
        {
          "name": "::StrategyRegistry::new",
          "line": 59,
          "signature": "pub fn new() -> Self;",
          "documentation": "An empty registry."
        },
        {
          "name": "::StrategyRegistry::with_builtins",
          "line": 64,
          "signature": "pub fn with_builtins() -> Self;",
          "documentation": "A registry with the builtin drivers (`react`)."
        },
        {
          "name": "::StrategyRegistry::register",
          "line": 71,
          "signature": "pub fn register(&mut self, strategy: Arc<dyn LoopStrategy>);",
          "documentation": "Register a driver under its `name()`."
        },
        {
          "name": "::StrategyRegistry::get",
          "line": 76,
          "signature": "pub fn get(&self, name: &str) -> Option<&Arc<dyn LoopStrategy>>;",
          "documentation": "Look up a driver by manifest `loop.strategy` name."
        },
        {
          "name": "::StrategyRegistry::names",
          "line": 81,
          "signature": "pub fn names(&self) -> Vec<&'static str>;",
          "documentation": "Registered strategy names, sorted."
        }
      ]
    },
    {
      "path": "forge-rs/harness-runtime/src/strategy/react.rs",
      "sha256": "19ceafc8b2fa8185b9df090c60a48ce7d535d2f881692897cda5872487e796ed",
      "artifactSha256": "54a0cbfbe5f88a54c21c60e7d9d18935086cf008ca54cb74b7dbbe68baa9ffad",
      "url": "/reference/source/forge-rs/harness-runtime/src/strategy/react.rs.txt",
      "declarations": [
        {
          "name": "::ReactLoop",
          "line": 34,
          "signature": "#[derive(Debug, Default)]\npub struct ReactLoop;",
          "documentation": "The `react` loop strategy driver."
        },
        {
          "name": "::ReactLoop::new",
          "line": 38,
          "signature": "pub fn new() -> Self;",
          "documentation": "Construct the driver."
        }
      ]
    },
    {
      "path": "forge-rs/harness-runtime/src/trace.rs",
      "sha256": "42b8a03ffd77a94a0a6d8044bd453eedff899243f013f3e6e85e0ea7d9544932",
      "artifactSha256": "2b25a2317a8ba0bd143845e75fb65630eed96ea95092de5b5cbff709246ce810",
      "url": "/reference/source/forge-rs/harness-runtime/src/trace.rs.txt",
      "declarations": [
        {
          "name": "::TRACEPARENT_HEADER",
          "line": 15,
          "signature": "pub const TRACEPARENT_HEADER: &str;",
          "documentation": "The `traceparent` header name defined by W3C Trace Context."
        },
        {
          "name": "::TraceContext",
          "line": 19,
          "signature": "#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]\npub struct TraceContext {\n\n}",
          "documentation": "A W3C Trace Context: 128-bit trace id, 64-bit span id, sampled flag."
        },
        {
          "name": "::TraceContext::root",
          "line": 27,
          "signature": "pub fn root() -> Self;",
          "documentation": "Mint a fresh root context (random trace and span ids, sampled)."
        },
        {
          "name": "::TraceContext::child",
          "line": 38,
          "signature": "pub fn child(&self) -> Self;",
          "documentation": "Derive a child context: same trace, fresh span id. Used when one\nplane call logically nests under another within the same run."
        },
        {
          "name": "::TraceContext::trace_id_hex",
          "line": 48,
          "signature": "pub fn trace_id_hex(&self) -> String;",
          "documentation": "The trace id as 32 lowercase hex characters."
        },
        {
          "name": "::TraceContext::span_id_hex",
          "line": 53,
          "signature": "pub fn span_id_hex(&self) -> String;",
          "documentation": "The span id as 16 lowercase hex characters."
        },
        {
          "name": "::TraceContext::sampled",
          "line": 58,
          "signature": "pub fn sampled(&self) -> bool;",
          "documentation": "Whether the sampled flag is set."
        },
        {
          "name": "::TraceContext::traceparent",
          "line": 64,
          "signature": "pub fn traceparent(&self) -> String;",
          "documentation": "Render the W3C `traceparent` header value:\n`00-<trace-id>-<span-id>-<flags>`."
        },
        {
          "name": "::TraceContext::from_traceparent",
          "line": 74,
          "signature": "pub fn from_traceparent(value: &str) -> Result<Self, TraceContextError>;",
          "documentation": "Parse a `traceparent` header value (version `00` only)."
        }
      ]
    }
  ]
}
