Field guide / Composable software / October 29, 2026

Both tools passed their tests. The handoff was still wrong.

If two components each run without errors, it is tempting to assume connecting them will produce the right answer. The most expensive mistake may be at the boundary: one component's meaning is not the next component's meaning.

Original fictional example. No real customer, production failure, benchmark or external integration is represented here.

A simple failure hiding in a perfectly ordinary number

Imagine a fictional webhook observer and sales-report builder. Both accept a field named event_total. Both store a nonnegative number. Both unit tests pass. The observer counts webhook delivery observations, including possible retries; the report builder expects paid orders.

Observer sends:
  event_total = 13  // delivery observations

Report expects:
  event_total = 13  // distinct paid orders

The type is right. The key is right. The unit is a count in both systems. But 13 deliveries need not equal 13 paid orders. A green pipeline can therefore generate a false business claim.

What should travel with a field?

Contract dimensionQuestion the receiving block must ask
VersionIs the producer's output version explicitly accepted?
NameDoes a declared required field actually exist?
TypeIs it a number, string, Boolean, object or array as expected?
MeaningIs this a delivery count, a paid-order count or something else?
UnitDoes a value represent seconds, minutes, dollars or counts?
PrivacyDoes the receiving block have an appropriate declared boundary for this data classification?

Run the fictional seam check

The free Block Seam Preflight accepts two small declarations, not actual customer records. Select the fictional example: the producer calls event_total delivery_count, while the consumer expects paid_order_count. The tool reports a meaning_mismatch.

Now revise the consumer's expected meaning to delivery_count. The declaration check may have zero blockers, but that means only the supplied metadata agrees. It does not prove the code implements these claims, that the key scopes or time windows align, or that the business result is correct.

Open the free Block Seam Preflight →

Why this is a preflight, not validation

There are at least three separate proofs. First, test each component within its supported domain. Second, verify the actual adapter preserves meaning, unit, scope and authorization. Third, run the assembled workflow against a sufficiently independent ground truth for the stated outcome. The free checker only addresses a narrow slice of the second step: declared metadata compatibility.

Do not upgrade a contract check into an acceptance certificate.

Two intentionally or accidentally inaccurate declarations can agree perfectly. A privacy label in a JSON manifest is not a permission grant. No output here authorizes a payment, a customer-system write, a replay, a rollout or a client's sign-off.

How this fits into a small-tool portfolio

Keep each small tool independently useful, with stable input and output contracts. When two tools need to cooperate, check the seam explicitly rather than guessing from matching field names. A separate Field Mapping Evidence Check can compare the values in authorized pseudonymous snapshots; the Acceptance vs Observation Workbench keeps proposed tests distinct from observed operational evidence.

There is no automatic network connection between these tools. Their reusable concepts and versions make future orchestration possible, but new combinations still require integration tests. For a simple one-off scenario, a spreadsheet or a handwritten contract test may be entirely sufficient.

What would make this worth improving?

A real operator should be able to show that documenting the seam prevented a material mapping mistake or saved repeat review work compared with their existing development process. Without that evidence, it remains a free preflight. Published page count, generated downloads and synthetic tests are not buyer validation.

Try the checker → · Explore other free tools → · Privacy and limitations →