Draft site. Snapshot 1's numbers are real measurements. The two grids marked illustrative are not.
Islands of Stability spec v3.0
The first instrument · snapshot 1 measured

The Map

Where does an AI agent keep doing its job as it is given more tools and its tools start failing?

Snapshot 1: measured 27 to 29 September 2026 Pre-registration r4: deposited 26 September 2026, DOI 10.5281/zenodo.22982434 Noise floor: measured 3 local models, 18,720 runs Cadence: at most two snapshots a year

Snapshot 1 swept three open-weight models, run on a local workstation, across the number of tools the agent is given (1 to 6) and the share of its tool calls that fail (0 to 50 percent): 100 runs per cell, in two tool orders, 18,720 runs in all. The rules were deposited before the first run.

The answer, for all three models, is a continent with a slope, not a band with an edge. Adding tools between two and six did not by itself lower success. Every step up in the failure rate did. gpt-oss-20b held 92 percent success with no failures and 50 percent when half its tool calls failed. The two Qwen models held far smaller islands and never produced a fully correct record, because they never computed the invoice total right.

Scope. The principle this site studies is meant to hold across the sciences. This instrument measures one domain, AI agents, on one task. Its two tests are narrower than the theory's propositions 1 and 2, and they say nothing on their own about organizations or any other domain.

Snapshot 1

The grid shows one model at a time. Each cell is the share of runs that succeeded, with its 95 percent interval underneath. The one-tool column is out of scope: the task needs two tools.

Loading the snapshot data.

tools 123456 fault rate (percent) 01020304050 Snapshot 1: the cells fill from the snapshot data loading the snapshot
Snapshot 1. The cells fill from the snapshot data when the page loads.
Viable fraction
pending
Share of cells above 50 percent success. Reported, not a criterion.
Upper tool edge
pending
Negative curvature with an interior peak in the draft r3 model. Proposition 1.
Boundary width
pending
Rungs from 90 to 10 percent success. Claimed only where adjacent cells differ by more than their intervals. Proposition 2.
Recovery time
pending
After a fault injected mid-run, against unperturbed controls. Proposition 2.
Fault-axis shape
pending
Sigmoid versus linear fit. Descriptive, feeds no proposition yet.

Values from the snapshot file. Tiles marked descriptive decide nothing. The two verdicts follow the pre-registered rules.

The verdicts, as pre-registered

Two tests, each scored on its own, on tool order A. The deposit calls them P1 and P2. This page calls them tests 1 and 2 so they are not mistaken for the theory's propositions, which they bear on but do not decide.

ModelTest 1: upper tool edgeTest 2: recovery costIn plain words
gpt-oss-20brestricted
drop 0 points [-7, 7]
survives
+0.8 turns [0.6, 1.1]
No upper tool edge: a drop of 15 points or more at six tools is ruled out. A failure costs +0.8 extra turns, but net of re-asking for the failed data it costs nothing.
Qwen3-14Brestricted
drop 0 points [-13, 13]
survives
+0.8 turns [0.6, 1.0]
No upper tool edge: a drop of 15 points or more at six tools is ruled out. A failure costs +0.8 extra turns, but net of re-asking for the failed data it costs nothing.
Qwen3-4Bbelow resolution
peak 5.7 tools [4.5, ∞]
survives
+0.3 turns [0.1, 0.5]
No edge found: success was still rising at six tools, so there was no peak to fall from. A failure costs +0.3 extra turns, but net of re-asking for the failed data it costs nothing.

Verdict words: survives means the prediction held, restricted means the prediction failed by more than the smallest effect worth reporting, and below resolution means the data cannot tell. The full rules are in the pre-registration.

What else the data show

These reports were committed in writing on 27 September 2026, while the sweep was running and before any of its results were looked at. They are descriptive: none changes a verdict.

ModelSuccess, no failures → half the calls failingFully correctTotal rightGave up after a failureRecovery cost beyond the retry
gpt-oss-20b92% → 50%
92 · 84 · 77 · 64 · 56 · 50
60%60%33%-0.8 turns
[-1.1, -0.6]
Qwen3-14B38% → 21%
38 · 35 · 31 · 28 · 25 · 21
0%0%15%-0.5 turns
[-0.7, -0.4]
Qwen3-4B29% → 18%
29 · 27 · 24 · 22 · 19 · 18
0%0%61%-0.9 turns
[-1.0, -0.8]

Which tool, not how many

