Let the Exercise Audit the Contract

Heart

A Contract authored ahead of its conforming nodes cannot find the gaps in itself by being stared at harder. Draft the first conforming node or skill, run it against real graph data, and let the run surface what the speculative drafting missed. The Contract is revised from what the exercise revealed, not from what further reflection might imagine.

Problem

Contract Form Contract asks that contracts be introduced "only when two or three concrete nodes already want the same shape." The discipline is sound: the Contract should codify observed shape, not speculative shape. But in practice there are cases where the Contract must exist before the first node conforming to it can exist — because without the Contract, the node has no conforms_to:: target to declare, and the node's shape is not yet trustworthy enough to stand without the structural rule.

In those cases the Contract is drafted speculatively. The author sits alone with the form's intent and writes down what they expect conforming nodes to need. Speculative drafting is easy to get wrong in specific ways: unspecified edge cases, implicit exceptions the author assumed everyone shared, silent reservations about what the Contract is actually claiming. These gaps are invisible while the Contract has zero instances. Staring harder at the Contract does not reveal them, because they are gaps in the relationship between the Contract and real cases, not gaps inside the Contract's prose alone.

The recurring difficulty: how to find the gaps without waiting for 2-3 nodes to independently demonstrate them.

Forces

Solution

When a Contract has been authored speculatively, draft its first real instance immediately and run the instance against real data. For a Form Contract: draft a conforming node and invoke a validation skill against that node plus two others of adjacent forms. For a Skill-form Contract: draft a skill and run it against the real graph (or real documents, real data — whatever the skill operates on). For a tooling Contract: draft the tool and run it end-to-end.

The exercise surfaces gaps in two kinds:

  1. Requirements that undersay. A Requirement written as "the body MUST include X" turns out, when X is actually drafted, to need specific content or ordering the author did not state. The exercise reveals the implicit expectation.

  2. Cross-Contract interactions the author missed. A Requirement in Contract A interacts with a Requirement in Contract B in ways the A-author did not foresee. The exercise, by touching both contracts at once, surfaces the interaction.

Revise the Contract from what the exercise revealed, not from what the author thinks of on reflection. Each exercise-revealed gap becomes a concrete Requirement refinement with the real case that prompted it. Revisions that cannot point at an exercise are deferred; speculative additions at this stage are drift, not improvement.

Repeat the exercise with a second and third conforming instance. The Contract stabilizes when two or three consecutive exercises surface zero revisions. At that point the has_lifecycle::[[Seed Stage]] marking the Contract carries can advance to [[Growth Stage]]: the Contract has demonstrated it works for more than the first case.

Consequences

Instances

Also Known As

Relations