Use when: a bug, example, or implementation exists but the promised behavior is unclear; several supplied reports may share a law; or an existing law might conflate distinct obligations.
Inputs: the question, contract sources, known examples, existing oracle owner and limits, and the public observation that matters. A missing authority is an input gap, not permission to infer a promise from production.
With several supplied reports or examples, ask whether one caller-visible obligation predicts their different symptoms. Name its common preconditions, check an apparent outlier and a nearby case it should permit, and split the proposal if those cases require different promises. A descriptive cluster is a lead, not evidence that one contract governs every item.
Return: the candidate law and status, its source, rival predictions, a concrete distinguishing witness, and the next experiment or unresolved decision. For a simple law, a short paragraph and a worked example suffice.
Control: try a legal alternative implementation. Does the proposed law reject it only because its scheduling or representation differs? Also try a plausible wrong result: could the proposed observation distinguish it?
Distortion: freezing an implementation accident into a law; treating a vivid edge case as representative; or overstating what is owed at an intermediate cut.
Stop when: the law is precise enough to enact independently, or a named missing authority or fact prevents choosing between predictions. Continue other authorized work while keeping that choice unresolved.
Adapted from Field Lab's assumption mapping and ground-condition probe.