Partial State Handling
by Nick Clark | Published March 27, 2026
When an inference call is invoked with inputs that are partially missing, partially stale, or partially out-of-distribution, the call proceeds only after the missing portions are explicitly declared as a typed partial-state object that travels with the result. Downstream consumers receive both the inference output and the partial-state declaration as inseparable artifacts, and no component along the consumption path is permitted to silently impute, fabricate, or back-fill the missing fields. Imputation, where it occurs at all, must occur as a separately recorded step with its own lineage entry.
Mechanism
Partial state handling is a structural property of the inference boundary. When the agent prepares a call to any inference function, including a model invocation, a tool call, or a delegated sub-agent task, the call frame is constructed from a typed input schema in which every field carries one of four explicit states: present-and-fresh, present-and-stale, absent-known, or absent-unknown. The call cannot be issued until each field has been resolved to one of these four labels. This resolution step is performed by a deterministic input-completion routine that consults the agent's working memory, recent observation log, and authoritative external sources where permitted. Fields that cannot be resolved to a concrete value are not silently zero-filled, defaulted, or hallucinated; they are tagged with the appropriate absence label, and the absence labels are aggregated into a partial-state declaration that becomes part of the call frame.
The inference function receives the partial-state declaration as a first-class argument. It is not metadata appended to a side channel; it is structurally bound to the input record and is hashed into the record's content identifier so that any downstream consumer can verify by hash that the declaration the producer attached is the declaration the consumer is reading. Inference functions that accept partial-state inputs must, by contract, emit outputs that carry forward a derived partial-state declaration describing how the input absences propagated into the output. An output field that was computed from absent-unknown inputs is marked as derived-from-incomplete. An output field that was computed from a complete subset of the inputs is marked as derived-from-complete. The derivation is recorded at field granularity, not at record granularity, so that downstream consumers can reason about which portions of an output are trustworthy and which are conditional on absent context.
Downstream consumption is governed by the same structural rule. When an output is consumed by a subsequent inference call, by a tool, or by an external sink, the partial-state declaration must be presented to the consumer along with the output. The consumer is required to acknowledge the declaration in one of three ways: it may proceed and propagate the declaration forward, it may proceed and emit a compensating action that reduces the absence (for example, by issuing a clarifying query), or it may decline to proceed. There is no fourth path in which the consumer treats incomplete inputs as complete. Silent imputation is forbidden by the contract, and the contract is enforced at the call boundary, not at the consumer's discretion.
Operating Parameters
The four absence labels are intentionally minimal. Present-and-fresh denotes a value whose source is known, whose age is within the field's freshness window, and whose provenance chain is intact. Present-and-stale denotes a value that was once fresh and remains structurally valid but has aged past the freshness window; the consumer must decide whether stale-but-present is acceptable for the operation at hand. Absent-known denotes a field whose value is structurally expected but has been determined to be unavailable from any consulted source; the absence itself is information. Absent-unknown denotes a field whose value the agent did not even attempt to resolve, either because the resolution was out of scope or because resolution was deferred. The distinction between absent-known and absent-unknown matters because it determines whether downstream consumers can rely on the absence as a negative signal.
Freshness windows are defined per field and are policy-governed rather than hard-coded. A field representing a user's stated preference may have a long freshness window measured in days or weeks. A field representing a real-time sensor reading may have a freshness window measured in seconds. A field representing a regulatory rule may have a freshness window tied to a publication identifier rather than to wall-clock time. The input-completion routine consults the policy reference to determine the applicable window for each field, and the determination is recorded so that an auditor can later verify which window was applied and why.
Partial-state declarations are subject to a structural budget. An inference call whose declared absences exceed a configured threshold is treated as a candidate for decomposition rather than execution. The threshold is expressed as a tuple of absent-unknown count, absent-known count, and stale count, and the policy reference specifies the threshold per call type. When the threshold is exceeded, the call is not silently executed with degraded inputs; it is instead returned to the planner with a structured suggestion that decomposition or deferral is the preferred next action. This guards against the failure mode in which an agent issues many low-quality inference calls and then averages over the results.
Alternative Embodiments
In one embodiment, the partial-state declaration is encoded as a sparse bitmap with a parallel typed-absence vector, suitable for high-throughput inference pipelines where the per-record overhead of a structured object would be prohibitive. The bitmap form is mathematically equivalent to the structured form and carries the same enforcement guarantees, but it is optimized for serialization and for hash-based comparison.
In a second embodiment, the partial-state declaration is materialized only at consumption boundaries; within a tightly bound producer-consumer pair that shares an address space, the declaration is held by reference rather than by value. This embodiment is appropriate for agents whose internal computations cross many sub-component boundaries within a single host process, where the value-form overhead would dominate.
In a third embodiment, the absence labels are extended from the four-state minimum to a richer lattice that includes intermediate categories such as conflicted (multiple sources disagree) and superseded (a newer value is known to exist but has not yet been retrieved). The richer lattice is policy-selectable and is appropriate for agents operating in adversarial or multi-source environments where the binary present-or-absent distinction is insufficient.
In a fourth embodiment, the consumer's three-way response (propagate, compensate, decline) is extended with a fourth response that authorizes bounded imputation. Authorized imputation is distinct from silent imputation: it occurs only when the policy reference explicitly permits it for the field in question, and the imputation is itself recorded as a separate lineage step with its own provenance chain. The consumer's authorization is logged, and downstream consumers see the imputed values labeled as imputed-by-authorization rather than as derived-from-source.
Composition
Partial state handling composes with the agent's broader inference-control surface. The semantic admissibility gate that governs each inference transition consumes the partial-state declaration as one of its evaluation inputs; transitions whose declared absences exceed the gate's policy threshold are rejected at the gate rather than executed and then filtered. The trust-slope mechanism that tracks the agent's recent decision quality treats absent-unknown fields as evidence against trust, while treating absent-known fields as neutral, because the latter represent the agent doing its job and reporting an absence rather than failing to look.
Partial state handling also composes with the agent's lineage and provenance machinery. Every partial-state declaration is recorded in the lineage with the same fidelity as any other input or output, and the declaration's content hash is bound into the parent call's record. An auditor reconstructing the agent's behavior can replay any inference call exactly, including the precise absences that were declared at the time, and can verify that no consumer along the chain treated an incomplete input as complete.
Prior-Art Distinctions
Conventional inference pipelines treat missing inputs as either an error condition that aborts the call or as a defaulting opportunity that silently substitutes a zero, a mean, or a learned imputation. Both treatments destroy information: the abort discards partial work that could have been usefully completed under a partial-state declaration, and the silent default discards the negative signal that the absence itself carries. Partial state handling preserves both. The call proceeds where it can, the absence is preserved as structured data, and downstream consumers retain the ability to reason about what was and was not known at the time of the call.
Conventional missing-data frameworks in statistics and machine learning, such as multiple imputation, focus on producing a single best-guess completion of the input record. Partial state handling differs structurally: it does not produce a completion at all unless completion is explicitly authorized by policy, and even then the completion is recorded as a separate, attributable step rather than folded into the original input. The consumer sees both the original absence and any subsequent imputation, and can choose which to rely on.
Failure Modes Prevented
The mechanism is designed to prevent four specific failure modes that occur in conventional inference pipelines and that are difficult to address by any means other than structural enforcement at the boundary. The first is the silent-default failure, in which a missing field is replaced by a model's prior or by a fixed default value, the substitution is not recorded, and downstream consumers reason about the result as if the substitution had not occurred. The mechanism prevents this by making the absence a typed first-class artifact and by forbidding the substitution at the contract level rather than discouraging it at the convention level.
The second is the propagation-blindness failure, in which an early absence is correctly handled at the first consumer but is not propagated to the second consumer, who therefore treats the now-derived field as fully grounded. The mechanism prevents this by requiring that every output carry a derived partial-state declaration whose absence labels reflect the absences in its inputs at field granularity, so that the absence cannot be lost across a derivation step.
The third is the absence-equals-zero failure, in which a numeric field's absence is encoded as zero and the encoding is then consumed as a meaningful zero rather than as an absence. The mechanism prevents this by separating the value channel from the presence channel: the value channel may carry any sentinel the implementation chooses, but the presence channel is independently consulted by every downstream consumer and is structurally required to be consulted before any arithmetic on the value.
The fourth is the average-over-noise failure, in which a planner issues many low-quality inference calls with substantial declared absences and then averages over the results, treating the aggregation as if it had compensated for the absences. The mechanism prevents this by enforcing the structural budget at the call-issue boundary: when the threshold is exceeded the call is not silently issued, and the planner is forced to confront the absence rather than absorb it into a population.
Disclosure Scope
The mechanism described herein is one component of the cognition patent's inference-control surface. The disclosure covers the partial-state declaration as a typed first-class artifact, the four-label minimum lattice and its policy-extensible richer lattices, the structural rule prohibiting silent imputation at consumption boundaries, the contractual requirement that derivation be recorded at field granularity, the threshold-based handoff to decomposition or deferral when declared absences exceed budget, and the composition of the mechanism with the agent's admissibility gate, trust-slope tracking, and lineage machinery. The disclosure is intended to cover any system in which inference calls carry inseparable partial-state declarations across producer-consumer boundaries and in which silent imputation is structurally prevented rather than merely discouraged.