Skip to content

Versions and alternative definitions

Two different things on a component’s page are called a version, and they are separate axes. This page keeps them apart, then covers the third relation that looks like a version and is not: an alternative definition.

Read it if a component’s page has shown you Revision 1.0.0 beside Applies to: Version 7 and you want to know which one you are looking at. For what a component is at all, see Knowledge components.

Axis Where you see it What it tracks
Major line Applies to, and the Versions cards on a technology The technology’s own release lines
Revision Revision beside the type badge How this write-up evolved

A component can sit at Revision 3.0.0 and apply to Version 6 and Version 7. Nothing ties the two numbers together.

A major line is the version of the technology that a component describes. Its label is the line itself — 7, never 7.1.4.

Every technology has at least one. For a tool, the label names a line its maintainers published, so it can in principle be checked against them. For a practice, the label is Fito’s own numbering and matches nothing outside Fito. Nobody published “Hexagonal Architecture 1”.

Because of that, a label is never resolved against an upstream registry, and two labels are never compared to work out which is newer. The convention is that a practice is created at 1, and nothing in Fito enforces it. An author who names the first line cockburn-2005 breaks nothing.

Each major line carries its own notes, and what those notes are for differs by kind:

  • On a tool, they carry the claims that are true of one line only: “Javalin 7 requires Java 17+ and runs on the embedded Jetty 12 server.”
  • On a practice, they record the source formulation the components are grounded in: “Cockburn’s 2005 formulation of Ports & Adapters.”

That second reading is what makes a future second line meaningful. Once line 1 says which formulation it is, a later restatement has something to be different from, rather than arriving as an unexplained relabel of something nobody re-released.

A component applies to one or more major lines, and every one of them belongs to the same technology. That rule is what lets a single technology slug sit inside the component’s reference id.

One idea that holds across two lines is one component with two links, not a duplicate. You will see both pills under Applies to, and the component appears in both lines’ listings.

The exception is real divergence. When a concept changes incompatibly across major lines, so that one write-up cannot honestly cover both, it becomes two components with no shared line. They are not linked to each other. The lines they apply to already carry the distinction, and a link would add nothing you cannot see.

To read a technology one line at a time, open a card in its Versions section. Every count and every sidebar entry on the page that opens covers that line alone, and a component that is live only on another line reads as missing.

A component’s revision is the history of its own write-up. It shows as Revision 1.0.0 beside the type badge.

A revised component is a new component, linked to the one it replaces — not an overwrite. So the history is auditable: nothing that was published is edited away underneath a reader who cited it.

Open the Version history panel at the foot of a component’s page to walk that chain. The entry you are reading is marked as current. A panel with one entry reads This is the first published version of this component.

In the sidebar, a component that a newer revision has replaced is marked replaced by revision 2.0.0.

An alternative definition is the same idea captured in different words — by a different author, or for a different audience. It is a component in its own right, with its own reference id, linked to the component it sits beside.

It is not a version of anything. It is a sibling framing. Two things follow:

  • A component and its alternative definition describe the same idea at the same point in time. Neither replaces the other.
  • Two components that differ because the technology changed across major lines are not alternative definitions. That case is covered above, under Applies to.

Open the Alternative definitions panel to see them. An empty panel reads No alternative definitions have been published for this component.