Skip to main content

Module obligation

Module obligation 

Source
Expand description

Stable identity for a reconstruction obligation: an unresolved control transfer that reconstruction still owes an answer for.

This module holds only the identity. The obligation database, its states, and its evidence live in qcode_analysis — they are derived analysis state and must not become part of serialized qcode bodies (see the roadmap’s “Reconstruction facts and hypotheses” section).

Like DiscoveryKey, the key is built from stable binary addresses rather than context-local FunctionId / BlockId / InstructionId values. Obligations are produced while analyzing a disposable optimized clone and consumed by the scheduler against the persistent clean context, so an arena ID from one context would be meaningless — or worse, silently valid — in the other.

Structs§

ObligationKey
Stable identity of a reconstruction obligation.

Enums§

TransferKind
The kind of control transfer an obligation stands for.