The tools arrive in a fixed order, so a change at one step could be the tool, not the count. Tool order B adds the same tools in a different order to tell the two apart. For gpt-oss-20b, the model that could compute the total, the same tool moved success in both orders:

Tool addedMix A: positionMix A: change in successMix B: positionMix B: change in success
web searchtool 3−4 points
[−9, +1]
tool 4+4 points
[−1, +10]
calculatortool 4+5 points
[0, +10]
tool 50 points
[−5, +5]
spreadsheettool 5−6 points
[−11, −1]
tool 3−10 points
[−15, −5]
emailtool 6+3 points
[−2, +8]
tool 6+1 points
[−4, +6]

Change in success when the tool is added, pooled over failure rates, with its 95 percent interval. Bold: the interval excludes zero. For the two Qwen models no step moved success beyond chance in either order. The spreadsheet holds each line's amount and should help, but it hurt in both orders.

Why the spreadsheet hurts. Its numbers are right: all 452 line amounts match the answer key. The trouble is when the model reaches for it. In all 453 runs where gpt-oss-20b opened the spreadsheet, it did so right after the invoice had failed to load. Instead of asking for the invoice again, it switched to the spreadsheet, which has the line items but not the invoice number, date, vendor or currency. In 184 of those runs it never saw the invoice at all, and only 16 percent of the runs that opened the spreadsheet succeeded, against 75 percent of those that did not. So the damage grows with the failure rate: in tool order A, 3 points with no failures and 12 when half the calls fail.

In plain words: a plausible shortcut pulled the agent away from simply trying again. A partial substitute did more harm than the failure it was reaching around. With no failures the model never opened the spreadsheet, and the few points lost there are arithmetic slips of the kind any change to the prompt can shift.

The instrument, checked first

Before the sweep, the noise floor measured how much the instrument itself varies. Each model reran one cell (3 tools, 20 percent failures): 50 times with identical inputs on 20 documents, and 50 times with a new random seed on all 100 documents.

ModelIdentical reruns reproducedOutcome changes, fixed seedsCell success across 50 seedsphiDocuments whose outcome depends on the seed
gpt-oss-20b100%0 of 2071–84%0.6970 of 100
Qwen3-14B100%0 of 2030–33%0.167 of 100
Qwen3-4B100%0 of 2023–27%0.204 of 100

Every identical rerun reproduced its transcript byte for byte, so the setup is exactly repeatable. With new seeds the cell's success moved far less than chance alone would move it (phi below 1), so each cell's interval is wider than it needs to be: the intervals err on the safe side. The Qwen models give nearly the same answer on a document whatever the seed, but gpt-oss-20b does not. The noise floor is reported beside the intervals, never inside them.

How it was run

Task
Invoices
Extract an invoice's fields and submit the record. The invoices are synthetic, and no amounts are printed: each line, the tax and the total must be computed from stated rules.
Axes
2
Tool count, 1 to 6, against the share of tool calls made to fail, 0 to 50 percent in six steps. One-tool cells are out of scope.
Models
3 local
gpt-oss-20b, Qwen3-14B and Qwen3-4B on llama.cpp, one request at a time. No hosted model in snapshot 1.
Runs
18,720
100 per cell per tool order, two orders, three models. Plus 18,000 noise-floor runs.
Intervals
95%
Wilson per cell, Newcombe between cells. The verdicts come from one pre-registered model per test.
Reproducible
Exactly
Every stack passed a three-regime determinism gate, and every identical noise-floor rerun matched byte for byte.

The tool mix

The task needs two tools: fetch_document and submit_record. Each step above two adds one tool in a fixed order. Tool order A, the one the verdicts use:

Tool order B adds the spreadsheet third, then web search, the calculator and email. Both orders ran in snapshot 1. Only order A moves the verdicts, and order B is reported as descriptive, as the pre-registration says. An earlier version of this page called the calculator irrelevant and the spreadsheet a near-duplicate. At the difficulty chosen by calibration neither is true.

What each dial stands for

Experimental variableRepresents hereDoes not claim to measure
Tool countThe number of external systems an agent can reachOrganizational size
Tool-failure rateHow reliable those systems areMarket or environmental volatility
Recovery costThe extra turns an agent spends after a failureOrganizational recovery
Success rateGetting the job done under this fixed harnessGeneral agent capability

The mapping from these dials to the theory's terms is an assumption, not a finding.

The two shapes the map could return

