The contractor delivered 8 slides instead of 10, three days after the agreed deadline, with no prior notice or renegotiation. The client refuses to release the $800 payment.
The contractor delivered 8 slides instead of 10, three days after the agreed deadline, with no prior notice or renegotiation. The client refuses to release the $800 payment.
Non-comparative because fulfillment is a judgment call, not a number. Two validators may phrase 'material breach' differently but still reach the same conclusion — a rubric lets the sixth LLM judge whether they actually agree.
Ethereum can only evaluate on-chain data. It cannot reason about whether 8 slides substantially fulfills a 10-slide contract — that requires language understanding. A Solidity contract would need an oracle that reduces subjective fulfillment to a binary, which defeats the purpose.
“A freelancer was paid $800 to deliver a 10-slide pitch deck by Friday. They delivered an 8-slide deck on Monday. Did they fulfill the contract?”
Pose a question. Pick a mode. Preview how five model jurors might reason — then send the case to GenLayer, where the official verdict is decided on-chain.
"A freelancer was paid $800 to deliver a 10-slide pitch deck by Friday. They delivered an 8-slide deck on Monday. Did they fulfill the contract?"
This preview is generated locally for educational purposes. The official verdict is produced by GenLayer Intelligent Contracts on-chain.
Awaiting summons.
Awaiting summons.
Awaiting summons.
Awaiting summons.
Awaiting summons.
01from genlayer import gl02 03class FreelancerMilestone:04 slides_required: int05 deadline: str06 07 def __init__(self) -> None:08 self.slides_required = 1009 self.deadline = "Friday"10 11 @gl.public.write12 def evaluate(self, slides: int, day: str) -> bool:13 rubric = (14 f"Contract: {self.slides_required} slides by {self.deadline}. "15 f"Delivered: {slides} slides on {day}. "16 "Did the freelancer materially fulfill the contract? "17 "Answer yes or no only."18 )19 result = gl.eq_principle.prompt_non_comparative(20 lambda: gl.nondet.exec_prompt(rubric),21 comparative=False,22 )23 return "yes" in result.lower()The contract stores the agreed deliverable and deadline so every validator judges against the same terms.
The prompt preserves the subjective phrase 'materially fulfill' instead of pretending the answer is a simple counter check.
Validators may explain breach differently, but the equivalence check asks whether their judgments resolve to the same yes/no outcome.