wiki › Transitions

Difference

A difference describes a change by the contrast between the user's situation before and after: how things were versus how they are now. "Owing taxes to paid taxes," "hungry to fed," "unbilled clients to invoices going out monthly." It names the before-and-after, not the activity that gets the user there.

Definition

Difference is the aspect of a transition that summarizes it by the condition-deltas between its starting state and resulting state.

Two aspects of any transition

Any transition admits two aspects. The other is way, which summarizes the transition by the activity being done — "sending an invoice," "setting up an account." Difference summarizes by what's changed across the endpoints — "invoice-draft to invoice-sent," "{no account} to {account created, billing email captured, default workspace provisioned}."

Way and difference describe the same transition from different angles. They run on orthogonal axes of summary: way picks out the activity; difference picks out the endpoint-contrast. Both apply to every transition. The analyst picks which aspect to invoke based on what's being surfaced.

Granularity is a separate axis

A difference can be coarse or fine independently of being a difference at all. "Account empty to account configured" is a coarse difference; "{billing_email=null, workspace=default, integrations=none} to {billing_email=verified, workspace=named, integrations=one or more enabled}" is a fine one. The same transition admits both descriptions — the choice is about resolution, not aspect. What differs between coarse and fine is how much condition-detail the specification commits to.

Differences ground completion criteria and verification

Completion criteria are the critical subset of a transition's differences — the condition-deltas the resulting state must satisfy for the transition to count as complete. Verification operates against differences, not against ways: claims about whether a transition occurred get checked against whether the specified condition-changes hold.

Difference in the aspect toggle

The aspect toggle is the methodological alternation between way-naming and difference-specification that maintains fidelity at the naming layer. Difference-specification alone freezes on ideation without usable vocabulary; way-naming alone admits names that fail the hot-air diagnostic — names without specifiable difference-structure underneath them. The toggle alternates between the two and treats disagreements as diagnostic. A common seam: activity-naming ("submit the verification email") versus condition-naming ("verification-email-sent record exists; user inbox contains delivered message; link inside is valid"). Where the two come apart, the gap signals where fidelity or step-structure needs work.

Example

For a SaaS offering where "send first invoice" is the value milestone, the way is the activity — sending the first invoice. The difference is the condition-delta — {user has client and line items entered, invoice.status=draft} to {invoice.status=sent, recipient notified, payment status visible to user}. Way-naming gives qualitative investigation a handle for clustering user pursuits. The difference is what verification runs against: whether a given session counts as reaching the milestone gets checked against whether the specified conditions hold at the end of it.

See also

  • Vert/horiz toggle — the second toggle, combining with the aspect toggle to form a four-quadrant matrix of transition exploration
  • Scope fidelity — the constraint that compressed descriptions accurately track what they summarize
  • Scope-translation — the operation that compresses child-scope conditions into a parent-scope predicate, ratifying parent-scale differences