Before the sweep, this page showed the two answers the instrument could give. Both grids are illustrative, not data. Snapshot 1 returned the second shape for all three models: a continent with a slope.

tools 123456 out of scope fault rate (percent) 01020304050 1 tool, 0 percent fault rate: out of scope, the task is defined at two tools- 2 tools, 0 percent fault rate: 88 percent success (illustrative)88 3 tools, 0 percent fault rate: 93 percent success (illustrative)93 4 tools, 0 percent fault rate: 90 percent success (illustrative)90 5 tools, 0 percent fault rate: 61 percent success (illustrative)61 6 tools, 0 percent fault rate: 33 percent success (illustrative)33 1 tool, 10 percent fault rate: out of scope, the task is defined at two tools- 2 tools, 10 percent fault rate: 85 percent success (illustrative)85 3 tools, 10 percent fault rate: 90 percent success (illustrative)90 4 tools, 10 percent fault rate: 86 percent success (illustrative)86 5 tools, 10 percent fault rate: 56 percent success (illustrative)56 6 tools, 10 percent fault rate: 30 percent success (illustrative)30 1 tool, 20 percent fault rate: out of scope, the task is defined at two tools- 2 tools, 20 percent fault rate: 74 percent success (illustrative)74 3 tools, 20 percent fault rate: 81 percent success (illustrative)81 4 tools, 20 percent fault rate: 75 percent success (illustrative)75 5 tools, 20 percent fault rate: 47 percent success (illustrative)47 6 tools, 20 percent fault rate: 25 percent success (illustrative)25 1 tool, 30 percent fault rate: out of scope, the task is defined at two tools- 2 tools, 30 percent fault rate: 52 percent success (illustrative)52 3 tools, 30 percent fault rate: 58 percent success (illustrative)58 4 tools, 30 percent fault rate: 53 percent success (illustrative)53 5 tools, 30 percent fault rate: 35 percent success (illustrative)35 6 tools, 30 percent fault rate: 20 percent success (illustrative)20 1 tool, 40 percent fault rate: out of scope, the task is defined at two tools- 2 tools, 40 percent fault rate: 30 percent success (illustrative)30 3 tools, 40 percent fault rate: 33 percent success (illustrative)33 4 tools, 40 percent fault rate: 31 percent success (illustrative)31 5 tools, 40 percent fault rate: 24 percent success (illustrative)24 6 tools, 40 percent fault rate: 15 percent success (illustrative)15 1 tool, 50 percent fault rate: out of scope, the task is defined at two tools- 2 tools, 50 percent fault rate: 18 percent success (illustrative)18 3 tools, 50 percent fault rate: 19 percent success (illustrative)19 4 tools, 50 percent fault rate: 18 percent success (illustrative)18 5 tools, 50 percent fault rate: 15 percent success (illustrative)15 6 tools, 50 percent fault rate: 11 percent success (illustrative)11 0153045607590100 0 percent success 100 percent success
Illustrative shape, not data: a band. High success sits at two to four tools and falls off at five and six, an upper edge with an interior peak, and decays as faults rise. The one-tool column is out of scope, not a finding.
Table view

Figure A, illustrative values, percent success. Not data. The one-tool column is out of scope: the task is defined at two tools.

