A philosophy by Melvin Fahnestock

X-in-the-Middle Development

Agent-written code is an X in the middle. We should strive to make confidence independent of understanding every internal step. To earn that confidence, define the input and expected result, apply the input to X, then compare the actual with the expected. The more completely we do that, and the more tightly we define1 what we expect from X, the more we can trust the X in the middle.

INPUT → [ X ] → ACTUAL ?= EXPECTED

X might also be a model, a service, a workflow, or a person. In every case, a box defines how X should perform and the conditions under which that performance is constrained. Confidence is limited to that box.

The tighter the box, the less X matters.

1Define means specifying the tests and coverage, runtime conditions, dependencies, permissions, limits, and scope that establish the box around X and bound the confidence placed in its performance.

From principle to acceptance.