Skip to content

Framework ​

Gadfly applies the method in When meaning is load-bearing. This page is the bridge between the essay's symbols and the library's public names, and deliberately an overview: the tutorial runs one frame, and the reference lists every callable.


The path from premise to verdict ​

StageWhat it makesWhat stays fixed
situatea checked Frame and its SHA-256every declared coordinate, including grain and battery
planthe trials derived from the frametrial bodies and order; the caller may inspect them before spending anything
runone Record per callthe exact body, input, trial and quorum index recorded beside the observation
judgeone Finding per inputthe frame, battery, body hashes, trial set, quorum and label vocabulary
overallone Overall over the findingsevery input's category and evidence while combining the frame-level answer

Gadfly is a library with no hidden store: run() is the only stage that calls a battery, and records go to your on_record callback as they are made. judge() recomputes the reading from those records. Keep them as JSON Lines, database rows or fixtures, but keep them.


The essay and the frame ​

The essay's situated use becomes the frame's descriptive keys:

L=(I,B,r,g,P,T,B0,C,p)

and its assessment frame adds the anchors, the observation map, the declared interventions and standing:

Γ=(A,r,g,P,T,B0,p,op,D,σ)
EssayFrameMeaning in Gadfly
Irelationthe premise under intervention
vlocuswhere it acts
Bbody.spansthe text it lives in, at the declared grain
r,g,P,Trole, grain, purpose, trajectorywhose reading, at what unit, for what path
B0baselineeverything pinned for the comparison
C,pcrossing, promisethe boundary and the consequence required there
Aanchorsspan ids removed by ablation
opobserve.instruction, labels, order plus your batterywhat the scorer reads and the complete label vocabulary
Dinterventions, allowed, standingthe admissible changes, allowed influence, and sampling standing
σstanding.quorum, agree, stableobservation standing
≃pexact label equalityno hidden similarity function
Ep,δallowedthe permitted influence relation
carriage checkscarriagewhether a category waits for the checks it needs, every carriage check for carried and a control that moved for cooled (all-checks), or is named with its open checks beside it (listed)
scope checkoutsideScope, scopeCheckthe owner's exclusion, and the owner's own check of it

The code hashes the whole frame, including the situated-use keys. This is stricter than changing only Γ: editing any coordinate creates a new frame hash and requires records to be made or replayed under that new frame.

materialized, outsideScope and scopeCheck are declarations about the receiving side: Gadfly reads them, it does not inspect the receiving system. See Architecture and limits.


The four data objects ​

ObjectCreated byWhat it answers
Framesituatewhat was declared, under one hash
Trialplanwhat one intervention changes
Recordrun through on_recordwhat one scorer call read and observed
Finding / Overalljudge / overallwhat the fixed rules say, with evidence and obligations

The records are the durable evidence. judge does not rerun a scorer and does not consult the frame's source file; it reads the records, checks they are records this frame could have made, and applies the rules.


Where the rest lives ​

Each part of the frame has a page of its own.