Fault rate1 tool (out of scope)2 tools3 tools4 tools5 tools6 tools
0 percent-8893906133
10 percent-8590865630
20 percent-7481754725
30 percent-5258533520
40 percent-3033312415
50 percent-1819181511
tools 123456 out of scope fault rate (percent) 01020304050 1 tool, 0 percent fault rate: out of scope, the task is defined at two tools- 2 tools, 0 percent fault rate: 90 percent success (illustrative)90 3 tools, 0 percent fault rate: 92 percent success (illustrative)92 4 tools, 0 percent fault rate: 91 percent success (illustrative)91 5 tools, 0 percent fault rate: 89 percent success (illustrative)89 6 tools, 0 percent fault rate: 88 percent success (illustrative)88 1 tool, 10 percent fault rate: out of scope, the task is defined at two tools- 2 tools, 10 percent fault rate: 84 percent success (illustrative)84 3 tools, 10 percent fault rate: 86 percent success (illustrative)86 4 tools, 10 percent fault rate: 85 percent success (illustrative)85 5 tools, 10 percent fault rate: 83 percent success (illustrative)83 6 tools, 10 percent fault rate: 82 percent success (illustrative)82 1 tool, 20 percent fault rate: out of scope, the task is defined at two tools- 2 tools, 20 percent fault rate: 72 percent success (illustrative)72 3 tools, 20 percent fault rate: 74 percent success (illustrative)74 4 tools, 20 percent fault rate: 73 percent success (illustrative)73 5 tools, 20 percent fault rate: 71 percent success (illustrative)71 6 tools, 20 percent fault rate: 70 percent success (illustrative)70 1 tool, 30 percent fault rate: out of scope, the task is defined at two tools- 2 tools, 30 percent fault rate: 55 percent success (illustrative)55 3 tools, 30 percent fault rate: 57 percent success (illustrative)57 4 tools, 30 percent fault rate: 56 percent success (illustrative)56 5 tools, 30 percent fault rate: 54 percent success (illustrative)54 6 tools, 30 percent fault rate: 53 percent success (illustrative)53 1 tool, 40 percent fault rate: out of scope, the task is defined at two tools- 2 tools, 40 percent fault rate: 36 percent success (illustrative)36 3 tools, 40 percent fault rate: 37 percent success (illustrative)37 4 tools, 40 percent fault rate: 36 percent success (illustrative)36 5 tools, 40 percent fault rate: 35 percent success (illustrative)35 6 tools, 40 percent fault rate: 34 percent success (illustrative)34 1 tool, 50 percent fault rate: out of scope, the task is defined at two tools- 2 tools, 50 percent fault rate: 21 percent success (illustrative)21 3 tools, 50 percent fault rate: 22 percent success (illustrative)22 4 tools, 50 percent fault rate: 21 percent success (illustrative)21 5 tools, 50 percent fault rate: 20 percent success (illustrative)20 6 tools, 50 percent fault rate: 20 percent success (illustrative)20 0153045607590100 0 percent success 100 percent success
Illustrative shape, not data: a continent. Success at six tools stays within sampling error of the peak, so there is no interior peak and no upper edge, and it decays smoothly with faults. This is the shape that restricts test 1, and the one snapshot 1 found. The one-tool column is out of scope, not a finding.
Table view

Figure B, illustrative values, percent success. Not data. The one-tool column is out of scope: the task is defined at two tools.

Fault rate1 tool (out of scope)2 tools3 tools4 tools5 tools6 tools
0 percent-9092918988
10 percent-8486858382
20 percent-7274737170
30 percent-5557565453
40 percent-3637363534
50 percent-2122212020

Pre-registration

The rules, revision r4, were confirmed by the author decision by decision, frozen with every fixed input hashed, and deposited on Zenodo on 26 September 2026 before any snapshot run: doi.org/10.5281/zenodo.22982434. The deposit holds the rules, their prose version, the configuration and its lock, the method note and the calibration and determinism records.

Test 1, upper tool edge (P1 in the deposit). One logistic regression per model on tool order A: success against tools, tools squared and failure rate, clustered by document.

  • Survives: the curve bends down, its peak lies inside two to six tools, and success at the peak is above success at six tools by more than chance, with no failures.
  • Restricted: no downward bend, a peak outside the range, or a drop at six tools shown to be smaller than 15 points, the smallest effect worth reporting.
  • Below resolution: the data cannot tell.

Test 2, recovery cost (P2 in the deposit). Runs that recovered from an injected failure against the same document without failures: survives when they took more turns by more than chance, restricted when any extra cost is shown to be below one turn, and below resolution otherwise.

Decided before the sweep, 27 September 2026. Every run the server rejected as unparseable model output is recorded with its cause and reported both ways. The verdicts keep the deposited rule. The descriptive reports above were committed before any result was looked at.

The full rules, the smallest effects, the bootstrap and the order in which verdicts are assigned are in the deposit and in the method note inside it.

Threats to validity

The harness

The harness is a pinned Python package: a fixed executable grader, a fault injector, a runner that resumes after any interruption, the statistics and a reviewer's command that recomputes every number from the raw runs. The results bundle, 38,475 files, is deposited as 10.5281/zenodo.23066893 and passes that check exactly. The repository is public at github.com/delimiterbob/islands-harness. The deposited lock identifies the exact code that ran.

The same instrument can map your own agent on your own task before production. That is a service, and it lives at encarnacao.net.

Credited instruments

The Map does not replace any of these. It borrows from most of them.

What none of them publishes is a two-axis viability grid with its tests deposited before the sweep, and within-run recovery with sampling error and a measured noise floor beside it.

What was cut