Skip to content

Examples ​

Every example here is an experiment, not a demonstration: a frame, the predictions written before its first call, and the records of every run. The reader is Gemma 4 26B (the QAT q4_0 GGUF build, revision d1c082be), served by eGemma on one machine, except in rung 19, read by Muse Spark 1.3 Contributor through the unified model router; reading an example back needs no model.

  • Predictions first: examples/PREDICTIONS.md holds what each step expected, written before its first call.
  • Every run kept: examples/runs/ holds every record of every run of the frames here. Rung 19's frame was also read by other models while its design was worked out; only the reading shown is kept.
  • Nothing edited after: a wrong prediction stays in, and so does a frame that turned out to be built wrong; a corrected frame is a new one beside it.
  • Cheap to run: 6,380 calls in all, across code review, design review, contracts, access rules, incidents, migrations and performance work, and not one failed (examples/FINDINGS.md).

The ladder ​

The examples climb. Each step is one or two frames on a new domain or grain, and it teaches one more thing Gadfly does, on top of the steps before it. Your first frame is the first step.

StepFramesTeachesDomain, grain
Your first frameupgrade, rung1-rung6each trial in turn; levels; open checks; carrieddependencies, one changelog line
Cooled07, 08cooled; the control; discrimination; a contrast paircode review, one repository rule
Quorum09quorum and agree; a trial with no level; runsarchitecture, one requirement
Misaligned10a, 10ballowed; coupled but misaligned; several inputs; placementan incident, four tasks, one route each
Cumulative10c2, 10dthe cumulative trial; "carried elsewhere too"; two valid routesthe same incident, both routes
A frame built wrong10cthe control as a check on the frame; a new version, never an editthe same incident
Bypass11allowed.bypass, the designated opening; a fallback left opencontract into engineering, one clause
Several inputs12one finding per input; overall; what one allowed cannot saysecurity, one grant, three requesters
Grain13, 13bseveral anchors; the same evidence at two grainsdata migration, a section, then one line
Paths14, 15inputs as paths to one goal; the result, not the routeoptimizing; implementing
Inversion16the inversion trial, a direction the answer must follow; a default no rule carriesaccess, one rule, two cases
Asked17the input inversion, a change to what is asked the answer must followcode review, one rule, the diff in the question
Each anchor alone18, 18b, 18b2, 18ceach anchor cut alone, evidence after a moved ablation; a default no cut movesaccess and incidents, two statements each
Run your ownyourspredictions first; plan, run, report; which trial answers which questionyours

How a step reads ​

Each step shows four things, each printed from the files in examples/ by examples/read.py, which calls no model:

  1. The frame, as Gadfly plans it (--frame): the evidence one span a line, the anchors marked *, the question, and what each trial cuts, renames or moves.
  2. The prediction, as it was written before the first call.
  3. The answers: the labels each trial's calls gave, all runs together.
  4. The reading: one run's verdict (--verdict N, one input with --input), its levels, its evidence and its open checks, in the words gadfly report uses.

Then what to take from it, and an experiment to try next. The scale is small on purpose: one model a frame, three to five runs a frame, each trial asked five times with four to agree, so each step says how narrow its result is.

examples/RESULTS.md sets every result against its prediction, and examples/FINDINGS.md gathers what they showed about the reader, the service and Gadfly.


Every result at a glance ​

ExampleDomain, grainDoes the decision rest on…Per run, read by Gemma unless named
upgrade.json, rung1-rung6dependencies, one changelog linethe line that removes a function our code calls?carried; the rungs show each check closing
07-sql-rule.jsoncode review, one repository rulethe rule against formatted SQL?cooled: its training decides
08-clock-rule.jsoncode review, one repository rulethe rule against datetime.now()?the rule decides; unresolved, no bypass declared
09-sync-sms.jsonarchitecture, one requirementthe 300 ms requirement?cooled in two runs of three
10a-10ddebugging, fixing, optimizing, alerting; one test or two metricswhich of two routes to the cause?the metrics decide every task; the rollback alone decides the fix, not the cause; with both, either can go (cooled)
11-eu-clause.jsoncontract into engineering, one clausethe clause keeping data in the EU?the clause carries; applied without the line that makes it the customer's
12-payroll-access.jsonsecurity, one grant, three requestersthe grant to Finance?Dana carried, Sam unresolved, the backup job cooled
13, 13bdata migration, a section, then one linethe status saying the table is unused?the section carries; "no reads in 30 days" carries nothing
14-orders-latency.jsonoptimizing, one goal, five pathsthe latency goal?four paths carried whatever their cost; the timeout rejected
15-invoice-export.jsonimplementing, one test, four processesthe passing test?the test decides, never the process
16-restore-inversion.jsonaccess, one rule, two casesthe approval rule, and does the answer turn with it?the answer turns every time; unresolved, a sham of the anchor's role and a default refusal
17-clock-asked.jsoncode review, one rule, the diff asked aboutthe clock rule, and does the review turn with the diff?carried in two runs of three; the review turns to approve
18, 18b, 18b2, 18caccess and incidents, two statements eacheach of two statements, alone?the restore rule carries it and the cited break-glass line has no agreed level (one run); elsewhere another route, a default or a split comes first
19-router-waist.jsondesign review, a repository and a program that calls itthe second program, not the repository's name?read by Muse: carried in every run, and the name changes nothing