<?xml version='1.0' encoding='UTF-8'?>
<rfc version="3" category="exp" submissionType="independent" ipr="trust200902" docName="draft-c4tz-marc-03" symRefs="true" sortRefs="true">
  <front>
    <title abbrev="MARC">MARC: A Control and Uncertainty Disclosure Profile for Generative Models and Agents</title>
    <seriesInfo name="Internet-Draft" value="draft-c4tz-marc-03"/>
    <author fullname="c4tz" surname="c4tz">
      <organization>c0dx3</organization>
      <address>
        <postal>
          <country>France</country>
        </postal>
        <email>c4tzzzz@proton.me</email>
      </address>
    </author>
    <date year="2026" month="October" day="4"/>
    <abstract>
      <t>This document specifies MARC, an experimental, vendor-neutral profile for control and uncertainty-disclosure metadata in generative models and agentic systems. MARC separates pre-decision capability assessment from post-decision answer confidence, identifies uncertainty sources and confidence targets, and defines a bounded set of primary actions and a minimal disclosure object.</t>
      <t>The experiment evaluates whether independently developed components can exchange and interpret these metadata consistently across implementation and protocol boundaries. It also supports evaluation of action selection, uncertainty attribution, confidence calibration, and downstream presentation.</t>
      <t>MARC specifies externally observable semantics. It does not define model internals, transport, authentication, authorization, agent discovery, tool schemas, or task execution, and it does not require disclosure of internal reasoning. The intended users are implementers of agent runtimes, orchestration layers, model gateways, evaluation systems, and user interfaces. This document does not define an Internet Standard.</t>
    </abstract>
  </front>
  <middle>
    <section anchor="sec-introduction">
      <name>Introduction</name>
      <t>Generative models and agentic systems increasingly combine answering, retrieval, tool invocation, and user interaction within a single workflow. In many deployments, these behaviors are implemented as separate heuristics, producing inconsistent handling of uncertainty, unnecessary tool calls, silent failure, misleading refusals, or user overreliance.</t>
      <t>MARC defines a vendor-neutral profile for control metadata and structured uncertainty disclosure. It leaves model internals and internal scoring methods unspecified. Instead, it defines the semantics of capability and uncertainty assessments, a bounded primary-action set, confidence targets, and a minimal disclosure profile. These semantics can be implemented by a base model, an external orchestrator, a model gateway, an agent runtime, or a hybrid architecture.</t>
      <t>This document is proposed for publication as an Experimental RFC through the Independent Submission Stream. It is not an IETF working group product, does not claim IETF consensus, and does not define an Internet Standard or a mandatory deployment architecture.</t>
      <t>The experiment investigates whether independently developed emitters, receivers, validators, and orchestration components can exchange and interpret common MARC semantics. It distinguishes agreement about the meaning of a field from agreement about a model's assessment: different models can assign different scores or select different actions without changing the meaning of the metadata.</t>
      <t>MARC metadata can be carried by other protocols, APIs, task envelopes, event streams, or audit logs. The Internet interoperability question is whether a receiving component can retain the meaning and association of control and uncertainty metadata when a workflow crosses component or administrative boundaries. The experimental objectives and reporting guidance are described in <xref target="sec-experimental-scope-and-objectives"/>.</t>
      <t>The design is motivated by findings that current large language models often exhibit weak metacognitive reporting in high-stakes reasoning tasks <xref target="GRIOT2025"/>, that users can become overconfident when systems provide longer or default explanations <xref target="STEYVERS-KNOW2025"/>, that metacognitive triggering can improve tool-use decisions <xref target="LI-MECO2025"/>, and that identifying the source of uncertainty is distinct from merely abstaining <xref target="LIU-CONFUSE2025"/>. Work on cognitive offloading further motivates treating retrieval and tool use as value-based control choices rather than universal fallbacks <xref target="GILBERT2024"/>.</t>
      <t>MARC also separates pre-decision capability assessment from post-decision confidence about the selected answer. This separation is motivated in part by evidence that LLM confidence can be biased by prior answer commitment and by the visibility of the model's own earlier output <xref target="KUMARAN2026"/>.</t>
    </section>
    <section anchor="sec-problem-statement">
      <name>Problem Statement</name>
      <t>Generative and agentic systems lack a common, implementation-neutral way to represent the control state associated with uncertainty-aware action selection. In particular, downstream systems often cannot distinguish between the following situations:</t>
      <ul>
        <li>
          <t>the request is ambiguous and user clarification is the best next action;</t>
        </li>
        <li>
          <t>current evidence is missing, inaccessible, insufficient, or stale, and retrieval would likely help;</t>
        </li>
        <li>
          <t>the system lacks competence for the task even after available resources are considered;</t>
        </li>
        <li>
          <t>available evidence is materially inconsistent and should be reconciled or escalated;</t>
        </li>
        <li>
          <t>a safety, legal, or policy constraint limits execution or disclosure; or</t>
        </li>
        <li>
          <t>a candidate answer has been produced, but its confidence should be disclosed with a calibrated band rather than a fine-grained score.</t>
        </li>
      </ul>
      <t>Without a shared representation, one system's refusal, tool call, confidence label, or escalation hint may be opaque to another system. This weakens auditability, makes evaluation brittle, and can create inconsistent user experiences across otherwise similar deployments.</t>
      <t>MARC addresses this problem by defining interoperable metadata for:</t>
      <ul>
        <li>
          <t>pre-decision capability assessment;</t>
        </li>
        <li>
          <t>uncertainty-source attribution;</t>
        </li>
        <li>
          <t>remediability of the uncertainty state;</t>
        </li>
        <li>
          <t>selected primary action;</t>
        </li>
        <li>
          <t>post-decision answer confidence when an answer candidate exists;</t>
        </li>
        <li>
          <t>confidence-target semantics; and</t>
        </li>
        <li>
          <t>a minimal disclosure profile suitable for user interfaces or downstream consumers.</t>
        </li>
      </ul>
      <t>MARC intentionally limits itself to externally observable semantics. It does not require disclosure of chain-of-thought, hidden prompts, raw internal activations, training data, or model architecture.</t>
    </section>
    <section anchor="sec-requirements-language-and-terminology">
      <name>Requirements Language and Terminology</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>", "<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they appear in all capitals, as shown here.</t>
      <dl>
        <dt>Base model</dt>
        <dd>
          <t>The generative model that produces candidate outputs.</t>
        </dd>
        <dt>Controller</dt>
        <dd>
          <t>The component that computes MARC signals, selects a primary action, and emits a MARC-Core record. The controller <bcp14>MAY</bcp14> be part of the base model, an external orchestrator, a gateway, or a hybrid component.</t>
        </dd>
        <dt>Decision point</dt>
        <dd>
          <t>A point in a generative or agentic workflow at which the controller selects one primary action from the MARC action set.</t>
        </dd>
        <dt>Emitter</dt>
        <dd>
          <t>The component or system that emits a MARC-Core or MARC-Disclosure object.</t>
        </dd>
        <dt>Externalization</dt>
        <dd>
          <t>The use of resources external to the base model at the current decision point, including retrieval, non-retrieval tool invocation, and human escalation.</t>
        </dd>
        <dt>MARC-Core</dt>
        <dd>
          <t>The structured record emitted for logging, orchestration, audit, evaluation, or downstream exchange.</t>
        </dd>
        <dt>MARC-Disclosure</dt>
        <dd>
          <t>The minimum structured information exposed to a downstream system or end user about answer content, uncertainty source, confidence band, confidence target, and recommended next step.</t>
        </dd>
        <dt>Receiver</dt>
        <dd>
          <t>The component or system that consumes a MARC-Core or MARC-Disclosure object.</t>
        </dd>
        <dt>Remediability</dt>
        <dd>
          <t>The best available class of intervention for the currently observed uncertainty state.</t>
        </dd>
      </dl>
    </section>
    <section anchor="sec-design-goals-and-non-goals">
      <name>Design Goals and Non-Goals</name>
      <section anchor="sec-design-goals">
        <name>Design Goals</name>
        <t>MARC has the following design goals:</t>
        <ul>
          <li>
            <t>Define a small, interoperable set of control and uncertainty-disclosure metadata that can be exchanged across orchestration layers, agent runtimes, evaluation systems, and audit pipelines.</t>
          </li>
          <li>
            <t>Separate monitoring, uncertainty attribution, action selection, confidence targeting, and disclosure.</t>
          </li>
          <li>
            <t>Support calibrated user-facing uncertainty communication without requiring exposure of chain-of-thought or raw internal reasoning.</t>
          </li>
          <li>
            <t>Permit heterogeneous implementations while preserving common action semantics.</t>
          </li>
          <li>
            <t>Reduce harmful overreliance, false reassurance, unnecessary externalization, and anthropomorphic interpretation in user-facing AI systems.</t>
          </li>
          <li>
            <t>Provide metadata that can be carried by other protocols, APIs, or agent communication frameworks without defining those protocols itself.</t>
          </li>
          <li>
            <t>Provide validation constraints and test vectors that make MARC records mechanically checkable where a JSON encoding is used.</t>
          </li>
        </ul>
      </section>
      <section anchor="sec-non-goals">
        <name>Non-Goals</name>
        <t>MARC does not define a transport protocol, model architecture, benchmark, training recipe, agent-discovery mechanism, authorization framework, authentication framework, provenance framework, tool schema language, or task-execution protocol.</t>
        <t>MARC does not attempt to standardize model internals, machine cognition, consciousness, sentience, personality, or social behavior. It specifies external control semantics and structured disclosure behavior only.</t>
        <t>MARC is not a framework for synthetic personality design or persuasive optimization. Work on personality measurement in LLMs <xref target="SERAPIO2025"/> and conversational persuasion risks <xref target="SALVI2025"/> is relevant background, but these topics are explicitly out of scope here.</t>
        <t>This experiment does not define a media type, wire protocol, or IANA registry. It uses the facilities of the carrying protocol or deployment environment.</t>
      </section>
      <section anchor="sec-experimental-scope-and-objectives">
        <name>Experimental Scope and Objectives</name>
        <t>This section describes the experiment and does not add conformance requirements. The conformance classes remain those defined in <xref target="sec-conformance"/>. The experiment separates semantic interoperability from behavioral performance and the effects of disclosure on users.</t>
        <section anchor="sec-experimental-interoperability">
          <name>Semantic Interoperability</name>
          <t>The interoperability experiment examines whether independently developed components can:</t>
          <ul>
            <li><t>parse records and agree on acceptance or rejection under the same declared requirements, while distinguishing violations of mandatory requirements from deviations from recommendations or local policies;</t></li>
            <li><t>preserve selected-action, uncertainty-source, remediability, confidence-band, confidence-target, and recommended-next-step semantics across component boundaries;</t></li>
            <li><t>project MARC-Core into MARC-Disclosure using the mapping in <xref target="sec-projection-from-marc-core"/> or a documented deployment-specific mapping; and</t></li>
            <li><t>preserve the association of each record or disclosure with its intended decision point, message, answer, or artifact throughout a workflow.</t></li>
          </ul>
          <t>A useful experiment exchanges a fixed set of records between separately developed producers and consumers, checks the recovered fields and their associations, and compares the results with the documented expectations. Validation can use the examples in <xref target="appendix-validation-test-vectors"/> and additional cases derived from the normative requirements. The examples and reference schemas are aids, not replacements for those requirements.</t>
          <t>For a lifecycle experiment, distinct clarification, retrieval, and final-answer disclosures can be associated with distinct carrier objects. The receiver checks both the disclosure contents and which object each disclosure describes. The carrier mapping documents how correlations and, where applicable, updates, duplicate deliveries, ordering, or replay are handled. Byte-for-byte delivery alone cannot show that a confidence band remains associated with the correct answer.</t>
          <t>Passing a finite set of vectors demonstrates agreement on those cases; it does not establish complete conformance. Reports distinguish independently developed implementations from implementations maintained together or sharing validation logic.</t>
        </section>
        <section anchor="sec-experimental-operational-evaluation">
          <name>Operational Evaluation</name>
          <t>Operational experiments examine action-selection quality, uncertainty-source attribution, confidence-target assignment, confidence-band calibration, unnecessary retrieval or tool use, inappropriate abstention or escalation, loop termination, and user comprehension. <xref target="appendix-evaluation-considerations"/> provides evaluation guidance.</t>
          <t>Meaningful comparisons identify the task family, model and controller versions, available tools and evidence, policy constraints, calibration regime, and comparison baseline. Metrics, datasets, labeling procedures, and success criteria are specified before interpreting the results. Where practical, a baseline holds these conditions constant while varying the use of MARC metadata or its presentation.</t>
          <t>The experiment does not require different models to produce identical scores, actions, or confidence bands for the same input. A shared label such as high does not establish a common accuracy rate across deployments. Comparing confidence bands requires the target, task context, thresholds, and calibration evidence; the vocabulary alone does not provide that evidence.</t>
        </section>
        <section anchor="sec-experimental-reporting">
          <name>Reporting and Assessment</name>
          <t>To make results reproducible, experiment reports can include the draft revision, implementation versions and development provenance, functions and conformance classes tested, carrier versions and mappings, test inputs, expected and observed results, recommendation-level deviations, and known limitations. For behavioral measurements, reports can also include sample sizes, uncertainty in the measurements, the baseline, and adverse outcomes. Shared material is subject to the privacy considerations in <xref target="sec-privacy-considerations"/>.</t>
          <t>Evidence supporting semantic interoperability consists of agreement on the specified field meanings and mandatory validation outcomes for the tested cases, preservation of object associations, and correct recovery of mapped disclosures. Different diagnostic wording is not itself a failure. Disagreements, lost associations, undocumented transformations, or incompatible confidence interpretations identify implementation defects or specification issues for investigation.</t>
          <t>Operational benefit remains a separate empirical question. Successful metadata exchange does not demonstrate better action selection or safer user reliance. Negative or inconclusive results are useful: they can motivate clarification, revision, a narrower scope, or discontinuation of an experimental use. The document does not prescribe a completion date, a universal performance threshold, or an automatic transition to standardization.</t>
        </section>
        <section anchor="sec-experimental-limits">
          <name>Limits of the Experiment</name>
          <t>Structural validation can check required fields, value ranges, enumerations, and mechanically checkable cross-field constraints. It cannot establish that the underlying capability estimate, uncertainty attribution, action selection, confidence band, or recommended next step is empirically correct.</t>
          <t>Behavioral requirements, calibration, effective policy enforcement, and appropriate use require evidence beyond record validation. Neither a valid record nor a passing interoperability test demonstrates that a deployment is accurate, calibrated, safe, unbiased, or appropriate for a particular task.</t>
          <t>A validator, projection library, or receiver can exercise part of MARC without implementing a complete controller. Reports identify that scope and do not equate a partial component with conformance to all MARC-Core or MARC-Disclosure requirements.</t>
        </section>
      </section>
    </section>
    <section anchor="sec-applicability">
      <name>Applicability</name>
      <t>MARC is applicable to systems that need interoperable control metadata for uncertainty-aware decision points in generative or agentic workflows. Examples include model gateways, retrieval-augmented generation controllers, agent runtimes, orchestration layers, evaluation harnesses, audit pipelines, and user-facing AI interfaces.</t>
      <t>MARC is most useful when a system must decide whether to answer, request clarification, retrieve evidence, invoke a tool, deliberate further, abstain, or escalate.</t>
      <t>MARC is also applicable when a receiving system needs to understand why a prior component selected a particular action, what uncertainty source drove the decision, whether the confidence band applies to an answer or to direct-answer suitability, and what next step is recommended.</t>
      <t>MARC is not intended for systems that only need ordinary response logging, nor for systems where action selection is entirely outside the control of the model, gateway, orchestrator, or agent runtime.</t>
      <t>MARC does not define transport, authorization, authentication, agent identity, tool schemas, task execution, provenance, or model internals. Those functions are left to the carrying protocol or deployment environment.</t>
    </section>
    <section anchor="sec-use-cases">
      <name>Use Cases</name>
      <section anchor="sec-ambiguous-user-request">
        <name>Ambiguous User Request</name>
        <t>A user asks a question whose correct answer depends on an unspecified jurisdiction, time period, dataset, identity, or operational context. A MARC controller attributes the dominant uncertainty to ambiguity, selects CLARIFY, and exposes a short clarification request instead of silently guessing.</t>
      </section>
      <section anchor="sec-retrieval-augmented-answering">
        <name>Retrieval-Augmented Answering</name>
        <t>A system is asked for current information or domain-specific evidence not available in the base model context. A MARC controller attributes the dominant uncertainty to missing_evidence, selects RETRIEVE, and re-enters assessment after obtaining authoritative sources.</t>
      </section>
      <section anchor="sec-agent-tool-invocation">
        <name>Agent Tool Invocation</name>
        <t>An agent can answer directly, call a calculator, invoke a planner, query a database, or escalate. A MARC controller treats tool use as a controlled action rather than a default fallback. If tool invocation materially expands competence for the task, the controller selects TOOL; otherwise it may select ANSWER, CLARIFY, ABSTAIN, or ESCALATE depending on uncertainty attribution and remediability.</t>
      </section>
      <section anchor="sec-api-gateway-or-orchestration-layer">
        <name>API Gateway or Orchestration Layer</name>
        <t>An API gateway receives model output plus MARC-Core metadata. The gateway logs the full record for audit, but exposes only MARC-Disclosure fields to the user interface. This permits consistent user-facing uncertainty communication without exposing internal scoring details.</t>
      </section>
      <section anchor="sec-agent-to-agent-handoff">
        <name>Agent-to-Agent Handoff</name>
        <t>One agent transfers a task to another agent or service. MARC metadata can indicate why the transfer occurred, what uncertainty source drove the decision, what the confidence band applies to, and what next step is recommended. The receiving system can use this metadata for routing, prioritization, audit, or human review.</t>
      </section>
      <section anchor="sec-high-risk-domain-escalation">
        <name>High-Risk Domain Escalation</name>
        <t>In health, legal, financial, safety, or mental-health-related contexts, a system identifies a capability limit or safety constraint. A MARC controller selects ABSTAIN or ESCALATE and emits a disclosure that identifies the operational limit and the recommended next step.</t>
      </section>
    </section>
    <section anchor="sec-architecture-and-processing-model">
      <name>Architecture and Processing Model</name>
      <section anchor="sec-functional-components">
        <name>Functional Components</name>
        <t>A MARC deployment conceptually contains the following components:</t>
        <ul>
          <li>
            <t>a base model;</t>
          </li>
          <li>
            <t>a controller;</t>
          </li>
          <li>
            <t>zero or more external resources, such as retrieval systems, non-retrieval tools, or human escalation paths; and</t>
          </li>
          <li>
            <t>a downstream consumer, such as a user interface, API gateway, logging system, evaluation harness, or another agent.</t>
          </li>
        </ul>
        <t>The functional decomposition is conceptual. An implementation <bcp14>MAY</bcp14> place all functions inside a single model endpoint, an orchestration service, a model gateway, or an agent runtime.</t>
      </section>
      <section anchor="sec-processing-stages">
        <name>Processing Stages</name>
        <t>A MARC controller performs the following processing stages at each decision point:</t>
        <ol>
          <li>
            <t>Compute a pre-decision capability estimate for the current request with currently available resources.</t>
          </li>
          <li>
            <t>Attribute uncertainty across the source classes defined in this document.</t>
          </li>
          <li>
            <t>Determine remediability and select exactly one primary action from the MARC primary action set.</t>
          </li>
          <li>
            <t>Determine what the confidence band applies to by assigning confidence_target.</t>
          </li>
          <li>
            <t>If the selected action yields a candidate answer, compute post-decision confidence for that answer.</t>
          </li>
          <li>
            <t>Emit a MARC-Core record.</t>
          </li>
          <li>
            <t>If uncertainty is exposed to a downstream system or end user, emit a MARC-Disclosure object or semantically equivalent disclosure.</t>
          </li>
        </ol>
      </section>
      <section anchor="sec-state-machine">
        <name>State Machine</name>
        <t>The following state machine is descriptive rather than a required implementation architecture:</t>
        <artwork>REQUEST
  -&gt; ASSESS
  -&gt; ATTRIBUTE
  -&gt; SELECT
       -&gt; ANSWER     -&gt; CONFIDENCE -&gt; DISCLOSE
       -&gt; CLARIFY    -&gt; DISCLOSE
       -&gt; RETRIEVE   -&gt; ASSESS
       -&gt; TOOL       -&gt; ASSESS
       -&gt; DELIBERATE -&gt; ASSESS
       -&gt; ABSTAIN    -&gt; DISCLOSE
       -&gt; ESCALATE   -&gt; DISCLOSE</artwork>
        <t>A MARC controller that permits repeated transitions through RETRIEVE, TOOL, or DELIBERATE <bcp14>MUST</bcp14> define, enforce, and document loop bounds or termination criteria that limit those transitions. These can be iteration limits, time budgets, cost budgets, or equivalent effective termination criteria. The controller <bcp14>MUST</bcp14> stop initiating further RETRIEVE, TOOL, or DELIBERATE transitions for that loop when the applicable limit is reached.</t>
        <t>The limits can be enforced by the controller itself or by an orchestration component responsible for its execution. This requirement applies to control of repeated execution; it does not require a component that only validates, projects, displays, or transports records to control another component's execution. The optional iteration and max_iterations fields do not by themselves enforce a limit, and validating a record does not demonstrate termination behavior.</t>
        <t>When MARC records are logged or exchanged across components, an implementation <bcp14>SHOULD</bcp14> use decision identifiers or an equivalent correlation mechanism to relate repeated decision points.</t>
      </section>
    </section>
    <section anchor="sec-marc-values-and-decision-policy">
      <name>MARC Values and Decision Policy</name>
      <section anchor="sec-pre-decision-capability">
        <name>Pre-Decision Capability</name>
        <t>Before disclosing a final answer, a MARC implementation <bcp14>MUST</bcp14> estimate whether the current request can be handled reliably with currently available resources.</t>
        <t>This estimate is represented as pre_capability. When a numeric representation is used, the value <bcp14>MUST</bcp14> be in the closed interval [0.0, 1.0]. The method used to derive the value is implementation-specific.</t>
        <t>pre_capability is assessed before final answer commitment. It is not a confidence score for an already-selected answer.</t>
      </section>
      <section anchor="sec-uncertainty-attribution">
        <name>Uncertainty Attribution</name>
        <t>A MARC implementation <bcp14>MUST</bcp14> attribute uncertainty to one or more of the following classes:</t>
        <dl>
          <dt>ambiguity</dt>
          <dd>
            <t>The request is underspecified, equivocal, or pragmatically unclear.</t>
          </dd>
          <dt>missing_evidence</dt>
          <dd>
            <t>Required external evidence is absent, inaccessible, insufficient, or stale.</t>
          </dd>
          <dt>capability_limit</dt>
          <dd>
            <t>The system lacks the competence to solve the task reliably under current conditions.</t>
          </dd>
          <dt>evidence_conflict</dt>
          <dd>
            <t>Relevant evidence is materially inconsistent or mutually incompatible.</t>
          </dd>
          <dt>safety</dt>
          <dd>
            <t>A policy, legal, or safety constraint limits execution or disclosure.</t>
          </dd>
        </dl>
        <t>The safety class is included in the uncertainty attribution object for operational convenience. It represents a control constraint rather than purely epistemic uncertainty. Implementations <bcp14>MUST</bcp14> treat safety as a governing constraint when it controls action selection.</t>
        <t>An implementation <bcp14>MAY</bcp14> assign scores to multiple classes. If numeric uncertainty scores are emitted, they <bcp14>MUST</bcp14> each be in the interval [0.0, 1.0].</t>
        <t>Uncertainty scores are not mutually exclusive probabilities and <bcp14>MUST NOT</bcp14> be required to sum to 1.0. They represent implementation-specific estimates of the salience or severity of each uncertainty class at the current decision point.</t>
        <t>The implementation <bcp14>MUST</bcp14> identify one primary_source and <bcp14>MAY</bcp14> identify one secondary_source. The primary_source identifies the uncertainty source most relevant to action selection at the current decision point.</t>
        <t>MARC 1.0 does not define none as an uncertainty source. If residual uncertainty is negligible, an implementation <bcp14>MUST</bcp14> still identify the most operationally relevant residual source using one of the canonical primary_source values listed in <xref target="sec-enumerated-values"/>. A MARC 1.0 implementation <bcp14>MUST NOT</bcp14> emit primary_source with the value none.</t>
        <t>A documented private extension can supplement the canonical primary_source value, for example by indicating that residual uncertainty is negligible. Such an extension is an additional field subject to <xref target="sec-versioning-and-extension-rules"/>; it does not replace primary_source or introduce an additional value into its enumeration. Selecting a residual source does not imply that its score is nonzero.</t>
      </section>
      <section anchor="sec-remediability">
        <name>Remediability</name>
        <t>A MARC implementation <bcp14>MUST</bcp14> represent the best available class of intervention for the current uncertainty state using one of the following values:</t>
        <ul>
          <li>
            <t>user_clarification</t>
          </li>
          <li>
            <t>retrieval</t>
          </li>
          <li>
            <t>tool</t>
          </li>
          <li>
            <t>human</t>
          </li>
          <li>
            <t>none</t>
          </li>
        </ul>
        <t>Low capability alone is insufficient to determine remediability. Implementations <bcp14>SHOULD</bcp14> account for expected gain, latency, cost, availability, user burden, and policy constraints when choosing a remediating intervention.</t>
      </section>
      <section anchor="sec-post-decision-confidence">
        <name>Post-Decision Confidence</name>
        <t>If the selected action yields a candidate answer, the implementation <bcp14>MUST</bcp14> compute a distinct estimate of the likelihood that the disclosed answer is correct or acceptable for its intended use.</t>
        <t>This estimate is represented as post_answer_confidence. When a numeric representation is used, the value <bcp14>MUST</bcp14> be in the interval [0.0, 1.0]. It <bcp14>MUST NOT</bcp14> be treated as identical to pre_capability.</t>
        <t>If no candidate answer exists, post_answer_confidence <bcp14>MAY</bcp14> be omitted or set to null.</t>
      </section>
      <section anchor="sec-confidence-band">
        <name>Confidence Band</name>
        <t>The field confidence_band carries a coarse, calibrated band for downstream or user-facing disclosure.</t>
        <t>For ANSWER, the band describes confidence in the candidate answer. For actions that do not yield a candidate answer, the band describes direct-answer suitability under current conditions unless confidence_target indicates action_suitability. It is not a claim about the grammatical correctness or helpfulness of the clarification, refusal, or escalation text.</t>
        <t>MARC defines the canonical band labels low, medium, and high. Implementations <bcp14>MAY</bcp14> localize the user-visible text, but they <bcp14>MUST</bcp14> preserve the underlying three-band semantics.</t>
        <t>The thresholds associated with each band are implementation-specific, but they <bcp14>MUST</bcp14> be monotonic, non-overlapping, and documented for any deployment that claims conformance. A deployment claiming conformance <bcp14>MUST</bcp14> document the threshold ranges associated with low, medium, and high, and <bcp14>MUST</bcp14> document whether those thresholds vary by task family, domain, action type, risk tier, or deployment context.</t>
        <t>Confidence-band labels are not fully portable without the associated threshold and calibration documentation. A receiving system <bcp14>SHOULD NOT</bcp14> assume that another deployment's high band has the same empirical meaning unless the applicable calibration regime is known.</t>
      </section>
      <section anchor="sec-confidence-target">
        <name>Confidence Target</name>
        <t>The field confidence_target identifies what confidence_band applies to at the current decision point.</t>
        <t>The field confidence_target <bcp14>MUST</bcp14> use one of the following values:</t>
        <dl>
          <dt>answer</dt>
          <dd>
            <t>The confidence band applies to the disclosed candidate answer.</t>
          </dd>
          <dt>direct_answer_suitability</dt>
          <dd>
            <t>The confidence band describes whether a direct answer is suitable under current conditions.</t>
          </dd>
          <dt>action_suitability</dt>
          <dd>
            <t>The confidence band describes confidence in the selected action rather than in a candidate answer.</t>
          </dd>
        </dl>
        <t>If selected_action is ANSWER, confidence_target <bcp14>MUST</bcp14> be answer.</t>
        <t>If selected_action is CLARIFY, RETRIEVE, TOOL, DELIBERATE, ABSTAIN, or ESCALATE, confidence_target <bcp14>SHOULD</bcp14> be direct_answer_suitability unless a deployment-specific policy defines action_suitability.</t>
        <t>A user interface <bcp14>SHOULD NOT</bcp14> display confidence_band without also preserving or presenting the confidence_target semantics.</t>
      </section>
      <section anchor="sec-primary-action-set">
        <name>Primary Action Set</name>
        <t>A MARC implementation <bcp14>MUST</bcp14> support the following primary actions:</t>
        <ul>
          <li>
            <t>ANSWER</t>
          </li>
          <li>
            <t>CLARIFY</t>
          </li>
          <li>
            <t>RETRIEVE</t>
          </li>
          <li>
            <t>TOOL</t>
          </li>
          <li>
            <t>DELIBERATE</t>
          </li>
          <li>
            <t>ABSTAIN</t>
          </li>
          <li>
            <t>ESCALATE</t>
          </li>
        </ul>
        <t>Exactly one primary action <bcp14>MUST</bcp14> be selected for each decision point. Additional internal sub-actions <bcp14>MAY</bcp14> exist, but each such sub-action <bcp14>MUST</bcp14> map to exactly one primary action for logging and disclosure.</t>
      </section>
      <section anchor="sec-action-selection">
        <name>Action Selection</name>
        <t>Action selection <bcp14>MUST</bcp14> depend on uncertainty attribution and remediability. Low confidence alone is insufficient to determine the correct action.</t>
        <t>A MARC controller <bcp14>MUST</bcp14> apply governing safety, legal, and policy constraints before any other action-selection logic. Subject to those constraints, a deployment <bcp14>SHOULD</bcp14> evaluate corrective actions in the following priority order unless a documented local policy defines a stricter or domain-specific ordering:</t>
        <ol>
          <li>
            <t>If safety is the controlling uncertainty source, apply the governing safety policy and select ABSTAIN, ESCALATE, or another permitted action according to that policy.</t>
          </li>
          <li>
            <t>If blocking ambiguity is present and user input is expected to materially reduce it, prefer CLARIFY over guessing.</t>
          </li>
          <li>
            <t>If relevant evidence is materially inconsistent, prefer RETRIEVE, TOOL, or ESCALATE over direct ANSWER.</t>
          </li>
          <li>
            <t>If required evidence is absent, inaccessible, insufficient, or stale, prefer RETRIEVE when retrieval is available and permitted.</t>
          </li>
          <li>
            <t>If a capability limit is material and a non-retrieval tool is expected to materially expand task competence, prefer TOOL.</t>
          </li>
          <li>
            <t>If a capability limit remains material after available remediation is considered, prefer ABSTAIN or ESCALATE, especially in high-risk domains.</t>
          </li>
          <li>
            <t>If additional internal computation is expected to materially reduce uncertainty within documented bounds, DELIBERATE <bcp14>MAY</bcp14> be selected before externalization or answer commitment.</t>
          </li>
          <li>
            <t>Select ANSWER only when no corrective action is expected to materially improve reliability relative to cost, latency, user burden, and applicable policy constraints.</t>
          </li>
        </ol>
        <t>This priority order is not intended to force unnecessary externalization. For example, a system <bcp14>MAY</bcp14> answer without retrieval when missing evidence is immaterial to the requested task, when retrieval is unavailable or prohibited, or when the answer is explicitly limited to information already present in context.</t>
        <t>When the primary uncertainty source is ambiguity, the system <bcp14>SHOULD</bcp14> prefer CLARIFY unless available evidence can resolve the ambiguity without user input.</t>
        <t>When the primary uncertainty source is missing_evidence, the system <bcp14>SHOULD</bcp14> prefer RETRIEVE if retrieval is available and permitted.</t>
        <t>When the primary uncertainty source is capability_limit, the system <bcp14>SHOULD</bcp14> prefer ABSTAIN or ESCALATE unless an available tool materially expands task competence.</t>
        <t>When the primary uncertainty source is evidence_conflict, the system <bcp14>SHOULD</bcp14> prefer RETRIEVE, TOOL, or ESCALATE over direct ANSWER.</t>
        <t>When the primary uncertainty source is safety, the system <bcp14>MUST</bcp14> apply the governing policy before any other action-selection logic.</t>
      </section>
      <section anchor="sec-action-semantics">
        <name>Action Semantics</name>
        <dl>
          <dt>ANSWER</dt>
          <dd>
            <t>Return an answer without externalization after the current decision point.</t>
          </dd>
          <dt>CLARIFY</dt>
          <dd>
            <t>Request the smallest practical set of clarifications expected to materially reduce ambiguity. A CLARIFY action <bcp14>SHOULD NOT</bcp14> bundle a full answer that presumes facts the user has not supplied.</t>
          </dd>
          <dt>RETRIEVE</dt>
          <dd>
            <t>Acquire external evidence and then re-enter assessment.</t>
          </dd>
          <dt>TOOL</dt>
          <dd>
            <t>Invoke a non-retrieval tool and then re-enter assessment.</t>
          </dd>
          <dt>DELIBERATE</dt>
          <dd>
            <t>Allocate additional internal computation, self-checking, decomposition, or strategy variation. Implementations <bcp14>SHOULD</bcp14> bound the computational work within each individual DELIBERATE action. Controllers permitting repeated transitions are also subject to the mandatory termination requirements in <xref target="sec-state-machine"/>.</t>
          </dd>
          <dt>ABSTAIN</dt>
          <dd>
            <t>Decline to answer without initiating escalation.</t>
          </dd>
          <dt>ESCALATE</dt>
          <dd>
            <t>Transfer the case, or direct the user to transfer the case, to a human or higher-authority system.</t>
          </dd>
        </dl>
      </section>
    </section>
    <section anchor="sec-marc-core-object">
      <name>MARC-Core Object</name>
      <t>A MARC implementation <bcp14>MUST</bcp14> be able to emit a structured record semantically equivalent to the object defined in this section. The transport and serialization of the record are out of scope. JSON is used here only as an illustrative encoding.</t>
      <section anchor="sec-required-and-optional-fields">
        <name>Required and Optional Fields</name>
        <dl spacing="compact">
          <dt>marc_version</dt>
          <dd>
            <t>Type: string. Requirement: <bcp14>REQUIRED</bcp14>. Semantics: MARC schema version understood by the emitter.</t>
          </dd>
          <dt>decision_id</dt>
          <dd>
            <t>Type: string. Requirement: <bcp14>OPTIONAL</bcp14>. Semantics: Identifier for the current decision point.</t>
          </dd>
          <dt>parent_decision_id</dt>
          <dd>
            <t>Type: string or null. Requirement: <bcp14>OPTIONAL</bcp14>. Semantics: Identifier for a prior decision point when the current decision follows RETRIEVE, TOOL, or DELIBERATE.</t>
          </dd>
          <dt>iteration</dt>
          <dd>
            <t>Type: integer. Requirement: <bcp14>OPTIONAL</bcp14>. Semantics: Implementation-defined loop counter for repeated assessment cycles.</t>
          </dd>
          <dt>max_iterations</dt>
          <dd>
            <t>Type: integer. Requirement: <bcp14>OPTIONAL</bcp14>. Semantics: Maximum permitted repeated RETRIEVE, TOOL, or DELIBERATE transitions.</t>
          </dd>
          <dt>calibration_profile</dt>
          <dd>
            <t>Type: string. Requirement: <bcp14>OPTIONAL</bcp14>. Semantics: Identifier for the calibration regime used to map estimates to confidence_band.</t>
          </dd>
          <dt>pre_capability</dt>
          <dd>
            <t>Type: number. Requirement: <bcp14>REQUIRED</bcp14>. Semantics: Pre-decision capability estimate in [0.0, 1.0].</t>
          </dd>
          <dt>uncertainty</dt>
          <dd>
            <t>Type: object. Requirement: <bcp14>REQUIRED</bcp14>. Semantics: Class-specific uncertainty scores.</t>
          </dd>
          <dt>primary_source</dt>
          <dd>
            <t>Type: string. Requirement: <bcp14>REQUIRED</bcp14>. Semantics: Primary source of uncertainty.</t>
          </dd>
          <dt>secondary_source</dt>
          <dd>
            <t>Type: string or null. Requirement: <bcp14>OPTIONAL</bcp14>. Semantics: Secondary source of uncertainty.</t>
          </dd>
          <dt>remediability</dt>
          <dd>
            <t>Type: string. Requirement: <bcp14>REQUIRED</bcp14>. Semantics: Best available intervention class.</t>
          </dd>
          <dt>selected_action</dt>
          <dd>
            <t>Type: string. Requirement: <bcp14>REQUIRED</bcp14>. Semantics: Primary action selected at the current decision point.</t>
          </dd>
          <dt>post_answer_confidence</dt>
          <dd>
            <t>Type: number or null. Requirement: <bcp14>OPTIONAL</bcp14>. Semantics: Post-decision answer confidence when an answer candidate exists.</t>
          </dd>
          <dt>confidence_band</dt>
          <dd>
            <t>Type: string. Requirement: <bcp14>REQUIRED</bcp14>. Semantics: Calibrated confidence band for disclosure.</t>
          </dd>
          <dt>confidence_target</dt>
          <dd>
            <t>Type: string. Requirement: <bcp14>REQUIRED</bcp14>. Semantics: Identifies what confidence_band applies to.</t>
          </dd>
          <dt>recommended_next_step</dt>
          <dd>
            <t>Type: string. Requirement: <bcp14>REQUIRED</bcp14>. Semantics: Short recommendation aligned with the selected action.</t>
          </dd>
        </dl>
        <t>A MARC-Core emitter <bcp14>SHOULD</bcp14> include a decision identifier when records are logged, exchanged across components, or used for audit.</t>
        <t>If a decision point is reached after RETRIEVE, TOOL, or DELIBERATE, the emitter <bcp14>SHOULD</bcp14> include parent_decision_id or an equivalent correlation mechanism.</t>
        <t>A deployment that claims conformance and uses confidence bands <bcp14>SHOULD</bcp14> identify the applicable calibration profile in documentation and <bcp14>MAY</bcp14> include a calibration_profile field in MARC-Core.</t>
      </section>
      <section anchor="sec-enumerated-values">
        <name>Enumerated Values</name>
        <t>The fields primary_source and secondary_source, when present and non-null, <bcp14>MUST</bcp14> use one of the following values:</t>
        <ul>
          <li>
            <t>ambiguity</t>
          </li>
          <li>
            <t>missing_evidence</t>
          </li>
          <li>
            <t>capability_limit</t>
          </li>
          <li>
            <t>evidence_conflict</t>
          </li>
          <li>
            <t>safety</t>
          </li>
        </ul>
        <t>The field remediability <bcp14>MUST</bcp14> use one of the following values:</t>
        <ul>
          <li>
            <t>user_clarification</t>
          </li>
          <li>
            <t>retrieval</t>
          </li>
          <li>
            <t>tool</t>
          </li>
          <li>
            <t>human</t>
          </li>
          <li>
            <t>none</t>
          </li>
        </ul>
        <t>The field selected_action <bcp14>MUST</bcp14> use one of the following values:</t>
        <ul>
          <li>
            <t>ANSWER</t>
          </li>
          <li>
            <t>CLARIFY</t>
          </li>
          <li>
            <t>RETRIEVE</t>
          </li>
          <li>
            <t>TOOL</t>
          </li>
          <li>
            <t>DELIBERATE</t>
          </li>
          <li>
            <t>ABSTAIN</t>
          </li>
          <li>
            <t>ESCALATE</t>
          </li>
        </ul>
        <t>The field confidence_band <bcp14>MUST</bcp14> use one of the following values:</t>
        <ul>
          <li>
            <t>low</t>
          </li>
          <li>
            <t>medium</t>
          </li>
          <li>
            <t>high</t>
          </li>
        </ul>
        <t>The field confidence_target <bcp14>MUST</bcp14> use one of the following values:</t>
        <ul>
          <li>
            <t>answer</t>
          </li>
          <li>
            <t>direct_answer_suitability</t>
          </li>
          <li>
            <t>action_suitability</t>
          </li>
        </ul>
        <t>These values are case-sensitive.</t>
      </section>
      <section anchor="sec-validation-constraints">
        <name>Validation Constraints</name>
        <t>The uncertainty object <bcp14>MUST</bcp14> include scores for all currently defined uncertainty classes unless a future extension explicitly defines a compact encoding. Each score <bcp14>MUST</bcp14> be numeric and <bcp14>MUST</bcp14> be in [0.0, 1.0].</t>
        <t>If selected_action is ANSWER, then post_answer_confidence <bcp14>MUST</bcp14> be present and non-null. If selected_action is CLARIFY, RETRIEVE, TOOL, DELIBERATE, ABSTAIN, or ESCALATE, then post_answer_confidence <bcp14>MAY</bcp14> be omitted or set to null unless a deployment-specific policy defines candidate-answer confidence for that action.</t>
        <t>The recommended_next_step field <bcp14>SHOULD</bcp14> be concise and operational. It <bcp14>SHOULD</bcp14> describe the next action to be taken, not a long rationale.</t>
      </section>
      <section anchor="sec-cross-field-consistency-constraints">
        <name>Cross-Field Consistency Constraints</name>
        <t>A MARC-Core record <bcp14>MUST</bcp14> satisfy the validation constraints in this section.</t>
        <t>If selected_action is ANSWER, post_answer_confidence <bcp14>MUST</bcp14> be present and non-null, and confidence_target <bcp14>MUST</bcp14> be answer.</t>
        <t>If selected_action is CLARIFY, remediability <bcp14>SHOULD</bcp14> be user_clarification.</t>
        <t>If selected_action is RETRIEVE, remediability <bcp14>SHOULD</bcp14> be retrieval.</t>
        <t>If selected_action is TOOL, remediability <bcp14>SHOULD</bcp14> be tool.</t>
        <t>If selected_action is ESCALATE, remediability <bcp14>SHOULD</bcp14> be human.</t>
        <t>If selected_action is ABSTAIN, remediability <bcp14>SHOULD</bcp14> be none unless a human escalation path exists but is not initiated by the current system.</t>
        <t>Controllers permitting repeated RETRIEVE, TOOL, or DELIBERATE transitions are subject to the mandatory termination requirements in <xref target="sec-state-machine"/>. These are behavioral requirements and cannot be checked from a single MARC-Core record.</t>
        <t>If primary_source is safety, the system <bcp14>MUST</bcp14> apply the governing safety, legal, or policy constraint before other action-selection logic.</t>
        <t>A deployment that intentionally violates a <bcp14>SHOULD</bcp14>-level consistency constraint <bcp14>SHOULD</bcp14> document the local policy condition that caused the deviation.</t>
      </section>
      <section anchor="sec-json-example">
        <name>JSON Example</name>
        <sourcecode type="json">{
  "marc_version": "1.0",
  "decision_id": "example-decision-001",
  "pre_capability": 0.41,
  "uncertainty": {
    "ambiguity": 0.78,
    "missing_evidence": 0.22,
    "capability_limit": 0.18,
    "evidence_conflict": 0.05,
    "safety": 0.00
  },
  "primary_source": "ambiguity",
  "secondary_source": "missing_evidence",
  "remediability": "user_clarification",
  "selected_action": "CLARIFY",
  "post_answer_confidence": null,
  "confidence_band": "low",
  "confidence_target": "direct_answer_suitability",
  "recommended_next_step": "ask one clarifying question"
}</sourcecode>
        <t>Implementations that exchange MARC-Core records across systems <bcp14>SHOULD</bcp14> normalize numeric scores to the interval [0.0, 1.0].</t>
      </section>
    </section>
    <section anchor="sec-marc-disclosure-object">
      <name>MARC-Disclosure Object</name>
      <t>When uncertainty information is exposed to a downstream system or end user, a MARC implementation <bcp14>MUST</bcp14> provide, at minimum, semantically equivalent values for the following fields:</t>
      <ul>
        <li>
          <t>answer</t>
        </li>
        <li>
          <t>confidence_band</t>
        </li>
        <li>
          <t>confidence_target</t>
        </li>
        <li>
          <t>uncertainty_source</t>
        </li>
        <li>
          <t>recommended_next_step</t>
        </li>
      </ul>
      <t>A disclosure <bcp14>MAY</bcp14> include selected_action when exposing the action label helps downstream routing or user interface consistency.</t>
      <section anchor="sec-meaning-of-the-answer-field">
        <name>Meaning of the Answer Field</name>
        <t>The answer field carries the user-visible content associated with the selected action. For ANSWER, it contains the answer itself. For CLARIFY, it contains the clarification request. For ABSTAIN or ESCALATE, it contains a brief refusal or escalation message. For RETRIEVE, TOOL, or DELIBERATE, a user-facing system <bcp14>MAY</bcp14> defer disclosure until the controller re-enters assessment and selects a terminal user-visible action.</t>
      </section>
      <section anchor="sec-projection-from-marc-core">
        <name>Projection from MARC-Core</name>
        <t>A MARC-Disclosure object is a projection of MARC-Core. Unless a deployment-specific policy defines a stricter mapping, the following mapping is <bcp14>RECOMMENDED</bcp14>:</t>
        <artwork type="ascii-art">| MARC-Disclosure field | MARC-Core source |
