The model, made incarnate

A model you can hold

Decision Architecture argues that organisations succeed or fail by their structure, not by effort. Fulcrum turns that argument into an engine you operate directly: the decision objects, authority worldlines and structural moves from the books, scored live by a deterministic model.

01

Structural moves

Delegate authority, stabilise interfaces, realign incentives, collapse a boundary or resolve a contested decision class to a single owner. Every move is scored from blunder to great.

02

Signals to watch

Handoff queue age, escalations, rework, influence without authority, contested ownership, centre escalation load and unowned interfaces: the lagging indicators, each with its own definition.

03

A guide for every level

The guide plans the whole hierarchy at once: each unit's line in its own frame, with the leaf lines composing into an honest whole-org climb, the way an engine shows its line at every depth. On a large organisation the planning spreads across every processor core, so an enterprise of thousands plans in seconds; the parallel build is deterministic and matches the single-core one to the last digit; every planning bar can be cancelled mid-build.

04

Yours, on your machine

Generate a level, model your own organisation, import one as JSON or open a built-in example, from a healthy small agency to a matrixed enterprise of six thousand people. There is no account and no server; nothing about you or your organisations leaves your machine, the one outbound call being an anonymous daily ask of GitHub's releases API for whether a newer Fulcrum exists. A light and a dark theme, remembered between runs, with the maps and the authority colours following.

The pieces

What you actually do with it

You draw an organisation or open one of the shipped examples. Teams are the leaves, units nest above them, dependencies say who waits on whom and with how much delay; each team is marked as either deciding locally or escalating to someone above. Fulcrum then scores that structure out of 100, lists every move legally open to you with the points it would gain or lose and lets you play one, watching the number and the map change. The same definitions below are in the app under Help, Decision glossary.

The moves you can play

  • Delegate authority. Give a team the right to decide and ship on its own, removing an escalation and dissolving influence that had collected with no authority to use it.
  • Resolve authority. Collapse a contested decision class to a single accountable owner, so who decides never has to be settled before anything can be decided. The repair for matrix and dual reporting.
  • Downgrade a claim. Turn a second claimant into a consulted party: an explicit interface with a small delay rather than shared control, so the overhead is priced instead of hidden.
  • Stabilise interfaces. Thin and steady the boundaries so changes cross between teams with less waiting.
  • Realign incentives. Pull a team's rewards back toward the outcome it is asked to ship, so less delivered work comes back as rework.
  • Collapse a boundary. Let one team own the whole slice. It deletes a handoff, not headcount, so it is not centralisation; merging far past a small band, however, raises internal coordination and turns costly.
  • Split a team or add an owner. Relieve an overloaded owner by creating a second complete one, the opposite of splitting along a technical layer.
  • Add an approval layer. The canonical blunder, playable here like any other: a gate every team routes through, formalising missing authority as process.
  • Impose a matrix overlay. Its contest twin: a second claimant on every team at once, so every decision starts with an argument about who decides.

The signals you watch

  • Handoff queue age. How long a change waits at a boundary before the next team picks it up.
  • Escalations per release. How many teams must push a decision up to get one release out.
  • Rework rate. The share of delivered work that comes back for redo soon after.
  • Influence without authority. Teams many others depend on but that cannot decide locally. Left unchecked it burns people out.
  • Contested ownership. Teams whose decisions carry a standing claim from someone else.
  • Centre escalation load. Escalated decisions per turn landing on the single most loaded authority.
  • Unowned interfaces. Two sovereign teams depending on each other with nobody above both to settle a conflict.

The ideas underneath

  • Local authority and escalation. Whether a real person at the team can decide or whether the decision has to travel. A team that needs sign-off for every schema change escalates constantly; that wait is structural rather than personal.
  • Propagation delay. The turns a change spends waiting at a boundary. A ticket sitting four days in another team's queue is four days of it.
  • Incentive skew. How far a team's rewards pull away from what it is asked to ship. A team measured on tickets closed while asked to improve reliability is skewed; it surfaces later as rework.
  • Structural health. The 0 to 100 score, falling with backlog at boundaries, with teams that cannot decide locally and with skewed incentives.
  • Move classification. How a move grades before you play it, exactly as a chess engine grades moves: great, good, neutral, bad, blunder, by the points it would move the score. Deltas are scored inside the section you are focused on, so the same change reads larger the deeper you drill.
  • The prince band. Concentration priced by size. One decisive founder works up to roughly the Dunbar horizon, because escalating to them is a conversation; the identical structure at thousands of people scores badly, because the centre is now far from the work.
Decision-support / Simulation tool

Watch a score climb, move by move

Load an organisation and the board scores its structural health, maps who decides locally against who escalates and lists every move open to you.

