Contour: the notation of this book
This is the specification of the visual notation that Landscape uses for every figure of an organisation's AI and architecture estate. It is a reference for authors, editors, the renderer (scripts/render_landscape.py) and the schema (landscape/schema/landscape.schema.json). Chapter 4 teaches the notation to the reader; Part III teaches how to populate it; Appendix A carries the reference card and Appendix B the hand-drawing pages. The name Contour is proposed by the production team and recorded in HANDOVER.md for the author's decision, with the alternatives Terrain, Relief and the Landscape notation.
The notation has one purpose: to draw the landscape in which architecture is code and AI works alongside people and as agents the same way every time, so that two organisations can be compared at a glance, a year of change can be read on one page, a supplier and a jurisdiction can be placed, and the reader can see who decides. It does for this landscape what Gapminder's bubble chart did for the world's countries: a fixed set of axes, sizes and colours that mean the same thing in every picture. It is drawable by hand on a whiteboard in five minutes, and the renderer makes the sketch exact, not possible.
The unit of drawing
The thing drawn is an AI use: one way in which an organisation puts a model to work, with the people who work with it. It corresponds to one entry in the AI inventory that AI Governance, Chapter 9, defines (the model's field for its identifier is ai_system_register), one mandate manifest, the written mandate of an agent kept as code that The Transformed Security Architect, Chapter 13, defines on the written mandate of AI Red Team, Chapter 7, or one delegation profile that AI Boss, Chapter 4, introduces and Chapter 25 keeps in a register. A unit is not a model, not a vendor and not a product: the same model used in two ways is two units, and one product that acts in two ways (an assistant that drafts, and an agent that files) is two units. Each unit is one mark.
The seven dimensions
Every mark carries seven dimensions. Nothing else is encoded; what is left out is listed at the end.
| # | Dimension | Encoding | Scale |
|---|---|---|---|
| 1 | Autonomy: what the AI may do without a person approving each action | horizontal position (column) | Level 0 Advisory, Level 1 Assisted, Level 2 Supervised, Level 3 Bounded, Level 4 Autonomous (AI Red Team, Chapter 6) |
| 2 | Reversibility: what it would take to undo the action the AI takes or shapes | vertical position (row); the hardest to reverse at the top | R1 Reversible at once, R2 Reversible with effort, R3 Hard to reverse, R4 Irreversible |
| 3 | Reach: how many people the unit's actions touch in a year | area of the mark | S under 100, M 100 to 999, L 1,000 to 9,999, XL 10,000 and more |
| 4 | Usage mode: how the organisation came to use the model | fill colour | Mode 0 Ambient AI, Mode 1 Conversational assistants, Mode 2 Embedded workplace assistants, Mode 3 Agentic work tools, Mode 4 Built AI applications, Mode 5 Autonomous production agents (AI Governance, Chapter 2) |
| 5 | Identity: with whose permissions the unit acts | shape | circle: a person's identity; rounded square: an identity of its own |
| 6 | Control: whether a policy decision point outside the model enforces what the unit may do, and whether a named person holds the decision right | a small diamond on the left edge (policy point) and a small grey seat above the mark carrying the decision tier (T1 to T4) | policy point: enforced (filled), planned (hollow), none (absent); decision tier: T1 operator or user, T2 system owner or architect, T3 executive, T4 board or elected body; T0 nobody named (seat absent) |
| 7 | Evidence: where proof that the controls hold comes from | a short baseline under the mark | automatic (solid: produced by the system: logs, tests, gates and policies as code), attested (dashed: declared by a person or supplier, including signed attestations), none (absent) |
Three frames place the marks: the boundary frame (containers for the organisation, suppliers and jurisdictions), the time frame (trails between two dates) and the comparison frame (two landscapes side by side at the same scales). The frames add no dimension; they arrange the same marks.
Why these seven
Rosling's four income levels replaced two boxes because the data lay on a continuum and the boxes hid it. The seven dimensions replace the one box labelled "AI" because the seven volumes of The Transformed Architecture found, independently, that these are the properties that decide what an AI use can do to an organisation and the people it serves: the mode decides who is accountable and what law applies (AI Governance); the autonomy level decides whether a person approves each action (AI Red Team); reversibility decides which level is defensible (AI Red Team, AI Threat); identity decides whose permissions are at stake (AI Platform and Security); the policy decision point outside the model decides whether a limit is a rule or a hope (AI Governance, The Transformed Security Architect); the decision right decides who answers (AI Boss); and evidence decides whether any of this can be shown to be true (Architecture as Code). docs/FOUNDATIONS.md records the conclusions.
The scales, defined
Autonomy level (columns)
The five levels are taken, by their exact names, from AI Red Team, Chapter 6. The level belongs to a unit in a context and describes the action the unit takes, not the model's capability.
| Level | The AI | A person |
|---|---|---|
| Level 0 Advisory | suggests | decides and acts |
| Level 1 Assisted | drafts the action | reviews and executes it |
| Level 2 Supervised | executes after explicit approval of each action | approves each action |
| Level 3 Bounded | executes pre-approved, reversible actions within a codified playbook | is informed and can stop it |
| Level 4 Autonomous | selects and executes actions without per-action approval | sets the bounds in advance |
A unit that performs more than one kind of action is drawn at the highest level it holds for any action that changes something outside the unit; read-only actions such as enriching an alert, reading telemetry or researching do not set the column, because autonomy over a read changes nothing that would need undoing. The decision-rights view (below) shows the levels per action class, read-only ones included.
Reversibility (rows)
| Tier | Meaning | Examples |
|---|---|---|
| R1 Reversible at once | the person or operator can undo it in minutes and nothing has left the organisation | a draft, a suggested ranking, a quarantined email, a summary |
| R2 Reversible with effort | undoing takes hours to days and a known procedure | a routed case, a roster, a merged code change, a published answer that can be corrected |
| R3 Hard to reverse | a person's outcome, money or disclosed data is affected and reversal takes weeks and a process | a benefit application deprioritised for a month, a premium quoted, a production configuration changed, a dismissal recommended |
| R4 Irreversible | physical, safety, legal finality, destroyed records or disclosure to the world | a deleted archive, a published personal dataset, a physical actuation, a final administrative decision taken without a person |
The top-right cell of the landscape, Level 4 Autonomous at R4 Irreversible, is the empty corner: the series' conclusion that Level 4 is never used for irreversible actions means that a well-governed landscape has nothing there. The notation shades that cell faintly in every view so that anything drawn in it is visible at once, and tests/test_landscape_models.py fails on any model that places a unit there unless the unit's notes say "empty corner" explicitly, so that an exception is a visible, deliberate record.
Reach (size)
Reach is the number of people whose work or whose outcomes the unit's actions touch in a year: staff who use it, residents or customers whose cases it orders, answers or decides. It is drawn as one of four fixed sizes so that it can be sketched by hand: S, M, L, XL. The renderer uses radii in the ratio 1 : 1.6 : 2.4 : 3.4. Reach is a count of people, never of transactions, so that a unit touching about 40,000 claims a month that concern far fewer people than claims is XL by people.
Usage mode (colour)
The six modes are taken from AI Governance, Chapter 2, by their exact names. Each has one colour, fixed in docs/chart_palette.json and validated for colour-vision deficiency by scripts/validate_palette.py (see docs/VISUAL_IDENTITY.md). The colour is always accompanied by the mode's number inside or beside the mark, so that no figure depends on colour alone.
Identity (shape)
A circle means the unit acts with a person's identity and permissions: a conversational or embedded assistant, an agentic work tool run by a developer, a built application that drafts for a named user. A rounded square means the unit acts with an identity of its own: a service account, a workload identity, an agent with its own credentials, a vendor feature that acts under the vendor's identity. The shape is the first thing to check when a mark sits at Level 3 or Level 4: a square there is an agent; a circle there is a person's account being used without that person approving each action, which this book calls delegated access without delegation, a case of the collapse into one identity of the AI component and the person on whose behalf it acts, the most common identity mistake according to AI Platform and Security, Chapter 12.
Control (diamond and seat)
The policy point is drawn as a small diamond on the left edge of the mark: filled when a policy decision point outside the model enforces what the unit may call, read, write or send; hollow when one is planned; absent when there is none. A Level 3 Bounded mark without a filled diamond is drawn, by rule, with a thin red outline, because AI Red Team, Chapter 6, concludes that a Level 3 capability without a policy point is Level 4 with a misleading label.
The seat is a small grey circle above the mark carrying the decision tier of the person who holds the decision right for the unit: T1 the operator or user, T2 the system owner or architect, T3 an executive, T4 the board or an elected body (the management body of a financial entity counts as the board). The seat is absent when nobody is named (T0). People are drawn in the notation only here, as the neutral grey of the seat, because the book's question about people is who decides, not where they sit in the organisation chart.
Evidence (baseline)
A short line under the mark says where proof of control comes from: a solid line for evidence the system produces (logs, test results, evaluation gates and policies as code), a dashed line for evidence a person or a supplier declares (a questionnaire answer, a contract clause, a policy document, a signed attestation), and no line where there is none. In the evidence view the kinds logs, tests and gates are drawn as automatic and attestations as attested, whatever the unit's summary field says. The evidence view (below) gives the detail.
The three frames
Boundary
Containers are drawn as rounded rectangles: a solid border for the organisation's own boundary (its premises, its tenant, its data centre); a dashed border for a supplier that operates, hosts or supplies a model to the unit, labelled by the supplier's role (model provider, hosting, application, operations), never by brand; a dotted border for a jurisdiction outside the EU and the EEA. A mark is placed in the container of the supplier that hosts it, or, failing that, that supplies its application or operates it; a mark hosted on the organisation's own premises sits inside the organisation's solid boundary. A mark with a thin line to a small chip labelled "model" takes its model from a supplier other than the one whose container it sits in; a unit whose only supplier is a model provider sits inside that provider's dashed container and needs no chip. Containers nest: a supplier inside the EU sits inside the EU area; a supplier outside it sits inside a dotted container labelled with the jurisdiction.
Time
Change is drawn as a trail: a hollow outline of the mark at its earlier position, a thin line, and the filled mark at its later position, with the two dates in a strip under the view. Only marks that changed cell (level or reversibility) carry a trail; other changes show in the later state of the mark. A mark that appeared during the period has a small "new" tick beside its label, since it has no earlier position; a mark that was retired is drawn hollow with a cross. In every view, a unit whose status is paused is drawn hollow and a retired unit hollow with a cross; a planned unit is not drawn before its since date. Trails use the mark's colour. No more than two dates are drawn in one view; a year is drawn as its start and its end, and the chapter says what happened between.
Comparison
Two landscapes are drawn side by side at identical scales, identical sizes and identical colours, with a shared legend between them and a summary strip under each: the number of units per mode and per level, and the number of marks with a filled diamond, a seat and a solid baseline. Nothing in a comparison view may be rescaled to fit.
The six standard views
Each view is defined once here, has a fixed file name pattern, and is used throughout the book without redefinition.
| View | What it shows | File name | Hand-drawing page |
|---|---|---|---|
| V1 The one-page landscape | every unit as a mark on the autonomy by reversibility grid, with size, colour, shape, diamond, seat and baseline | docs/images/view_<org>_landscape_<date>.png |
Appendix B, page 1 |
| V2 The landscape over time | V1 with trails between two dates | docs/images/view_<org>_year_<from>_<to>.png |
Appendix B, page 2 |
| V3 The supply and sovereignty view | the same marks placed in boundary containers: the organisation, EU and EEA suppliers by role, non-EU jurisdictions, with model chips | docs/images/view_<org>_supply_<date>.png |
Appendix B, page 3 |
| V4 The decision-rights view | one row per unit, sorted by level and id; a bar from Level 0 to the unit's ceiling, with a thin bar per action class where the unit holds several; the seat with its tier at the ceiling; the diamond at the ceiling, filled where the policy point is enforced and hollow where it is planned; the Level 4 column shaded for units at R3 or R4 (the empty-corner rule extended to the hard-to-reverse row) | docs/images/view_<org>_decisions_<date>.png |
Appendix B, page 4 |
| V5 The evidence view | one row per unit; columns for the kinds of evidence (logs, tests and evaluations, gates and policies as code, attestations, none); filled cells for automatic evidence, hatched for attested | docs/images/view_<org>_evidence_<date>.png |
Appendix B, page 5 |
| V6 The comparison view | two V1 views side by side with the shared legend and summary strips | docs/images/view_compare_<orgA>_<orgB>_<date>.png |
Appendix B, page 6 |
The renderer produces every view as SVG and PNG from a committed model and never from hand-placed coordinates. A figure of Nordvik Region or Hansa Mutual that is not produced by scripts/render_landscape.py from a file in landscape/models/ may not appear in the book (tests/test_landscape_models.py).
The legend
Every view carries the same legend in its margin, in this order: the five columns and four rows named; the four sizes; the six mode colours with their numbers; the two shapes; the diamond (filled, hollow); the seat with "T1 to T4"; the baseline (solid, dashed); and, where the view uses them, the three container borders and the trail. The legend fits in a strip about 50 mm wide at the right of an A4 page or under the view on a landscape slide. The renderer places it; the hand-drawing pages show it drawn by pen.
What is deliberately left out
The notation does not draw: model names, versions or vendors (they belong to the supply view as roles and to the AI system register as text); accuracy, benchmark or cost figures; the components, data flows and interfaces of a system (the diagrams of Architecture as Code and AI Platform and Security do that); organisation charts and reporting lines (the seat says who decides, not who reports to whom); the legal classification of a unit (high-risk or not), because it follows from the use and the law, and the chapters say it in words; and any judgement of value. A landscape is a picture of what is, drawn so that the reader can judge.
The landscape model (landscape as code)
The notation is backed by a machine-readable model, landscape/schema/landscape.schema.json, with one YAML instance per organisation in landscape/models/. The model records, for each unit, the seven dimensions, the containers it sits in, the supplier roles it depends on, the registers of the series that populate it, and a timeline of changes by date. The fields are chosen so that the registers the series already defines can fill them: the AI inventory and usage modes of AI Governance (mode, since, owner, hosting), the autonomy levels of AI Red Team and the mandate manifests of The Transformed Security Architect (level, policy point, decision holder, stop path as evidence), and the delegation register of AI Boss (decision tier per management function). Chapter 14 says how. The key fields are:
schema_version: "1.0"
illustrative: true
organisation:
id: nordvik # short id used in file names
name: Nordvik Region
kind: public-authority # or enterprise
home_jurisdiction: EU
snapshots:
- {date: "2027-01-01", label: "Start of the year"}
- {date: "2027-12-31", label: "End of the year"}
suppliers:
- {id: triagesoft, role: application, jurisdiction: EU, label: "Benefits-triage application provider"}
units:
- id: NR-BT # stable id, used in captions
name: Benefits-triage system
since: "2026-01-01"
mode: 4 # 0 to 5
identity: own # person | own
level: 0 # 0 to 4
reversibility: R3 # R1 to R4
reach: XL # S | M | L | XL
policy_point: enforced # enforced | planned | none
decision_tier: T2 # T0 to T4
evidence: automatic # automatic | attested | none
evidence_kinds: [logs, tests, gates]
operated_by: self # self | supplier
hosting: own-premises # own-premises | eu-supplier | eea-supplier | non-eu-supplier | unknown
suppliers: [triagesoft] # ids of entries in suppliers
status: active # planned | pilot | active | paused | retired
timeline:
- date: "2027-10-01"
evidence_kinds: [logs, tests, gates, attestations]
When a field is not known, the model does not guess: decision_tier: T0, policy_point: none, evidence: none and hosting: unknown are drawn as absences, and the absence is the finding. For mode, level, reversibility and reach, which have no unknown value, the model records the worst defensible case and says so in notes ("level not decided"), so that the mark is drawn where the risk would be if nobody decides.
suppliers lists each supplier once with its role (model, hosting, application, operations) and jurisdiction (EU, EEA, non-EU), and never a brand. The unit's top-level fields are its state at the start of the modelled period; each timeline entry overrides fields from its date onwards. The renderer takes --at <date> and applies the timeline up to that date; --from and --to draw V2; --check re-renders every view and fails if a committed file differs. The legend strip is about 50 mm wide at 9 pt; the hand-drawing pages show it drawn by pen.
Reading a landscape in thirty seconds
- Look at the empty corner first. Anything there is the first question to ask.
- Count the squares at Level 3 and above. Those are the agents. Each should have a filled diamond and a seat.
- Find the marks without a seat. Nobody decides about those.
- Find the dashed baselines at R3. Those are the controls whose proof is a promise.
- Look at the colours. Mode 0 marks without a seat are AI nobody chose; Mode 5 marks are AI that acts.
- Then, and only then, read the names.