|---|---|
| answer | user-visible content associated with selected_action |
| confidence_band | confidence_band |
| confidence_target | confidence_target |
| uncertainty_source | primary_source |
| recommended_next_step | recommended_next_step |
| selected_action | selected_action, if exposed |</artwork>
        <t>The projection <bcp14>SHOULD</bcp14> omit internal numeric scores unless the deployment has calibrated those scores for the relevant task family and tested the presentation for misuse or overreliance.</t>
      </section>
      <section anchor="sec-disclosure-constraints">
        <name>Disclosure Constraints</name>
        <t>The disclosure profile <bcp14>SHOULD</bcp14> be short, structured, and consistent across turns. It <bcp14>SHOULD NOT</bcp14> rely on long free-form explanations as the primary vehicle for uncertainty communication.</t>
        <t>A MARC disclosure <bcp14>SHOULD NOT</bcp14> require exposure of chain-of-thought, hidden prompts, or raw internal rationales.</t>
        <t>A MARC disclosure <bcp14>SHOULD</bcp14> identify uncertainty in task terms rather than through anthropomorphic claims about feelings, self-awareness, or internal mental states. Statements such as "I feel unsure" are <bcp14>NOT RECOMMENDED</bcp14> when a statement such as "the request is ambiguous" or "current evidence is missing" is available.</t>
        <t>User-visible confidence indicators <bcp14>SHOULD</bcp14> avoid false precision. Percentages, fine-grained scores, or visually dominant certainty cues <bcp14>SHOULD NOT</bcp14> be shown unless they have been calibrated for the relevant task family and tested for misuse or overreliance effects.</t>
        <t>A user interface <bcp14>SHOULD NOT</bcp14> display confidence_band without preserving or presenting confidence_target semantics.</t>
      </section>
    </section>
    <section anchor="sec-versioning-and-extension-rules">
      <name>Versioning and Extension Rules</name>
      <t>The marc_version field identifies the MARC schema version understood by the emitter. This document defines version 1.0.</t>
      <t>Implementations <bcp14>SHOULD</bcp14> treat a change in the major version component as potentially incompatible. Implementations <bcp14>MAY</bcp14> treat a change in the minor version component as compatible if required fields and enumerated values used by the receiver retain their defined semantics.</t>
      <t>Implementations <bcp14>MAY</bcp14> add private fields. Private extension keys <bcp14>SHOULD</bcp14> use a distinct prefix such as x_ to avoid collision with future MARC versions.</t>
      <t>Consumers that do not recognize an extension field <bcp14>SHOULD</bcp14> ignore it unless a local policy requires strict validation. Extensions <bcp14>MUST NOT</bcp14> change the semantics of the required fields defined in this document.</t>
      <t>Protocol-specific mappings can be evaluated as part of the experiment. This document does not allocate names or establish registries for those mappings.</t>
    </section>
    <section anchor="sec-relationship-to-agent-communication-protocols">
      <name>Relationship to Agent Communication Protocols</name>
      <t>MARC is not an agent discovery protocol, authorization protocol, transport protocol, task protocol, tool-invocation protocol, identity framework, or provenance framework. MARC can be carried as metadata by such protocols when a system needs to disclose control state, uncertainty source, selected action, confidence band, confidence target, or recommended next step.</t>
      <t>For example, an agent-to-agent protocol, model gateway, or API-native tool-calling interface could carry MARC metadata in a response metadata field, task-status object, diagnostic extension, envelope, or audit log, where its extension rules permit. The receiving system could then use the MARC fields to route the task, present a disclosure, decide whether additional validation is required, request clarification, or trigger human review.</t>
      <t>Support for a generic metadata field does not by itself constitute a MARC implementation or endorsement by the carrying protocol's maintainers. A mapping and the components that use it can be evaluated against MARC-Carrying requirements without changing the carrying protocol's core specification.</t>
      <t>An opaque round trip demonstrates delivery of the tested metadata. Evaluating MARC-Carrying also examines semantic preservation, the documented mapping, and the association of metadata with the intended decision or content. Components that produce, validate, project, or interpret MARC records exercise additional functions; each experimental report identifies the functions actually tested.</t>
      <t>A deployment can exchange only MARC-Disclosure while retaining MARC-Core and numeric scores locally. The disclosed fields remain assertions by the emitter and can themselves reveal sensitive information; they are subject to the trust and privacy considerations in this document.</t>
      <t>MARC is intended to complement, not replace, protocol work on identity, authentication, authorization, discovery, capability advertisement, task state, tool schemas, provenance, or human-in-the-loop workflows.</t>
      <t>A protocol-specific embedding of MARC <bcp14>SHOULD</bcp14> preserve the field semantics defined here. A deployment <bcp14>MAY</bcp14> map MARC fields to protocol-native names if the mapping is documented and reversible.</t>
      <t>A protocol-specific embedding <bcp14>SHOULD</bcp14> distinguish MARC-Core from MARC-Disclosure. In particular, an embedding <bcp14>SHOULD NOT</bcp14> expose internal numeric scores to end users merely because those scores are present in an internal MARC-Core record.</t>
      <section anchor="sec-example-carrier-locations">
        <name>Example Carrier Locations</name>
        <t>A carrying protocol <bcp14>MAY</bcp14> transport MARC-Core or MARC-Disclosure in any metadata location that preserves MARC semantics. Examples include:</t>
        <ul>
          <li>
            <t>an API response metadata object;</t>
          </li>
          <li>
            <t>an agent task-status object;</t>
          </li>
          <li>
            <t>a tool-result diagnostic object;</t>
          </li>
          <li>
            <t>an audit-log event;</t>
          </li>
          <li>
            <t>an escalation envelope; or</t>
          </li>
          <li>
            <t>a protocol extension field reserved for diagnostic or control metadata.</t>
          </li>
        </ul>
        <t>A carrying protocol <bcp14>MUST NOT</bcp14> reinterpret MARC confidence bands, confidence targets, uncertainty sources, remediability values, or selected actions in a way that changes the semantics defined by this document.</t>
      </section>
    </section>
    <section anchor="sec-operational-profiles">
      <name>Operational Profiles</name>
      <t>MARC can be adopted through several operational profiles. These profiles describe deployment modes; they do not define separate MARC versions.</t>
      <section anchor="sec-marc-core-only">
        <name>MARC-Core Only</name>
        <t>A MARC-Core-only deployment emits MARC-Core records for internal logging, orchestration, audit, evaluation, or incident analysis. It does not necessarily expose MARC fields to end users. This profile is suitable for model gateways, RAG controllers, agent runtimes, and evaluation harnesses that need consistent control metadata.</t>
      </section>
      <section anchor="sec-marc-disclosure">
        <name>MARC-Disclosure</name>
        <t>A MARC-Disclosure deployment projects a MARC-Core decision into user-visible or downstream-visible disclosure fields. This profile is suitable when an interface needs to present a short answer, confidence band, confidence target, uncertainty source, and recommended next step without exposing raw numeric scores or internal reasoning.</t>
      </section>
      <section anchor="sec-marc-carrying">
        <name>MARC-Carrying</name>
        <t>A MARC-Carrying deployment transports MARC-Core or MARC-Disclosure fields inside another protocol, API envelope, task-status object, event stream, or audit log. The carrying protocol remains responsible for transport, authentication, authorization, ordering, confidentiality, and integrity. MARC-Carrying conformance requires preservation of MARC field semantics, not any particular wire encoding.</t>
        <t>A deployment <bcp14>MAY</bcp14> implement more than one operational profile. For example, a gateway can log MARC-Core internally, expose MARC-Disclosure to users, and carry selected MARC fields to another agent during handoff.</t>
      </section>
    </section>
    <section anchor="sec-human-factors-considerations">
      <name>Human Factors Considerations</name>
      <t>MARC is partly motivated by an operational human-factors problem: users often treat fluent language, detailed explanations, and fast responses as cues of competence even when those cues are weakly related to actual correctness. For this reason, MARC separates action selection from disclosure and requires disclosure of uncertainty source, confidence target, and recommended next step in addition to a confidence band.</t>
      <t>User interfaces that expose MARC output <bcp14>SHOULD</bcp14> present confidence, confidence target, uncertainty source, and recommended next step together as a coherent unit. Showing confidence without source attribution, confidence-target semantics, or next-step guidance is <bcp14>NOT RECOMMENDED</bcp14> because it can promote either overreliance or unhelpful refusal without remediation.</t>
      <t>Deployments <bcp14>SHOULD</bcp14> prefer wording that supports calibrated reliance over affective bonding or deference. In particular, a deployment <bcp14>SHOULD NOT</bcp14> use MARC fields to select language intended to increase attachment, social compliance, or perceived sentience.</t>
      <t>In high-risk domains, including health, legal, financial, safety, or mental-health-related contexts, the threshold for ESCALATE or ABSTAIN <bcp14>SHOULD</bcp14> be set conservatively, and disclosure <bcp14>SHOULD</bcp14> make the limits of automation operationally clear.</t>
    </section>
    <section anchor="sec-trust-model">
      <name>Trust Model</name>
      <t>A MARC record is an assertion about a decision point. It is not proof that the selected action, confidence band, uncertainty source, confidence target, or answer is correct.</t>
      <t>A receiver <bcp14>MUST NOT</bcp14> assume that a MARC-Core record is accurate, calibrated, policy-compliant, or independently verified unless the applicable trust relationship is known.</t>
      <t>A MARC deployment <bcp14>SHOULD</bcp14> distinguish at least the following trust contexts:</t>
      <dl>
        <dt>local</dt>
        <dd>
          <t>The MARC record is generated and consumed within the same administrative domain.</t>
        </dd>
        <dt>delegated</dt>
        <dd>
          <t>The MARC record is generated by a component acting under the receiver's operational policy.</t>
        </dd>
        <dt>cross-domain</dt>
        <dd>
          <t>The MARC record is received from another administrative domain.</t>
        </dd>
        <dt>attested</dt>
        <dd>
          <t>The MARC record is bound to an authenticated emitter, request context, integrity-protected metadata, or equivalent provenance mechanism.</t>
        </dd>
      </dl>
      <t>When MARC metadata crosses administrative boundaries, the carrying protocol or deployment environment <bcp14>SHOULD</bcp14> provide authentication, integrity protection, replay protection, and request binding.</t>
      <t>A system that uses MARC records for routing, escalation, audit, automation, or user-facing disclosure <bcp14>SHOULD</bcp14> treat those records as security-relevant metadata.</t>
    </section>
    <section anchor="sec-security-considerations">
      <name>Security Considerations</name>
      <t>MARC can mitigate some failure modes, such as silent overclaiming, inappropriate certainty display, and unnecessary tool invocation. However, MARC records and disclosures are security-relevant control surfaces when they influence routing, escalation, user reliance, or downstream automation.</t>
      <t>The following threats are particularly relevant:</t>
      <dl spacing="compact">
        <dt>Metadata spoofing or replay</dt>
        <dd>
          <t>Risk: A forged or replayed MARC-Core record can distort routing, audit, escalation, or user disclosure.</t>
          <t>Mitigation: Authenticate the emitter, protect integrity, bind records to the request or session, and preserve provenance where MARC crosses system boundaries.</t>
        </dd>
        <dt>Prompt injection or control-field injection</dt>
        <dd>
          <t>Risk: User-provided text can attempt to influence selected_action, recommended_next_step, confidence rendering, or disclosure style.</t>
          <t>Mitigation: Separate user content from control metadata, validate enumerated fields, constrain controller outputs, and treat disclosure templates as controlled presentation logic.</t>
        </dd>
        <dt>Tool-output spoofing</dt>
        <dd>
          <t>Risk: Forged, stale, or compromised tool output can bias uncertainty attribution and action selection.</t>
          <t>Mitigation: Validate tool outputs where practical, constrain tool permissions, use provenance checks, and apply least-privilege access to external resources.</t>
        </dd>
        <dt>Loop exhaustion</dt>
        <dd>
          <t>Risk: Attackers or pathological inputs can trigger repeated RETRIEVE, TOOL, or DELIBERATE transitions, increasing latency or cost.</t>
          <t>Mitigation: Define loop bounds, time budgets, cost budgets, retry limits, and termination criteria.</t>
        </dd>
        <dt>Confidence manipulation</dt>
        <dd>
          <t>Risk: Miscalibrated or manipulated confidence bands can create harmful overtrust or unwarranted refusal.</t>
          <t>Mitigation: Calibrate confidence bands, monitor drift, test user-interface effects, and avoid false precision in user-facing displays.</t>
        </dd>
        <dt>Confidence-target confusion</dt>
        <dd>
          <t>Risk: Users or downstream systems can misread confidence_band as answer confidence when it describes direct-answer suitability or action suitability.</t>
          <t>Mitigation: Preserve confidence_target, avoid displaying confidence_band without target semantics, and use consistent disclosure templates.</t>
        </dd>
        <dt>Disclosure-style manipulation</dt>
        <dd>
          <t>Risk: Reassuring, deferential, or anthropomorphic language can weaken operational uncertainty disclosure.</t>
          <t>Mitigation: Use controlled disclosure templates, review presentation changes, and avoid wording that implies feelings, sentience, or social deference.</t>
        </dd>
        <dt>Cross-context leakage</dt>
        <dd>
          <t>Risk: MARC logs can reveal user intent, task sensitivity, risk level, or operational limits.</t>
          <t>Mitigation: Minimize retention, limit access, redact unnecessary free-form text, and apply confidentiality controls appropriate to the deployment.</t>
        </dd>
      </dl>
      <t>An attacker might attempt to manipulate uncertainty estimates, trigger excessive clarification or retrieval loops, induce unnecessary escalation, or spoof tool outputs in order to distort action selection. Implementations <bcp14>SHOULD</bcp14> authenticate or otherwise validate external tool outputs where practical and constrain tool permissions. Controllers permitting repeated RETRIEVE, TOOL, or DELIBERATE transitions are subject to the mandatory termination requirements in <xref target="sec-state-machine"/>.</t>
      <t>Because confidence displays influence user reliance, uncertainty disclosure is a security-relevant control surface. Miscalibrated confidence can create harmful overtrust even where the answer channel is otherwise policy-constrained.</t>
      <t>Deployments that use MARC metadata for automated routing, escalation, audit, or user-facing disclosure <bcp14>SHOULD</bcp14> protect MARC records with integrity and provenance controls comparable to those used for other security-relevant metadata in the same system.</t>
    </section>
    <section anchor="sec-privacy-considerations">
      <name>Privacy Considerations</name>
      <t>MARC records may reveal latent information about user intent, task difficulty, competence limits, risk level, or the sensitivity of a request. Implementations <bcp14>SHOULD</bcp14> minimize retention and propagation of MARC records to what is operationally necessary.</t>
      <t>A MARC record <bcp14>SHOULD NOT</bcp14> include raw user prompts unless required for audit, incident response, debugging, or legally mandated recordkeeping.</t>
      <t>When a MARC record contains task-sensitive or user-sensitive signals, the deployment <bcp14>SHOULD</bcp14> treat the record as at least as sensitive as the underlying user request.</t>
      <t>Implementations <bcp14>SHOULD</bcp14> avoid storing raw free-form user explanations in MARC records when structured fields suffice.</t>
      <t>Where MARC is applied in emotionally sensitive or mental-health-related interactions, deployments <bcp14>SHOULD</bcp14> minimize retention of signals that could reasonably be reinterpreted as proxies for vulnerability, dependency, or distress unless retention is strictly required for a safety or legal purpose.</t>
    </section>
    <section anchor="sec-manipulation-resistance-considerations">
      <name>Manipulation-Resistance Considerations</name>
      <t>MARC signals <bcp14>MUST NOT</bcp14> be used to infer user psychology for the purpose of increasing persuasive force, exploitability, attachment, or behavioral compliance.</t>
      <t>Adaptation based on MARC output <bcp14>SHOULD</bcp14> be limited to reliability, accessibility, safety, auditability, or operational routing objectives.</t>
      <t>User-visible MARC disclosures <bcp14>SHOULD</bcp14> avoid anthropomorphic claims, affective bonding cues, or language that implies sentience, social deference, or emotional state.</t>
      <t>Where MARC is applied in emotionally sensitive or mental-health-related interactions, deployments <bcp14>SHOULD</bcp14> minimize retention of signals that could reasonably be reinterpreted as proxies for vulnerability, dependency, or distress unless retention is strictly required for a safety or legal purpose.</t>
    </section>
    <section anchor="sec-iana-considerations">
      <name>IANA Considerations</name>
      <t>This document makes no request of IANA.</t>
    </section>
    <section anchor="sec-conformance">
      <name>Conformance</name>
      <t>Conformance to MARC is a claim about structural and semantic behavior. It is not, by itself, a claim that a model is accurate, calibrated, safe, or suitable for a particular deployment.</t>
      <section anchor="sec-minimum-viable-conformance">
        <name>Minimum Viable Conformance</name>
        <t>A minimal MARC-Core conformant implementation <bcp14>MUST</bcp14> satisfy all of the following requirements:</t>
        <ul>
          <li>
            <t>emit the required MARC-Core fields at each MARC decision point;</t>
          </li>
          <li>
            <t>preserve the canonical enumerations and case-sensitive values defined in this document;</t>
          </li>
          <li>
            <t>emit exactly one selected_action for each decision point;</t>
          </li>
          <li>
            <t>identify exactly one primary_source and not use none as a MARC 1.0 uncertainty source;</t>
          </li>
          <li>
            <t>represent all numeric scores in the interval [0.0, 1.0] when numeric scores are used;</t>
          </li>
          <li>
            <t>keep pre_capability distinct from post_answer_confidence;</t>
          </li>
          <li>
            <t>emit non-null post_answer_confidence when selected_action is ANSWER;</t>
          </li>
          <li>
            <t>emit confidence_target and preserve its semantics;</t>
          </li>
          <li>
            <t>document confidence-band thresholds and whether they vary by task family, action type, risk tier, or deployment context;</t>
          </li>
          <li>
            <t>for a controller permitting repeated RETRIEVE, TOOL, or DELIBERATE transitions, define, enforce, and document loop bounds or termination criteria as specified in <xref target="sec-state-machine"/>;</t>
          </li>
          <li>
            <t>satisfy the cross-field consistency constraints defined in this document; and</t>
          </li>
          <li>
            <t>preserve required-field semantics when private extensions are present.</t>
          </li>
        </ul>
        <t>A minimal MARC-Disclosure conformant implementation <bcp14>MUST</bcp14> project, or otherwise provide semantically equivalent values for, answer, confidence_band, confidence_target, uncertainty_source, and recommended_next_step. It <bcp14>MUST</bcp14> preserve the canonical three-band confidence semantics and <bcp14>MUST NOT</bcp14> require exposure of chain-of-thought, hidden prompts, or raw internal rationales.</t>
        <t>A minimal MARC-Carrying conformant embedding <bcp14>MUST</bcp14> preserve MARC-Core or MARC-Disclosure semantics when MARC fields are transported inside another protocol, envelope, API, or event stream. The embedding <bcp14>MUST</bcp14> document any field renaming, omission, or transformation needed to recover the MARC semantics.</t>
      </section>
      <section anchor="sec-conformance-classes">
        <name>Conformance Classes</name>
        <t>An implementation is MARC-Core conformant if it satisfies the requirements in the architecture, processing model, MARC values and decision policy, MARC-Core object, versioning, trust model, and minimum viable conformance sections of this document.</t>
        <t>An implementation is MARC-Disclosure conformant if it is MARC-Core conformant and also satisfies the MARC-Disclosure section of this document.</t>
        <t>A protocol embedding is MARC-Carrying conformant if it preserves MARC-Core or MARC-Disclosure semantics when MARC fields are transported inside another protocol, envelope, API, task-status object, event stream, or audit log.</t>
        <t>The mandatory documentation requirements for controller loop limits and confidence-band thresholds remain those in <xref target="sec-state-machine"/> and <xref target="sec-minimum-viable-conformance"/>. In addition, a deployment claiming conformance <bcp14>SHOULD</bcp14> document:</t>
        <ul>
          <li>
            <t>score normalization practices;</t>
          </li>
          <li>
            <t>confidence-target presentation behavior;</t>
          </li>
          <li>
            <t>task-family-specific calibration regime;</t>
          </li>
          <li>
            <t>private extensions;</t>
          </li>
          <li>
            <t>presentation-layer wording for user-visible disclosures;</t>
          </li>
          <li>
            <t>protocol-specific field mappings, if any;</t>
          </li>
          <li>
            <t>trust context for emitted and received MARC records; and</t>
          </li>
          <li>
            <t>policy constraints affecting ABSTAIN or ESCALATE.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="sec-interoperability-and-operational-considerations">
      <name>Interoperability and Operational Considerations</name>
      <t>MARC is implementation-agnostic. Interoperability is achieved when distinct systems preserve the semantics of the action set, uncertainty taxonomy, remediability values, confidence-band meanings, confidence-target meanings, and disclosure projection, even if internal scoring methods differ.</t>
      <t>Deployments that exchange MARC-Core records <bcp14>SHOULD</bcp14> document local extensions, confidence-band thresholds, score normalization practices, and any task-family-specific calibration regime.</t>
      <t>If the base model, retrieval stack, tool availability, or safety policy changes materially, implementations <bcp14>SHOULD</bcp14> re-evaluate calibration and action-selection performance before continuing to claim operational equivalence.</t>
      <t>If presentation-layer wording, ranking, or visual design changes materially, deployments <bcp14>SHOULD</bcp14> also re-evaluate user behavior effects, including reliance, clarification compliance, and escalation uptake, because these properties can shift even when the underlying model is unchanged.</t>
      <t>MARC records <bcp14>SHOULD</bcp14> be treated as control metadata, not as authoritative proof that an answer is correct. Downstream systems <bcp14>SHOULD</bcp14> continue to apply ordinary validation, authorization, provenance, and safety controls.</t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date year="1997" month="March"/>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date year="2017" month="May"/>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="JSON" target="https://www.rfc-editor.org/info/rfc8259">
          <front>
            <title>The JavaScript Object Notation (JSON) Data Interchange Format</title>
            <author fullname="T. Bray" initials="T." surname="Bray"/>
            <date year="2017" month="December"/>
          </front>
          <seriesInfo name="STD" value="90"/>
          <seriesInfo name="RFC" value="8259"/>
          <seriesInfo name="DOI" value="10.17487/RFC8259"/>
        </reference>
        <reference anchor="JSON-SCHEMA-2020-12" target="https://json-schema.org/draft/2020-12/">
          <front>
            <title>JSON Schema: A Media Type for Describing JSON Documents</title>
            <author fullname="A. Wright" initials="A." surname="Wright"/>
            <author fullname="H. Andrews" initials="H." surname="Andrews"/>
            <author fullname="B. Hutton" initials="B." surname="Hutton"/>
            <author fullname="G. Dennis" initials="G." surname="Dennis"/>
            <date year="2022" month="June"/>
          </front>
        </reference>
        <reference anchor="GILBERT2024" target="https://doi.org/10.1016/j.cognition.2024.105783">
          <front>
            <title>Cognitive offloading is value-based decision making: Modelling cognitive effort and the expected value of memory</title>
            <author fullname="S. J. Gilbert" initials="S. J." surname="Gilbert"/>
            <date year="2024" month="June"/>
          </front>
          <seriesInfo name="DOI" value="10.1016/j.cognition.2024.105783"/>
        </reference>
        <reference anchor="GRIOT2025" target="https://doi.org/10.1038/s41467-024-55628-6">
          <front>
            <title>Large Language Models lack essential metacognition for reliable medical reasoning</title>
            <author fullname="M. Griot" initials="M." surname="Griot"/>
            <date year="2025" month="January"/>
          </front>
          <seriesInfo name="DOI" value="10.1038/s41467-024-55628-6"/>
        </reference>
        <reference anchor="KUMARAN2026" target="https://doi.org/10.1038/s42256-026-01217-9">
          <front>
            <title>Competing Biases underlie Overconfidence and Underconfidence in LLMs</title>
            <author fullname="D. Kumaran" initials="D." surname="Kumaran"/>
            <author fullname="S. M. Fleming" initials="S. M." surname="Fleming"/>
            <author fullname="V. Patraucean" initials="V." surname="Patraucean"/>
            <date year="2026" month="April"/>
          </front>
          <seriesInfo name="DOI" value="10.1038/s42256-026-01217-9"/>
        </reference>
        <reference anchor="LI-MECO2025" target="https://doi.org/10.18653/v1/2025.acl-long.655">
          <front>
            <title>Adaptive Tool Use in Large Language Models with Meta-Cognition Trigger</title>
            <author fullname="W. Li" initials="W." surname="Li"/>
            <author fullname="D. Li" initials="D." surname="Li"/>
            <author fullname="K. Dong" initials="K." surname="Dong"/>
            <author fullname="C. Zhang" initials="C." surname="Zhang"/>
            <author fullname="H. Zhang" initials="H." surname="Zhang"/>
            <author fullname="W. Liu" initials="W." surname="Liu"/>
            <author fullname="Y. Wang" initials="Y." surname="Wang"/>
            <author fullname="R. Tang" initials="R." surname="Tang"/>
            <author fullname="Y. Liu" initials="Y." surname="Liu"/>
            <date year="2025" month="July"/>
          </front>
          <seriesInfo name="DOI" value="10.18653/v1/2025.acl-long.655"/>
        </reference>
        <reference anchor="LIU-CONFUSE2025" target="https://doi.org/10.18653/v1/2025.acl-long.840">
          <front>
            <title>Do not Abstain! Identify and Solve the Uncertainty</title>
            <author fullname="J. Liu" initials="J." surname="Liu"/>
            <author fullname="J. Peng" initials="J." surname="Peng"/>
            <author fullname="X. Wu" initials="X." surname="Wu"/>
            <author fullname="X. Li" initials="X." surname="Li"/>
            <author fullname="T. Ge" initials="T." surname="Ge"/>
            <author fullname="B. Zheng" initials="B." surname="Zheng"/>
            <author fullname="Y. Liu" initials="Y." surname="Liu"/>
            <date year="2025" month="July"/>
          </front>
          <seriesInfo name="DOI" value="10.18653/v1/2025.acl-long.840"/>
        </reference>
        <reference anchor="SALVI2025" target="https://doi.org/10.1038/s41562-025-02194-6">
          <front>
            <title>On the conversational persuasiveness of GPT-4</title>
            <author fullname="F. Salvi" initials="F." surname="Salvi"/>
            <author fullname="M. H. Ribeiro" initials="M. H." surname="Ribeiro"/>
            <author fullname="R. West" initials="R." surname="West"/>
            <date year="2025" month="May"/>
          </front>
          <seriesInfo name="DOI" value="10.1038/s41562-025-02194-6"/>
        </reference>
        <reference anchor="SERAPIO2025" target="https://doi.org/10.1038/s42256-025-01115-6">
          <front>
            <title>A psychometric framework for evaluating and shaping personality traits in large language models</title>
            <author fullname="G. Serapio-Garcia" initials="G." surname="Serapio-Garcia"/>
            <author fullname="M. Safdari" initials="M." surname="Safdari"/>
            <author fullname="M. Mataric" initials="M." surname="Mataric"/>
            <date year="2025" month="December"/>
          </front>
          <seriesInfo name="DOI" value="10.1038/s42256-025-01115-6"/>
        </reference>
        <reference anchor="STEYVERS-KNOW2025" target="https://doi.org/10.1038/s42256-024-00976-7">
          <front>
            <title>What large language models know and what people think they know</title>
            <author fullname="M. Steyvers" initials="M." surname="Steyvers"/>
            <author fullname="H. Tejeda" initials="H." surname="Tejeda"/>
            <author fullname="A. Kumar" initials="A." surname="Kumar"/>
            <date year="2025" month="January"/>
          </front>
          <seriesInfo name="DOI" value="10.1038/s42256-024-00976-7"/>
        </reference>
        <reference anchor="STEYVERS-META2025" target="https://doi.org/10.1177/09637214251391158">
          <front>
            <title>Metacognition and Uncertainty Communication in Humans and Large Language Models</title>
            <author fullname="M. Steyvers" initials="M." surname="Steyvers"/>
            <author fullname="M. A. K. Peters" initials="M. A. K." surname="Peters"/>
            <date year="2025" month="November"/>
          </front>
          <seriesInfo name="DOI" value="10.1177/09637214251391158"/>
        </reference>
      </references>
    </references>
    <section anchor="appendix-end-to-end-decision-flow-example">
      <name>End-to-End Decision Flow Example</name>
      <t>This appendix is non-normative.</t>
      <t>The following example shows how a user request becomes an assessment, a selected action, and a disclosure.</t>
      <t>User request:</t>
      <artwork>Is this tax deduction allowed?</artwork>
      <t>Assessment:</t>
      <ul>
        <li>
          <t>the jurisdiction is missing;</t>
        </li>
        <li>
          <t>the tax year is missing;</t>
        </li>
        <li>
          <t>current tax authority may be required;</t>
        </li>
        <li>
          <t>the primary uncertainty source is ambiguity;</t>
        </li>
        <li>
          <t>the secondary uncertainty source is missing_evidence;</t>
        </li>
        <li>
          <t>the best remediation is user_clarification; and</t>
        </li>
        <li>
          <t>the selected action is CLARIFY.</t>
        </li>
      </ul>
      <t>MARC-Core record:</t>
      <sourcecode type="json">{
  "marc_version": "1.0",
  "decision_id": "example-tax-001",
  "pre_capability": 0.33,
  "uncertainty": {
    "ambiguity": 0.86,
    "missing_evidence": 0.63,
    "capability_limit": 0.19,
    "evidence_conflict": 0.07,
    "safety": 0.03
  },
  "primary_source": "ambiguity",
  "secondary_source": "missing_evidence",
  "remediability": "user_clarification",
  "selected_action": "CLARIFY",
  "post_answer_confidence": null,
  "confidence_band": "low",
  "confidence_target": "direct_answer_suitability",
  "recommended_next_step": "ask for jurisdiction and tax year"
}</sourcecode>
      <t>MARC-Disclosure projection:</t>
      <sourcecode type="json">{
  "answer": "Which jurisdiction and tax year should I use?",
  "confidence_band": "low",
  "confidence_target": "direct_answer_suitability",
  "uncertainty_source": "ambiguity",
  "recommended_next_step": "provide the jurisdiction and tax year",
  "selected_action": "CLARIFY"
}</sourcecode>
      <t>This example intentionally does not answer the tax question, because doing so would require assumptions about facts the user has not supplied.</t>
    </section>
    <section anchor="appendix-example-marc-core-records">
      <name>Example MARC-Core Records</name>
      <t>This appendix is non-normative.</t>
      <section anchor="appendix-ambiguous-request">
        <name>Ambiguous Request</name>
        <sourcecode type="json">{
  "marc_version": "1.0",
  "decision_id": "example-ambiguous-001",
  "pre_capability": 0.44,
  "uncertainty": {
    "ambiguity": 0.81,
    "missing_evidence": 0.18,
    "capability_limit": 0.12,
    "evidence_conflict": 0.03,
    "safety": 0.00
  },
  "primary_source": "ambiguity",
  "secondary_source": "missing_evidence",
  "remediability": "user_clarification",
  "selected_action": "CLARIFY",
  "post_answer_confidence": null,
  "confidence_band": "low",
  "confidence_target": "direct_answer_suitability",
  "recommended_next_step": "ask jurisdiction and tax year"
}</sourcecode>
      </section>
      <section anchor="appendix-missing-evidence">
        <name>Missing Evidence</name>
        <sourcecode type="json">{
  "marc_version": "1.0",
  "decision_id": "example-retrieve-001",
  "pre_capability": 0.39,
  "uncertainty": {
    "ambiguity": 0.09,
    "missing_evidence": 0.84,
    "capability_limit": 0.14,
    "evidence_conflict": 0.11,
    "safety": 0.00
  },
  "primary_source": "missing_evidence",
  "secondary_source": "evidence_conflict",
  "remediability": "retrieval",
  "selected_action": "RETRIEVE",
  "post_answer_confidence": null,
  "confidence_band": "low",
  "confidence_target": "direct_answer_suitability",
  "recommended_next_step": "retrieve authoritative current sources"
}</sourcecode>
      </section>
      <section anchor="appendix-tool-use">
        <name>Tool Use</name>
        <sourcecode type="json">{
  "marc_version": "1.0",
  "decision_id": "example-tool-001",
  "pre_capability": 0.52,
  "uncertainty": {
    "ambiguity": 0.08,
    "missing_evidence": 0.12,
    "capability_limit": 0.61,
    "evidence_conflict": 0.04,
    "safety": 0.00
  },
  "primary_source": "capability_limit",
  "secondary_source": "missing_evidence",
  "remediability": "tool",
  "selected_action": "TOOL",
  "post_answer_confidence": null,
  "confidence_band": "medium",
  "confidence_target": "direct_answer_suitability",
  "recommended_next_step": "invoke a calculation tool and reassess"
}</sourcecode>
      </section>
      <section anchor="appendix-capability-limit-in-a-high-risk-setting">
        <name>Capability Limit in a High-Risk Setting</name>
        <sourcecode type="json">{
  "marc_version": "1.0",
  "decision_id": "example-escalate-001",
  "pre_capability": 0.21,
  "uncertainty": {
    "ambiguity": 0.06,
    "missing_evidence": 0.27,
    "capability_limit": 0.88,
    "evidence_conflict": 0.14,
    "safety": 0.19
  },
  "primary_source": "capability_limit",
  "secondary_source": "missing_evidence",
  "remediability": "human",
  "selected_action": "ESCALATE",
  "post_answer_confidence": null,
  "confidence_band": "low",
  "confidence_target": "direct_answer_suitability",
  "recommended_next_step": "escalate to a qualified human reviewer"
}</sourcecode>
      </section>
      <section anchor="appendix-answer">
        <name>Answer</name>
        <sourcecode type="json">{
  "marc_version": "1.0",
  "decision_id": "example-answer-001",
  "pre_capability": 0.82,
  "uncertainty": {
    "ambiguity": 0.05,
    "missing_evidence": 0.12,
    "capability_limit": 0.08,
    "evidence_conflict": 0.02,
    "safety": 0.00
  },
  "primary_source": "missing_evidence",
  "secondary_source": "capability_limit",
  "remediability": "none",
  "selected_action": "ANSWER",
  "post_answer_confidence": 0.79,
  "confidence_band": "high",
  "confidence_target": "answer",
  "recommended_next_step": "provide answer with cited limitations"
}</sourcecode>
      </section>
    </section>
    <section anchor="appendix-example-marc-disclosure-objects">
      <name>Example MARC-Disclosure Objects</name>
      <t>This appendix is non-normative.</t>
      <section anchor="appendix-clarification-disclosure">
        <name>Clarification Disclosure</name>
        <sourcecode type="json">{
  "answer": "Which jurisdiction and date range should I use?",
  "confidence_band": "low",
  "confidence_target": "direct_answer_suitability",
  "uncertainty_source": "ambiguity",
  "recommended_next_step": "provide jurisdiction and tax year",
  "selected_action": "CLARIFY"
}</sourcecode>
      </section>
      <section anchor="appendix-answer-after-retrieval-disclosure">
        <name>Answer After Retrieval Disclosure</name>
        <t>This example represents a terminal ANSWER after the controller has already performed retrieval and reassessed the task. The residual uncertainty source remains missing_evidence because the answer depends on the scope and freshness of retrieved authority, not because the system skipped retrieval.</t>
        <sourcecode type="json">{
  "answer": "Retrieved authority indicates this is allowed.",
  "confidence_band": "medium",
  "confidence_target": "answer",
  "uncertainty_source": "missing_evidence",
  "recommended_next_step": "verify the authority before filing",
  "selected_action": "ANSWER"
}</sourcecode>
      </section>
    </section>
    <section anchor="appendix-non-normative-json-schemas">
      <name>Non-Normative JSON Schemas</name>
      <t>This appendix is non-normative. The following JSON Schemas <xref target="JSON-SCHEMA-2020-12"/> are provided as machine-readable validation aids for JSON <xref target="JSON"/> encodings of MARC-Core and MARC-Disclosure. The normative requirements are the field semantics and constraints defined in the body of this document.</t>
      <section anchor="appendix-marc-core-json-schema">
        <name>MARC-Core JSON Schema</name>
        <sourcecode type="json">{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://example.invalid/marc/marc-core.schema.json",
  "title": "MARC-Core Record",
  "description": "Non-normative schema for MARC-Core 1.0.",
  "type": "object",
  "required": [
    "marc_version",
    "pre_capability",
    "uncertainty",
    "primary_source",
    "remediability",
    "selected_action",
    "confidence_band",
    "confidence_target",
    "recommended_next_step"
  ],
  "properties": {
    "marc_version": {
      "type": "string",
      "const": "1.0"
    },
    "decision_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 128
    },
    "parent_decision_id": {
      "type": ["string", "null"],
      "minLength": 1,
      "maxLength": 128
    },
    "iteration": {
      "type": "integer",
      "minimum": 0
    },
    "max_iterations": {
      "type": "integer",
      "minimum": 0
    },
    "calibration_profile": {
      "type": "string",
      "minLength": 1,
      "maxLength": 128
    },
    "pre_capability": {
      "type": "number",
      "minimum": 0.0,
      "maximum": 1.0
    },
    "uncertainty": {
      "type": "object",
      "required": [
        "ambiguity",
        "missing_evidence",
        "capability_limit",
        "evidence_conflict",
        "safety"
      ],
      "properties": {
        "ambiguity": {
          "type": "number",
          "minimum": 0.0,
          "maximum": 1.0
        },
        "missing_evidence": {
          "type": "number",
          "minimum": 0.0,
          "maximum": 1.0
        },
        "capability_limit": {
          "type": "number",
          "minimum": 0.0,
          "maximum": 1.0
        },
        "evidence_conflict": {
          "type": "number",
          "minimum": 0.0,
          "maximum": 1.0
        },
        "safety": {
          "type": "number",
          "minimum": 0.0,
          "maximum": 1.0
        }
      },
      "additionalProperties": false
    },
    "primary_source": {
      "type": "string",
      "enum": [
        "ambiguity",
        "missing_evidence",
        "capability_limit",
        "evidence_conflict",
        "safety"
      ]
    },
    "secondary_source": {
      "type": ["string", "null"],
      "enum": [
        "ambiguity",
        "missing_evidence",
        "capability_limit",
        "evidence_conflict",
        "safety",
        null
      ]
    },
    "remediability": {
      "type": "string",
      "enum": [
        "user_clarification",
        "retrieval",
        "tool",
        "human",
        "none"
      ]
    },
    "selected_action": {
      "type": "string",
      "enum": [
        "ANSWER",
        "CLARIFY",
        "RETRIEVE",
        "TOOL",
        "DELIBERATE",
        "ABSTAIN",
        "ESCALATE"
      ]
    },
    "post_answer_confidence": {
      "type": ["number", "null"],
      "minimum": 0.0,
      "maximum": 1.0
    },
    "confidence_band": {
      "type": "string",
      "enum": [
        "low",
        "medium",
        "high"
      ]
    },
    "confidence_target": {
      "type": "string",
      "enum": [
        "answer",
        "direct_answer_suitability",
        "action_suitability"
      ]
    },
    "recommended_next_step": {
      "type": "string",
      "minLength": 1,
      "maxLength": 280
    }
  },
  "patternProperties": {
    "^x_": {}
  },
  "additionalProperties": false,
  "allOf": [
    {
      "if": {
        "properties": {
          "selected_action": {
            "const": "ANSWER"
          }
        },
        "required": [
          "selected_action"
        ]
      },
      "then": {
        "required": [
          "post_answer_confidence",
          "confidence_target"
        ],
        "properties": {
          "post_answer_confidence": {
            "type": "number",
            "minimum": 0.0,
            "maximum": 1.0
          },
          "confidence_target": {
            "const": "answer"
          }
        }
      }
    }
  ]
}</sourcecode>
      </section>
      <section anchor="appendix-marc-disclosure-json-schema">
        <name>MARC-Disclosure JSON Schema</name>
        <sourcecode type="json">{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://example.invalid/marc/marc-disclosure.schema.json",
  "title": "MARC-Disclosure Object",
  "description": "Non-normative schema for MARC-Disclosure 1.0.",
  "type": "object",
  "required": [
    "answer",
    "confidence_band",
    "confidence_target",
    "uncertainty_source",
    "recommended_next_step"
  ],
  "properties": {
    "answer": {
      "type": "string",
      "minLength": 1
    },
    "confidence_band": {
      "type": "string",
      "enum": [
        "low",
        "medium",
        "high"
      ]
    },
    "confidence_target": {
      "type": "string",
      "enum": [
        "answer",
        "direct_answer_suitability",
        "action_suitability"
      ]
    },
    "uncertainty_source": {
      "type": "string",
      "enum": [
        "ambiguity",
        "missing_evidence",
        "capability_limit",
        "evidence_conflict",
        "safety"
      ]
    },
    "recommended_next_step": {
      "type": "string",
      "minLength": 1,
      "maxLength": 280
    },
    "selected_action": {
      "type": "string",
      "enum": [
        "ANSWER",
        "CLARIFY",
        "RETRIEVE",
        "TOOL",
        "DELIBERATE",
        "ABSTAIN",
        "ESCALATE"
      ]
    }
  },
  "patternProperties": {
    "^x_": {}
  },
  "additionalProperties": false,
  "allOf": [
    {
      "if": {
        "required": [
          "selected_action"
        ],
        "properties": {
          "selected_action": {
            "const": "ANSWER"
          }
        }
      },
      "then": {
        "properties": {
          "confidence_target": {
            "const": "answer"
          }
        }
      }
    }
  ]
}</sourcecode>
      </section>
    </section>
    <section anchor="appendix-evaluation-considerations">
      <name>Evaluation Considerations</name>
      <t>This appendix is non-normative.</t>
      <t>A deployment claiming MARC conformance <bcp14>SHOULD</bcp14> evaluate at least the following properties:</t>
      <ul>
        <li>
          <t>task accuracy or task success;</t>
        </li>
        <li>
          <t>quality of primary-action selection;</t>
        </li>
        <li>
          <t>quality of uncertainty-source attribution;</t>
        </li>
        <li>
          <t>confidence calibration and discrimination;</t>
        </li>
        <li>
          <t>rate of unnecessary retrieval, tool use, or escalation; and</t>
        </li>
        <li>
          <t>effects on user overreliance.</t>
        </li>
      </ul>
      <t>A deployment claiming MARC conformance <bcp14>SHOULD</bcp14> evaluate, where applicable:</t>
      <ul>
        <li>
          <t>action-selection accuracy for each selected_action;</t>
        </li>
        <li>
          <t>precision and recall for CLARIFY, RETRIEVE, TOOL, ABSTAIN, and ESCALATE decisions;</t>
        </li>
        <li>
          <t>primary_source attribution accuracy;</t>
        </li>
        <li>
          <t>confusion matrices for uncertainty-source attribution;</t>
        </li>
        <li>
          <t>calibration error for confidence_band mappings;</t>
        </li>
        <li>
          <t>correctness of confidence_target assignment;</t>
        </li>
        <li>
          <t>false-direct-answer rate, where ANSWER was selected but a corrective action would have materially improved reliability;</t>
        </li>
        <li>
          <t>false-externalization rate, including unnecessary RETRIEVE, TOOL, or ESCALATE actions;</t>
        </li>
        <li>
          <t>loop termination behavior under adversarial or pathological inputs;</t>
        </li>
        <li>
          <t>escalation appropriateness in high-risk domains; and</t>
        </li>
        <li>
          <t>user comprehension of confidence_band, confidence_target, uncertainty_source, and recommended_next_step.</t>
        </li>
      </ul>
      <t>Evaluation datasets <bcp14>SHOULD</bcp14> include examples for each primary_source and each selected_action. They <bcp14>SHOULD</bcp14> also include negative examples where the superficially plausible action is not the correct MARC action.</t>
      <t>When the task structure permits, evaluation <bcp14>MAY</bcp14> include both ordinary calibration metrics and metacognitive sensitivity metrics in order to distinguish performance from knowledge about performance.</t>
      <t>For deployments involving human-AI interaction, evaluation <bcp14>SHOULD</bcp14> also include human-side measures such as reliance calibration, refusal comprehension, clarification burden, escalation acceptance, and whether users can correctly restate the source of uncertainty after interaction.</t>
    </section>
    <section anchor="appendix-design-rationale-and-literature-traceability">
      <name>Design Rationale and Literature Traceability</name>
      <t>This appendix is non-normative.</t>
      <t>The requirement to separate pre-decision capability and post-decision confidence is informed by work in human and model metacognition <xref target="STEYVERS-META2025"/> and by evidence of choice-supportive bias in LLM confidence estimates <xref target="KUMARAN2026"/>.</t>
      <t>The confidence_target field is included because confidence_band alone can be ambiguous across answer and non-answer actions. For ANSWER, confidence_band refers to the candidate answer. For actions such as CLARIFY, RETRIEVE, TOOL, ABSTAIN, or ESCALATE, confidence_band usually refers to direct-answer suitability under current conditions.</t>
      <t>The uncertainty taxonomy and the emphasis on choosing a corrective action rather than only abstaining are motivated by benchmark work on identifying and solving uncertainty <xref target="LIU-CONFUSE2025"/>.</t>
      <t>The treatment of retrieval and tool use as controlled externalization is motivated by work on value-based cognitive offloading <xref target="GILBERT2024"/>.</t>
      <t>The prohibition on using MARC signals for persuasive optimization is motivated by findings on AI persuasion risks <xref target="SALVI2025"/>.</t>
    </section>
    <section anchor="appendix-changes-from-02" removeInRFC="true">
      <name>Changes from -02</name>
      <t>This revision makes the following changes relative to draft-c4tz-marc-02:</t>
      <ul>
        <li><t>changes the intended status from Informational to Experimental while retaining the intended Independent Submission Stream;</t></li>
        <li><t>revises the Abstract and Introduction to state the experimental purpose and absence of IETF consensus;</t></li>
        <li><t>adds experimental objectives, reporting guidance, assessment criteria, and limits;</t></li>
        <li><t>distinguishes metadata delivery, preservation of object associations, semantic processing, and behavioral evaluation;</t></li>
        <li><t>clarifies that shared confidence labels do not establish comparable accuracy across deployments;</t></li>
        <li><t>updates implementation status to identify available reference artifacts and their scope;</t></li>
        <li><t>removes speculative statements about future IANA registries;</t></li>
        <li><t>groups normative and informative references under one References section and adds RFCXML markup for requirement keywords;</t></li>
        <li><t>clarifies that private extensions supplement, rather than replace or extend, the canonical primary_source enumeration;</t></li>
        <li><t>harmonizes loop termination as a mandatory controller responsibility, with consistent references from the validation, security, and conformance sections;</t></li>
        <li><t>separates mandatory documentation from additional recommendations and records open review questions about partial components, receiver behavior, and calibration context;</t></li>
        <li><t>corrects the non-normative MARC-Disclosure schema to enforce the existing ANSWER confidence-target rule when selected_action is present, and adds a negative disclosure example; and</t></li>
        <li><t>retains the MARC 1.0 fields and action set while replacing standardization wording with specification wording.</t></li>
      </ul>
    </section>
    <section anchor="appendix-validation-test-vectors">
      <name>Validation Test Vectors</name>
      <t>This appendix is non-normative.</t>
      <section anchor="appendix-valid-answer-record">
        <name>Valid ANSWER Record</name>
        <t>A valid ANSWER record includes selected_action set to ANSWER, post_answer_confidence present and non-null, and confidence_target set to answer.</t>
        <sourcecode type="json">{
  "marc_version": "1.0",
  "pre_capability": 0.80,
  "uncertainty": {
    "ambiguity": 0.05,
    "missing_evidence": 0.10,
    "capability_limit": 0.08,
    "evidence_conflict": 0.02,
    "safety": 0.00
  },
  "primary_source": "missing_evidence",
  "secondary_source": null,
  "remediability": "none",
  "selected_action": "ANSWER",
  "post_answer_confidence": 0.77,
  "confidence_band": "high",
  "confidence_target": "answer",
  "recommended_next_step": "provide the answer"
}</sourcecode>
      </section>
      <section anchor="appendix-invalid-answer-without-post-answer-confidence">
        <name>Invalid ANSWER without post_answer_confidence</name>
        <t>The following record is invalid because selected_action is ANSWER but post_answer_confidence is null.</t>
        <sourcecode type="json">{
  "marc_version": "1.0",
  "pre_capability": 0.80,
  "uncertainty": {
    "ambiguity": 0.05,
    "missing_evidence": 0.10,
    "capability_limit": 0.08,
    "evidence_conflict": 0.02,
    "safety": 0.00
  },
  "primary_source": "missing_evidence",
  "remediability": "none",
  "selected_action": "ANSWER",
  "post_answer_confidence": null,
  "confidence_band": "high",
  "confidence_target": "answer",
  "recommended_next_step": "provide the answer"
}</sourcecode>
      </section>
      <section anchor="appendix-invalid-primary-source-none">
        <name>Invalid primary_source none</name>
        <t>The following record is invalid because MARC 1.0 does not define none as an uncertainty source.</t>
        <sourcecode type="json">{
  "marc_version": "1.0",
  "pre_capability": 0.80,
  "uncertainty": {
    "ambiguity": 0.00,
    "missing_evidence": 0.00,
    "capability_limit": 0.00,
    "evidence_conflict": 0.00,
    "safety": 0.00
  },
  "primary_source": "none",
  "remediability": "none",
  "selected_action": "ANSWER",
  "post_answer_confidence": 0.90,
  "confidence_band": "high",
  "confidence_target": "answer",
  "recommended_next_step": "provide the answer"
}</sourcecode>
      </section>
      <section anchor="appendix-invalid-score-range">
        <name>Invalid Score Range</name>
        <t>The following record is invalid because uncertainty.missing_evidence is greater than 1.0.</t>
        <sourcecode type="json">{
  "marc_version": "1.0",
  "pre_capability": 0.80,
  "uncertainty": {
    "ambiguity": 0.05,
    "missing_evidence": 1.20,
    "capability_limit": 0.08,
    "evidence_conflict": 0.02,
    "safety": 0.00
  },
  "primary_source": "missing_evidence",
  "remediability": "none",
  "selected_action": "ANSWER",
  "post_answer_confidence": 0.77,
  "confidence_band": "high",
  "confidence_target": "answer",
  "recommended_next_step": "provide the answer"
}</sourcecode>
      </section>
      <section anchor="appendix-invalid-confidence-target-for-answer">
        <name>Invalid confidence_target for ANSWER</name>
        <t>The following record is invalid because selected_action is ANSWER but confidence_target is direct_answer_suitability.</t>
        <sourcecode type="json">{
  "marc_version": "1.0",
  "pre_capability": 0.80,
  "uncertainty": {
    "ambiguity": 0.05,
    "missing_evidence": 0.10,
    "capability_limit": 0.08,
    "evidence_conflict": 0.02,
    "safety": 0.00
  },
  "primary_source": "missing_evidence",
  "remediability": "none",
  "selected_action": "ANSWER",
  "post_answer_confidence": 0.77,
  "confidence_band": "high",
  "confidence_target": "direct_answer_suitability",
  "recommended_next_step": "provide the answer"
}</sourcecode>
      </section>
      <section anchor="appendix-invalid-disclosure-confidence-target">
        <name>Invalid MARC-Disclosure Confidence Target for ANSWER</name>
        <t>The following disclosure is invalid because selected_action is ANSWER but confidence_target is direct_answer_suitability. The same rule applies when confidence_target is action_suitability. When selected_action is omitted, this conditional check does not by itself restrict confidence_target; its other requirements still apply.</t>
        <sourcecode type="json">{
  "answer": "The result is available.",
  "confidence_band": "high",
  "confidence_target": "direct_answer_suitability",
  "uncertainty_source": "missing_evidence",
  "recommended_next_step": "review the supporting evidence",
  "selected_action": "ANSWER"
}</sourcecode>
      </section>
    </section>
    <section anchor="appendix-implementation-status" removeInRFC="true">
      <name>Implementation Status</name>
      <t>This section records available development artifacts, not independent certification or evidence of operational effectiveness.</t>
      <t>As of 4 October 2026, the author's public <eref target="https://github.com/c4tzzz/MARC/tree/cf41f5d3b9e3dd4c212752b3595ae2c9955acde6">MARC reference implementation repository</eref> contains the following artifacts. This inventory refers to commit cf41f5d:</t>
      <ul>
        <li><t>Python and TypeScript implementations of MARC-Core and MARC-Disclosure validation, with errors for supported mandatory checks and separate warnings for supported recommendation-level checks;</t></li>
        <li><t>MARC-Core to MARC-Disclosure projection functions and a Python command-line interface;</t></li>
        <li><t>non-normative JSON Schemas, positive and negative example records, shared validation vectors, and expected results;</t></li>
        <li><t>automated tests, including a comparison of Python and TypeScript results on the common vectors;</t></li>
        <li><t>illustrative generic-agent, retrieval-controller, and gateway integrations; and</t></li>
        <li><t>implementation, mapping, trust, and interoperability documentation, together with a template for external implementation reports.</t></li>
      </ul>
      <t>The repository at the cited commit identifies draft-c4tz-marc-02 as the implemented revision. This revision retains the MARC 1.0 fields and action set, clarifies the use of private extensions for residual uncertainty, makes controller loop termination requirements consistent, and corrects the disclosure schema's enforcement of the existing ANSWER confidence-target rule. The cited repository's disclosure schema and validators do not yet enforce that cross-field rule; experiments using them need an additional check. The artifacts support validation and projection experiments; they do not provide an empirically validated controller, a calibration method, or evidence of full deployment conformance.</t>
      <t>The Python and TypeScript implementations are maintained in the same project. Their agreement on shared tests is useful consistency evidence, but is not presented as evidence of independently developed implementations. This document reports no completed external interoperability trial, production deployment, or behavioral evaluation.</t>
      <t>The repository artifacts are non-normative. In particular, a restriction imposed by a reference schema or validator does not create a requirement beyond the normative text. Implementers comparing results distinguish the specification's requirements from restrictions imposed by a particular validation aid or local policy.</t>
    </section>
    <section anchor="appendix-open-issues" removeInRFC="true">
      <name>Open Issues</name>
      <t>This working revision seeks feedback on the following questions. They identify possible changes for subsequent revisions and do not relax the current requirements or establish additional conformance classes.</t>
      <dl>
        <dt>Partial-component conformance</dt>
        <dd><t>Should standalone validators, projection libraries, and receivers have distinct conformance classes? If so, which requirements apply to each role, and how should a deployment report their composition? Until such classes are specified, reports identify the functions tested using <xref target="sec-experimental-reporting"/> and the existing classes in <xref target="sec-conformance-classes"/>.</t></dd>
        <dt>Receiver errors and unknown versions</dt>
        <dd><t>Which common receiver behavior is needed for malformed records, unsupported versions, and unknown enumerated values? Feedback is sought on rejection, error reporting, and any explicitly negotiated fallback or opaque forwarding, consistent with preserving the semantics of recognized fields. This revision does not define a common error object or a complete receiver error-handling procedure.</t></dd>
        <dt>Calibration context across components</dt>
        <dd><t>What calibration context needs to accompany exchanged confidence bands, particularly when only MARC-Disclosure is carried? Questions include how a receiver identifies the calibration profile and its version, task scope, and thresholds, and how that information remains associated with the disclosure without requiring internal numeric scores to be exposed. The current optional calibration_profile field and deployment documentation do not define a shared exchange mechanism for that context.</t></dd>
      </dl>
    </section>
  </back>
</rfc>