The Fulcrum board drilled into one runtime group of the six-thousand-person enterprise, with the section's score, moves and signals
The position. The shipped matrixed enterprise, 6,000 people across 1,076 teams, drilled into a single runtime group: the 45.343 score and the listed moves belong to this section, not the summit. The group's lead is contested, drawn violet; the move list opens with the resolve that would settle it; every delegate beneath rates good at around +4.4 section points while the realigns sit neutral at around +1.3, so the board is saying precisely which repair this frame wants first. Amber marks a team that escalates, green marks one that decides locally; the ring around Runtime team 18 is the move just played, which is what makes a repair visible at a scale where the colours barely move. The seven signals flag the 5.0-turn queue age, the 51% rework and the centre's escalation load; the corner chips zoom the map at any depth.
The Fulcrum guide: the level tree beside the company frame's own line, every step priced from its before score to its after score
The line. The guide plans every level of the enterprise at once: the left pane lists each frame's line with its worth in org points and the composing leaf lines climb the whole organisation from 21.264 to 70.024; three lines that would cost the whole organisation are kept out of that headline and flagged, so the climb the tree advertises is one the organisation would actually make. The right pane plays the selected frame move by move, here the company frame itself climbing 14.398 to 64.650 on its own 0 to 100 scale over twelve moves, six delegations and a stabilise before the realigns. It is labelled as the view from that altitude: its gains overlap the leaf repairs beneath it, so only leaf rows count toward the headline.
A leaf line in the Fulcrum guide: the teams sitting directly in Checkout, a two-move line worth +0.700 org points to the whole organisation
One leaf line. Select a leaf row and the guide shows that level's own line: here the teams sitting directly in Checkout climb from 40.152 to 98.000 on their own 0 to 100 scale in two moves, resolving the programme office's standing claim on the Checkout lead first, rated great, then realigning that lead's incentives. Teams directly inside a unit that also holds sub-units get their own row precisely so a line like this is not lost between tiers. Its honest worth to the whole organisation is the +0.700 org points in the tree: a fifty-eight-point climb in its own frame, under a point at the summit, which is the move-locality result made visible in one row. Only leaf rows compose into the headline, so nothing is counted twice.
Model your organisation

Draw the org you actually have

A two-pane editor keeps the structure visible while you build it: units nest to any depth with teams as the leaves, with an inspector editing whatever is selected.

The Fulcrum organisation editor holding the six-thousand-person enterprise: the org tree with rolled-up headcounts, the dependency table and the authority-claims table
The editor. Start at any tier from the New dropdown (a whole company down to a single team), drag rows like folders and convert an item's type in place. Here it holds the shipped enterprise itself: every row rolls up its teams and people (the company line reads 1,076 teams and 6,000 people, a division beneath it 37 teams and 200), dependencies link any two items (team to team, unit to unit or across levels, each with its delay in turns) and the claims table carries the programme office's standing claims on other units' leads: the matrix disease made explicit, one row per claim. Everything round-trips: the model autosaves, reopens for editing whatever its origin and exports as JSON; even at this size the editor opens in a fraction of a second.
The output

From a played line to a plan you can send

One click exports the moves you played as a self-contained HTML report: the health change, before and after maps and a recommendation section addressed to each unit's lead, each move justified by the signal it eased. It lands in your Downloads folder under a name that never overwrites an earlier one and opens straight away for reading. Every move is judged twice: against the whole organisation and, where it acted inside one unit, within that unit's own frame, so a repair that is good where it lives never vanishes into whole-org neutrality. This is a real export, embedded here as shipped.

The report. Eight moves on the matrixed enterprise, priced honestly at both scales: structural health climbs from 16.255 to 21.264 and every move names its lead, its org-wide verdict, its frame verdict and the signal it moved. This is the whole argument in one page. Every one of the five organisation-wide delegations reads neutral against the summit while reading great inside the section it acted on, the Data delegation taking that section from 16.917 to 54.528 for a whole-org gain of under two points. Two moves run the other way and read bad within their own frame while still neutral org-wide. Each rationale names the signal that actually moved, escalations per release falling 891 to 674 across the eight. Recommendations are grouped by the lead who holds them, CTO-level moves separated from a domain's own. The record separates earlier runs' moves from the current run's by colour and a JSON twin exports alongside it, so the organisation and its played moves re-import to resume.
The number

What grounds it, briefly

The score is a hand-tuned evaluation function, the same kind of thing a classical chess engine uses: an expert prior written as arithmetic. It is not a statistical model fitted to organisational outcome data: there is no training set, no regression and no learned parameter anywhere in the engine.

The split is honest. The books supply the mechanisms: what gets penalised and in which direction, which is backlog at boundaries, teams that cannot decide locally, incentive skew, contested ownership, fragmentation with nowhere to arbitrate it and concentrated authority priced against the size it has to govern. The magnitudes, the specific coefficients, are engineering judgement from 28 years of practice. No number here is claimed to be derived from theory.

They are held accountable a different way. Every coefficient sits in one published dataclass in one module, every score decomposes into its named penalties and the structural constraints are enforced in code rather than trusted, so a weight you disagree with is something you change and rerun. Scaling every coefficient up and down by a fifth, one axis at a time and then all at once, leaves the published conclusions standing.

What that buys is reproducibility and inspectability, not validity: a deterministic function is exactly as right or wrong every time you run it. The external test that would settle it, scoring real organisations blind to their documented outcomes, is specified and has not been run. The full coefficient table, the assumptions, the places the model is expected to be wrong and that protocol are in What grounds the score.