pog-mcp 0.9.2 → 0.9.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/skill/reference/measurements.md +474 -0
package/package.json
CHANGED
|
@@ -1228,6 +1228,480 @@ N=2000 WIDE_N=1000 npx tsx … # faster; the bar is fixed, the detectable EFFE
|
|
|
1228
1228
|
|
|
1229
1229
|
---
|
|
1230
1230
|
|
|
1231
|
+
## Is a per-player scene weight a decision? (`appr-role.mts`)
|
|
1232
|
+
|
|
1233
|
+
The section above swept engine constants and found nothing that re-prices a
|
|
1234
|
+
squad choice — not because the effects were small, but structurally: every
|
|
1235
|
+
constant it can reach sits in front of BOTH `ofPoint` and `dfPoint`, so it moves
|
|
1236
|
+
the two squads together. Per-player selection weights are the one remaining
|
|
1237
|
+
candidate that creates a **difference between two squads** rather than moving
|
|
1238
|
+
both sides, and they are the axis the tactical-sheet track would ship.
|
|
1239
|
+
|
|
1240
|
+
**The lever measured here does not exist in the engine.** `*_APPR` is a table
|
|
1241
|
+
per POSITION, so two forwards in the same squad are drawn with the same weight
|
|
1242
|
+
and a manager cannot tell them apart. The probe patches `getPlayer` to multiply
|
|
1243
|
+
each candidate's weight by a per-player, per-scene number carried on the player,
|
|
1244
|
+
defaulting to 1 — nothing else — and sweeps that number. So the answer is about
|
|
1245
|
+
the axis, not about one proposed interface.
|
|
1246
|
+
|
|
1247
|
+
### The statistic, and the controls
|
|
1248
|
+
|
|
1249
|
+
Rows are in **win-equivalent share**: a win is 1, a draw is 0.5, every match
|
|
1250
|
+
counts. Deltas are **paired** — every sheet replays one seed column, so the
|
|
1251
|
+
default cell and the swept cell are matched match for match — and the seed
|
|
1252
|
+
depends on the squads and the side and never on the sheet.
|
|
1253
|
+
|
|
1254
|
+
**Bonferroni over m = 13,314 pre-registered comparisons, two-sided: |z| >= 4.62.**
|
|
1255
|
+
That m prices the SEARCHES as well as the tests. A ladder read against the
|
|
1256
|
+
FIXED shipped default costs only its rungs, because an argmax over the ladder
|
|
1257
|
+
could only ever have surfaced one of the contrasts already counted. A comparison
|
|
1258
|
+
whose BOTH sides are data-chosen — "is the optimum interior", which pits a
|
|
1259
|
+
selected rung against a selected neighbour, and "which sheet is the best
|
|
1260
|
+
response", which pits two selected sheets — is charged K(K−1)/2, the number of
|
|
1261
|
+
pairs the search could have surfaced.
|
|
1262
|
+
|
|
1263
|
+
The noise floor is the whole run's, not one section's: **the largest standard
|
|
1264
|
+
error anywhere in this run is 0.59 points of share**, which puts the
|
|
1265
|
+
significance threshold at **2.74 points** and the 80%-power effect at **3.24**.
|
|
1266
|
+
A paired standard error depends on the outcome variance and on the covariance
|
|
1267
|
+
between the two conditions, so it is not constant across sections merely because
|
|
1268
|
+
`N` is — quoting the concentration ladders' own worst cell and extending it to
|
|
1269
|
+
every later null was a review finding on this section. So every effect called
|
|
1270
|
+
large below is an order of magnitude above the run's own floor, and every "no
|
|
1271
|
+
effect" is a claim about a band 2.74 points wide.
|
|
1272
|
+
|
|
1273
|
+
| Control | Result |
|
|
1274
|
+
| --- | --- |
|
|
1275
|
+
| Mirror, both modes (one squad against itself; true z = 0) | z **+0.4** / **−0.5** |
|
|
1276
|
+
| POLICY mirror, both modes (same squad AND same sheet on both sides; true z = 0) | z **+1.0** / **+0.8** |
|
|
1277
|
+
| Patch identity — the patched engine with no sheet vs the stock engine | 1,000 matches identical, **whole `MatchResult`** |
|
|
1278
|
+
| Permutation null — the same ×32 on either of `role-433`'s two byte-identical midfielders | 1,000 matches identical, scoreline and winner |
|
|
1279
|
+
| Dead-scene null — ×1024 and ×0 on the offence table's ZP/PP1/FK1/FK2 columns | 1,000 matches identical, **whole `MatchResult`** |
|
|
1280
|
+
| Zero-weight null — ×1024 on the keeper, whose offence weight is 0 everywhere | 1,000 matches identical, **whole `MatchResult`** |
|
|
1281
|
+
| Paired alignment — the default column, replayed | 10,000 matches, largest per-match difference **0** |
|
|
1282
|
+
| Anti-focus calibration — funnelling `stars-433`'s 12-point defender must LOSE | **−11.6pp** (z −28.9) / **−14.0pp** (z −26.6) |
|
|
1283
|
+
|
|
1284
|
+
<!-- not a payoff table -->
|
|
1285
|
+
|
|
1286
|
+
**Every one of those aborts the run.** The comparison DEPTH in the right-hand
|
|
1287
|
+
column is part of the control rather than an implementation detail: where the
|
|
1288
|
+
claim is that nothing happened at all, the whole `MatchResult` is compared —
|
|
1289
|
+
every event in order, every player stat, every shootout round — because a
|
|
1290
|
+
rewrite that changed which player was drawn while landing on the same score
|
|
1291
|
+
would pass a scoreline check and leave every table below measuring the rewrite.
|
|
1292
|
+
The permutation null is the one exception and deliberately so: there the two
|
|
1293
|
+
players ARE interchanged, so the event names and per-player stats move by
|
|
1294
|
+
construction and only the outcome can be asserted.
|
|
1295
|
+
|
|
1296
|
+
Three are worth naming for what they separate. The **permutation null**
|
|
1297
|
+
separates "the weight moved the ball to a better player" from "the weight
|
|
1298
|
+
perturbed the RNG": moving the same multiplier between two players who are
|
|
1299
|
+
identical to the byte must change nothing, and it does not. The **anti-focus
|
|
1300
|
+
calibration** is the directional negative control —
|
|
1301
|
+
a harness that reported a gain from concentrating on the squad's worst player
|
|
1302
|
+
would be measuring the act of concentrating rather than who is concentrated on,
|
|
1303
|
+
and every row below would be that artefact. The **dead-scene null** doubles as a
|
|
1304
|
+
re-derivation: the probe enumerates the offensive `getPlayer` call sites FROM
|
|
1305
|
+
THE SOURCE, finds `A0 A1 A2 CA1 CA2 PP2` and nothing else, and confirms that a
|
|
1306
|
+
multiplier on the four remaining offence columns is inert — the dead table the
|
|
1307
|
+
plan describes, checked rather than quoted.
|
|
1308
|
+
|
|
1309
|
+
### The concentration curve
|
|
1310
|
+
|
|
1311
|
+
`stars-433` is the focal squad because it is the only published archetype whose
|
|
1312
|
+
players differ inside a position group — three forwards at 28-29 points and four
|
|
1313
|
+
defenders at 12. `role-433` rides along as the other half of the question: its
|
|
1314
|
+
three forwards are identical to the byte, so any movement there is cross-GROUP
|
|
1315
|
+
reallocation with the within-group term pinned at exactly zero.
|
|
1316
|
+
|
|
1317
|
+
| Focal slot (`stars-433`) | ×0 | ×1 | ×1024 | League | Knockout |
|
|
1318
|
+
| --- | --- | --- | --- | --- | --- |
|
|
1319
|
+
| slot 8 — FW, 29 pts, pass 6 shoot 9 | 33.1 | 36.7 | **68.0** | **+31.3pp** | **+35.8pp** |
|
|
1320
|
+
| slot 10 — FW, 28 pts, pass 4 shoot 10 | 33.1 | 36.7 | 64.8 | +28.1pp | +32.3pp |
|
|
1321
|
+
| slot 7 — OMF, 26 pts, alone in his group | 37.5 | 36.7 | 29.2 | −7.5pp | −8.8pp |
|
|
1322
|
+
| slot 1 — DF, 12 pts (anti-focus control) | 38.0 | 36.7 | 25.1 | −11.6pp | −14.0pp |
|
|
1323
|
+
| `role-433` slot 8 — FW, identical to its two peers | 46.9 | 48.1 | 58.9 | +10.8pp | +13.2pp |
|
|
1324
|
+
|
|
1325
|
+
> **Measured on** — `stars-433` (4-3-3, `STARS` slot weights, `ATTACKING` mix
|
|
1326
|
+
> from `squad-lib.mts`: keeper 19, four defenders at 12, midfield 17/16/26,
|
|
1327
|
+
> forwards 29/29/28) against `def-433` (4-3-3, `EVEN` weights, `DEFENSIVE` mix),
|
|
1328
|
+
> which plays the shipped weights in every cell. The two squads never change:
|
|
1329
|
+
> all 212 points, both formations, both sets of kicker flags and the whole
|
|
1330
|
+
> defensive table are byte-identical across every row. The only thing that moves
|
|
1331
|
+
> is one number in front of one player's offensive selection weight, in all six
|
|
1332
|
+
> reachable scenes at once. The last row swaps the focal squad for `role-433`
|
|
1333
|
+
> (`EVEN` weights, `ATTACKING` mix), whose forwards are identical to each other.
|
|
1334
|
+
> **Sample** — 10,000 matches per cell, home and away, SHA-256 seeds; 20,668,000
|
|
1335
|
+
> matches in the run, about four minutes.
|
|
1336
|
+
> **Mode** — both, one column each. League is draws-allowed (`gameFlg 0`),
|
|
1337
|
+
> Knockout is winner-guaranteed. The League and Knockout columns are the paired
|
|
1338
|
+
> delta from the ×1 cell; the ×0/×1/×1024 columns are League shares.
|
|
1339
|
+
> **Effect** — 31.3 percentage points of win-equivalent share in League and 35.8
|
|
1340
|
+
> in Knockout, between two squads that are the same eleven players. That is
|
|
1341
|
+
> nearly three times the largest thing the engine-constant sweep could move
|
|
1342
|
+
> (11.8pp) and larger than any squad-construction axis measured anywhere in this
|
|
1343
|
+
> file. Concentrating on the WRONG player is worth −11.6pp, so the axis is
|
|
1344
|
+
> double-edged rather than free. Even with the within-group term removed by
|
|
1345
|
+
> construction — `role-433`'s identical forwards — pure cross-group
|
|
1346
|
+
> reallocation is still worth 10.8pp.
|
|
1347
|
+
> **Source** — `appr-role.mts`, section (1).
|
|
1348
|
+
|
|
1349
|
+
**The best focal player is not the best finisher.** Slot 8 beats slot 10 by
|
|
1350
|
+
3.2pp in League and 3.5pp in Knockout, and slot 10 is the one with `shoot` 10.
|
|
1351
|
+
That much is measured. **Why is not** — and it cannot be, on a fixed points
|
|
1352
|
+
budget. The two forwards differ in five things at once: `pass` 6 against 4,
|
|
1353
|
+
`dribble` 9 against 10, `shoot` 9 against 10, `defense` 5 against 4, and one
|
|
1354
|
+
point of total; slot 10 also carries the penalty-kicker flag. Moving a single
|
|
1355
|
+
attribute in isolation is impossible when every point spent has to come from
|
|
1356
|
+
another attribute of the same player, so no cell in this probe separates them.
|
|
1357
|
+
|
|
1358
|
+
The candidate mechanism, offered as a hypothesis rather than a result, is the
|
|
1359
|
+
`style = attrs.pass` branch: `playArea2` and `playArea1` both decide
|
|
1360
|
+
pass-versus-dribble-versus-long-shot from `pass` alone, so a low-pass carrier
|
|
1361
|
+
ends possessions with long shots instead of advancing them. What supports it
|
|
1362
|
+
without a cross-player comparison is the scene table below — the same player's
|
|
1363
|
+
multiplier reverses sign between the midfield scene and the box scenes — and
|
|
1364
|
+
what would settle it is an engine change, not another squad.
|
|
1365
|
+
|
|
1366
|
+
### Does the anti-concentration term bite?
|
|
1367
|
+
|
|
1368
|
+
`atkAttrSum` is the selected player's POSITION GROUP total minus his own, so the
|
|
1369
|
+
better the player selected, the less team-aggregate support stands behind him —
|
|
1370
|
+
and `atkRate` varies by scene, so the size of that penalty does too. The
|
|
1371
|
+
question the plan asks is whether that produces a non-flat optimum.
|
|
1372
|
+
|
|
1373
|
+
It is real, and it is not enough. One point of a selected player's total is
|
|
1374
|
+
worth **+1/3** on `ofPoint` directly and costs at most **rate × 0.1 ×
|
|
1375
|
+
teamPow/100** of group support. The largest `O_*_RATE` anywhere in the shipped
|
|
1376
|
+
tables is 1.00, so the loss coefficient never exceeds 0.100 against a gain
|
|
1377
|
+
coefficient of 0.333. The probe prints that arithmetic from the source tables
|
|
1378
|
+
and then measures it against a COUNTERFACTUAL engine with the subtraction
|
|
1379
|
+
deleted:
|
|
1380
|
+
|
|
1381
|
+
| `stars-433` slot 8, all scenes | ×1 | ×8 | ×1024 |
|
|
1382
|
+
| --- | --- | --- | --- |
|
|
1383
|
+
| shipped, League | 36.7 | 49.2 | 68.0 |
|
|
1384
|
+
| subtraction deleted, League | 36.9 | 52.3 | 73.4 |
|
|
1385
|
+
| shipped, Knockout | 34.6 | 49.6 | 70.4 |
|
|
1386
|
+
| subtraction deleted, Knockout | 35.2 | 52.9 | 75.7 |
|
|
1387
|
+
|
|
1388
|
+
> **Measured on** — the `stars-433` vs `def-433` fixture above, played twice:
|
|
1389
|
+
> once on the shipped engine and once on an engine identical except that all
|
|
1390
|
+
> five `atkAttrSum = <group> - <player>.total` sites — including the home-team
|
|
1391
|
+
> DMF path that reads the ball carrier rather than the selected player — are
|
|
1392
|
+
> replaced by `atkAttrSum = <group>`. Nothing else differs; the ×1 row is the
|
|
1393
|
+
> same squads with no sheet at all, so the gap between the two ×1 cells is what
|
|
1394
|
+
> the term is worth to a game nobody has concentrated.
|
|
1395
|
+
> **Sample** — 10,000 matches per cell, home and away, SHA-256 seeds.
|
|
1396
|
+
> **Mode** — both, two rows each.
|
|
1397
|
+
> **Effect** — 5.4 points of share in League (z 13.4) and 5.3 in Knockout
|
|
1398
|
+
> (z 11.2) is what the term is worth AT MAXIMUM CONCENTRATION; at the shipped ×1
|
|
1399
|
+
> it is worth 0.2 (z 0.5) and 0.7 (z 1.4), both inside the sample's own error.
|
|
1400
|
+
> So it takes 5.2 points off a concentration payoff that would otherwise reach
|
|
1401
|
+
> 36.5 — about a seventh — and changes nothing at all about who you should
|
|
1402
|
+
> concentrate on. **0 of the 50 ladders in the one-opponent sections have a
|
|
1403
|
+
> significant interior optimum: 48 put their argmax at a ladder END and the
|
|
1404
|
+
> other 2 peak on an interior rung the sample cannot separate from its
|
|
1405
|
+
> neighbours,** which is undecided rather than monotone and is counted
|
|
1406
|
+
> separately for that reason. Monotonicity is a different question from where
|
|
1407
|
+
> the argmax is — a ladder can dip significantly in the middle and still peak at
|
|
1408
|
+
> the top — so every adjacent rung is tested too: **134 of the 134 ladders swept
|
|
1409
|
+
> anywhere in this run have no significant step against their own direction.**
|
|
1410
|
+
> The curve is steeper without the term and the same shape.
|
|
1411
|
+
> **Source** — `appr-role.mts`, section (2).
|
|
1412
|
+
|
|
1413
|
+
The place where the term is not small is the **lone player in his group**. A
|
|
1414
|
+
4-3-3's single OMF gets `omfAttr − his own total` = exactly zero support, while
|
|
1415
|
+
a forward in a three-man group carries 4.56 points of it into every A1
|
|
1416
|
+
selection. That is most of why slot 7 loses in the table above despite holding
|
|
1417
|
+
26 points: funnelling the attack through him costs the whole group term. It is
|
|
1418
|
+
also a fact about FORMATION rather than about roles — the same player in a 4-4-2
|
|
1419
|
+
would have a partner to be supported by.
|
|
1420
|
+
|
|
1421
|
+
### Scene-dependence: the same player, opposite instructions
|
|
1422
|
+
|
|
1423
|
+
| `stars-433` sheet on slot 7 (the 26-point OMF) | League | Knockout |
|
|
1424
|
+
| --- | --- | --- |
|
|
1425
|
+
| default — no sheet | 36.7 | 34.6 |
|
|
1426
|
+
| ×32 in A2 only | 39.0 (+2.3pp) | 37.5 (+2.9pp) |
|
|
1427
|
+
| ×0 in A0 and A1 only | 38.4 (+1.7pp) | 36.5 (+2.0pp) |
|
|
1428
|
+
| **both — ×32 in A2, ×0 in A0/A1** | **41.4 (+4.7pp)** | **40.1 (+5.5pp)** |
|
|
1429
|
+
| the same ×32 in EVERY scene | 30.7 (−6.0pp) | 27.6 (−7.0pp) |
|
|
1430
|
+
|
|
1431
|
+
> **Measured on** — the `stars-433` vs `def-433` fixture above, with every sheet
|
|
1432
|
+
> applied to ONE slot: the 26-point attacking midfielder, pass 8 dribble 8 shoot
|
|
1433
|
+
> 7, the only OMF in the formation. Every other slot on both squads is
|
|
1434
|
+
> untouched, and the opponent plays the shipped weights throughout.
|
|
1435
|
+
> **Sample** — 10,000 matches per cell, home and away, SHA-256 seeds.
|
|
1436
|
+
> **Mode** — both, one column each; every row clears the corrected bar (|z| 5.8
|
|
1437
|
+
> to 14.4).
|
|
1438
|
+
> **Effect** — 10.7 percentage points of share in League and 12.5 in Knockout
|
|
1439
|
+
> separate the best and worst way of spending the SAME multiplier on the SAME
|
|
1440
|
+
> player: +4.7pp when its sign follows the scene and −6.0pp when it does not.
|
|
1441
|
+
> A per-player slider would have produced the losing row. The scene signs are
|
|
1442
|
+
> stable across modes: A2 positive, A0/A1/CA1/PP2 negative, CA2 inside the noise.
|
|
1443
|
+
> **Source** — `appr-role.mts`, section (3).
|
|
1444
|
+
|
|
1445
|
+
This is the strongest evidence for the `style = attrs.pass` hypothesis above,
|
|
1446
|
+
and it is stronger for being WITHIN one player: the OMF is the squad's best
|
|
1447
|
+
passer, and his multiplier pays in midfield (A2) and costs in the box (A0/A1),
|
|
1448
|
+
where the forwards' `shoot` and their group support both beat him. No squad
|
|
1449
|
+
attribute changes between those rows — only which scene the weight applies to —
|
|
1450
|
+
so the confound that blocks the cross-player comparison is absent here. It is
|
|
1451
|
+
still not proof: A0/A1 differ from A2 in what they reward as well as in who
|
|
1452
|
+
carries, and separating those needs an engine change. **No scene of the
|
|
1453
|
+
forward's own ladder points the other way**, so
|
|
1454
|
+
scene-dependence is a property of the player rather than of the axis: slot 8
|
|
1455
|
+
gives one distinct argmax in both modes, six positive signs in League and five
|
|
1456
|
+
plus one below the bar in Knockout, and not a single negative one.
|
|
1457
|
+
|
|
1458
|
+
### Opponent-dependence, and the round robin that decides it
|
|
1459
|
+
|
|
1460
|
+
| Sheet, `stars-433` | vs `role` | vs `def-433` | vs `def-532` | vs `shootonly` | vs `passonly` | vs `flat` |
|
|
1461
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
1462
|
+
| default | 37.2 | 36.7 | 34.5 | 42.5 | 36.1 | 47.4 |
|
|
1463
|
+
| **carrier** — slot 8 ×32, all scenes | **60.7** | **60.6** | **52.7** | **71.4** | **62.6** | **75.6** |
|
|
1464
|
+
| finisher — slot 10 ×32, all scenes | 58.6 | 58.4 | 52.3 | 68.1 | 59.1 | 72.3 |
|
|
1465
|
+
| playmaker — slot 7 ×32 A2, ×0 A0/A1 | 42.8 | 41.4 | 37.1 | 50.9 | 44.1 | 55.6 |
|
|
1466
|
+
| sheet — playmaker plus slot 10 ×32 in A0/A1 | 54.6 | 51.3 | 44.0 | 67.6 | 57.7 | 71.8 |
|
|
1467
|
+
| tier — slots 7-10 ×8, all scenes | 50.7 | 49.3 | 43.8 | 62.2 | 52.7 | 68.2 |
|
|
1468
|
+
| spread — the four 12-point defenders ×4 | 28.6 | 30.3 | 30.3 | 30.4 | 26.4 | 33.9 |
|
|
1469
|
+
|
|
1470
|
+
> **Measured on** — `stars-433` against six published archetypes built by
|
|
1471
|
+
> `squad-lib.mts` — `role-433`, `def-433`, `def-532`, `shootonly-433`,
|
|
1472
|
+
> `passonly-433`, `flat-433` — every one of them playing the shipped weights.
|
|
1473
|
+
> The focal squad's 212 points never change across the whole grid; only its
|
|
1474
|
+
> sheet does. `tier` is the coordinated policy: four players lifted together at
|
|
1475
|
+
> a smaller multiplier rather than one player at a large one.
|
|
1476
|
+
> **Sample** — 10,000 matches per cell, home and away, SHA-256 seeds; 84 cells
|
|
1477
|
+
> across the two modes.
|
|
1478
|
+
> **Mode** — League shown; the Knockout grid is in the probe output, where
|
|
1479
|
+
> `carrier` runs 54.0 to 78.6 and every margin over `default` is wider. Its
|
|
1480
|
+
> ranking matches this one in five of its six rows — the sixth is the `def-532`
|
|
1481
|
+
> swap in Effect below.
|
|
1482
|
+
> **Effect** — 41.7 percentage points of share separate the best sheet from the
|
|
1483
|
+
> worst against the same opponent (`flat-433`: 75.6 vs 33.9), and the ordering
|
|
1484
|
+
> of the seven sheets is identical in eleven of the twelve opponent-by-mode
|
|
1485
|
+
> cells. The twelfth is `def-532` in Knockout, where `carrier` and `finisher`
|
|
1486
|
+
> swap by 0.1 points of share — inside the sample's own error, which is why the
|
|
1487
|
+
> band there names both. `carrier` sits in every cell's leader band; `def-532`,
|
|
1488
|
+
> the deepest defensive shape in the grid, is the only opponent that pulls
|
|
1489
|
+
> anything level with it. The distinct raw argmax count is **2**, and one of the
|
|
1490
|
+
> two is never beaten anywhere.
|
|
1491
|
+
> **Source** — `appr-role.mts`, section (4).
|
|
1492
|
+
|
|
1493
|
+
That grid holds the opponent's sheet at the default. The next one lets the
|
|
1494
|
+
opponent choose too, on the SAME squad, so the sheet is the only difference:
|
|
1495
|
+
|
|
1496
|
+
| Round robin, `stars-433` both sides | beats significantly (League / KO) | in the unbeaten band |
|
|
1497
|
+
| --- | --- | --- |
|
|
1498
|
+
| carrier | 5 of 6 / 5 of 6 | yes |
|
|
1499
|
+
| sheet | 4 of 6 / 3 of 6 | yes |
|
|
1500
|
+
| finisher | 3 of 6 / 3 of 6 | no |
|
|
1501
|
+
| tier | 3 of 6 / 3 of 6 | no |
|
|
1502
|
+
| playmaker | 2 of 6 / 2 of 6 | no |
|
|
1503
|
+
| default | 1 of 6 / 1 of 6 | no |
|
|
1504
|
+
| spread | 0 of 6 / 0 of 6 | no |
|
|
1505
|
+
|
|
1506
|
+
> **Measured on** — `stars-433` against `stars-433`: the same eleven players,
|
|
1507
|
+
> the same 212 points and the same kicker flags on both sides of every fixture,
|
|
1508
|
+
> with the sheet as the only difference. Twenty-one fixtures per mode.
|
|
1509
|
+
> **Sample** — 10,000 matches per fixture, home and away, SHA-256 seeds.
|
|
1510
|
+
> **Mode** — both; the two modes agree row for row.
|
|
1511
|
+
> **Effect** — 76.0% of the share for `carrier` against `default` in League and
|
|
1512
|
+
> 78.3% in Knockout — a 52-to-57 point win-rate advantage from the weights
|
|
1513
|
+
> alone. **Significant 3-cycles: 0 in both modes.** The unbeaten set — the
|
|
1514
|
+
> sheets nothing significantly beats — holds `carrier` and `sheet`, 1.4 points
|
|
1515
|
+
> of share apart in League and 1.5 in Knockout, under the corrected bar. Read
|
|
1516
|
+
> that as a PARTIAL order and not a total one: 3 of the 21 pairs in League and 4
|
|
1517
|
+
> in Knockout are inside the bar, so "no cycles and a two-member unbeaten set"
|
|
1518
|
+
> leaves some pairs unresolved rather than ranking all seven. What it does
|
|
1519
|
+
> settle is the direction: nothing here beats `carrier`, and no sheet outside
|
|
1520
|
+
> the unbeaten pair is unbeaten.
|
|
1521
|
+
> **Source** — `appr-role.mts`, section (5).
|
|
1522
|
+
|
|
1523
|
+
### Crossing the two — the grid the verdict actually rests on
|
|
1524
|
+
|
|
1525
|
+
The two grids above are one-dimensional slices: one varies the opponent's SQUAD
|
|
1526
|
+
with its sheet pinned to the default, the other varies its SHEET with its squad
|
|
1527
|
+
pinned. A best response can be conditional on the product while both slices
|
|
1528
|
+
share a leader, so neither settles the roadmap question on its own. Multiplying
|
|
1529
|
+
them does:
|
|
1530
|
+
|
|
1531
|
+
Each cell is my best-response BAND against that opponent squad playing that
|
|
1532
|
+
sheet, and — after the bar — the argmax rung of the full concentration ladder
|
|
1533
|
+
swept inside the same cell, so "more is better up to the corner" is checked
|
|
1534
|
+
where the best response is rather than only against one fixed opponent.
|
|
1535
|
+
|
|
1536
|
+
| My best response \| ladder argmax | vs `default` | vs `carrier` | vs `finisher` | vs `playmaker` | vs `sheet` | vs `tier` | vs `spread` |
|
|
1537
|
+
| --- | --- | --- | --- | --- | --- | --- | --- |
|
|
1538
|
+
| `role-433` | C \| ×1024 | C \| ×1024 | C \| ×1024 | C \| ×1024 | C \| ×1024 | C \| ×1024 | C \| ×1024 |
|
|
1539
|
+
| `def-433` | C \| ×1024 | C \| ×1024 | C \| ×1024 | C \| ×1024 | C/F \| ×1024 | C \| ×1024 | C \| ×1024 |
|
|
1540
|
+
| **`def-532`** | **C/F** \| ×1024 | **C/F** \| ×1024 | **C/F** \| ×1024 | **C/F** \| ×1024 | **C/F** \| ×1024 | **C/F** \| ×1024 | **C/F** \| ×1024 |
|
|
1541
|
+
| `shootonly-433` | C \| ×1024 | C \| ×1024 | C \| ×1024 | C \| ×1024 | C \| ×1024 | C \| ×1024 | C \| ×1024 |
|
|
1542
|
+
| `passonly-433` | C \| ×1024 | C \| ×1024 | C \| ×1024 | C \| ×1024 | C \| ×1024 | C \| ×1024 | C \| ×1024 |
|
|
1543
|
+
| `flat-433` | C \| ×1024 | C \| ×1024 | C \| ×1024 | C \| ×1024 | C \| ×1024 | C \| ×1024 | C \| ×1024 |
|
|
1544
|
+
|
|
1545
|
+
> **Measured on** — `stars-433` against all six opponent squads, each of them
|
|
1546
|
+
> playing each of the seven sheets, with all seven of my own sheets AND the full
|
|
1547
|
+
> nine-rung concentration ladder tried against every combination. C is
|
|
1548
|
+
> `carrier`, F is `finisher`; a cell names every sheet the sample cannot
|
|
1549
|
+
> separate from that cell's leader. A second focal squad runs the same grid:
|
|
1550
|
+
> `role-433`, the hard case, since its three forwards are identical to the byte
|
|
1551
|
+
> and only cross-group reallocation is left — against the other five squads over
|
|
1552
|
+
> a reduced sheet set (`default`, `carrier`, `spread`), 30 further cells.
|
|
1553
|
+
> **Sample** — 10,000 matches per cell, home and away, SHA-256 seeds: 114
|
|
1554
|
+
> squad-by-sheet-by-mode cells, 14,700,000 matches in this section alone.
|
|
1555
|
+
> **Mode** — League shown. The Knockout grid differs in three `def-433` cells
|
|
1556
|
+
> and nowhere else: it ties `carrier` with `finisher` against `carrier`,
|
|
1557
|
+
> `finisher` and `tier`, where League resolves, and resolves against `sheet`,
|
|
1558
|
+
> where League ties. `def-532` is C/F in all fourteen of its cells in both modes.
|
|
1559
|
+
> **Effect** — 0 cells out of 114 exclude `carrier` from the best-response band,
|
|
1560
|
+
> and the ladder's argmax is the TOP rung in all 84 cells where it was swept: 84
|
|
1561
|
+
> ends, 0 interior optima, 0 unresolved, and 84 with no significant step
|
|
1562
|
+
> downward at any rung along the way. The distinct raw best-response count is
|
|
1563
|
+
> 2, and the three cells where `finisher` edges ahead on the raw number are all
|
|
1564
|
+
> `def-532` in Knockout, by 0.1 to 0.2 points of share against a 2.74-point
|
|
1565
|
+
> threshold. Every cell of the second focal squad's grid reads C/F, which is the
|
|
1566
|
+
> permutation control showing through rather than a conditional answer:
|
|
1567
|
+
> `role-433`'s slot 8 and slot 10 are the same player twice, differing only in
|
|
1568
|
+
> the penalty-kicker flag. So one sheet is a best response against every
|
|
1569
|
+
> squad-and-sheet combination measured, and concentrating harder is better in
|
|
1570
|
+
> every one of them.
|
|
1571
|
+
> **Source** — `appr-role.mts`, section (6).
|
|
1572
|
+
|
|
1573
|
+
### The other half of the table — defensive selection weights
|
|
1574
|
+
|
|
1575
|
+
`D_*_APPR` picks who contests each scene, and the same multiplier applies there.
|
|
1576
|
+
It is a comparably large lever and it points somewhere surprising.
|
|
1577
|
+
|
|
1578
|
+
| Defensive focal slot | ×1 | ×1024 | League | Knockout |
|
|
1579
|
+
| --- | --- | --- | --- | --- |
|
|
1580
|
+
| `stars-433` slot 8 — FW, defense 5, **29 pts** | 37.2 | **52.0** | **+14.8pp** | **+18.7pp** |
|
|
1581
|
+
| `stars-433` slot 1 — DF, defense 5, 12 pts | 37.2 | 37.8 | +0.6pp | +0.9pp |
|
|
1582
|
+
| `def-433` slot 2 — DF, **defense 9**, 20 pts | 52.4 | 57.1 | +4.7pp | +5.3pp |
|
|
1583
|
+
| `def-433` slot 8 — FW, defense 2, 19 pts | 52.4 | 17.7 | −34.7pp | −35.5pp |
|
|
1584
|
+
|
|
1585
|
+
> **Measured on** — `stars-433` and `def-433`, each against `role-433` playing
|
|
1586
|
+
> the shipped weights. The multiplier is applied to the DEFENSIVE table in every
|
|
1587
|
+
> scene; the keeper's A0 weight is the one entry left alone, and the offensive
|
|
1588
|
+
> table is untouched in all four rows. Both focal squads keep their 212 points
|
|
1589
|
+
> and their formations across every cell.
|
|
1590
|
+
> **Sample** — 10,000 matches per cell, home and away, SHA-256 seeds.
|
|
1591
|
+
> **Mode** — both, one column each. As in the concentration table, the ×1 and
|
|
1592
|
+
> ×1024 columns are League shares and the League/Knockout columns are the paired
|
|
1593
|
+
> delta from that mode's own ×1 cell.
|
|
1594
|
+
> **Effect** — 14.8 percentage points of share in League and 18.7 in Knockout
|
|
1595
|
+
> for funnelling defensive duty onto `stars-433`'s biggest FORWARD, against
|
|
1596
|
+
> +0.6pp for its nominal defender. Every defensive point is
|
|
1597
|
+
> `defense + cond/2 + total/3`, so a 29-point forward with defense 5 outscores a
|
|
1598
|
+
> 12-point defender with defense 5 by more than five points before any group
|
|
1599
|
+
> term. On `def-433`, whose totals are flat, the answer reverts to the defender
|
|
1600
|
+
> with the highest `defense` (+4.7pp) and the forward becomes catastrophic
|
|
1601
|
+
> (−34.7pp). **0 of the 8 defensive ladders have a significant interior
|
|
1602
|
+
> optimum; 7 peak at an end and 1 peaks inside without separating from a
|
|
1603
|
+
> neighbour.**
|
|
1604
|
+
> **Source** — `appr-role.mts`, section (7).
|
|
1605
|
+
|
|
1606
|
+
### Degrees of freedom this probe LEFT free
|
|
1607
|
+
|
|
1608
|
+
The keeper section below was wrong three times in one day and the cause was a
|
|
1609
|
+
different uncontrolled degree of freedom each time. So, explicitly, and knowing
|
|
1610
|
+
that the verdict under this list is a NEGATIVE one — the things left free are
|
|
1611
|
+
the ways it could be wrong:
|
|
1612
|
+
|
|
1613
|
+
- **`cond`.** Fixed at 5 for all 22 players in every cell, as production does
|
|
1614
|
+
today. **This is the load-bearing one.** Concentration here has no cost
|
|
1615
|
+
because involvement has no cost; an involvement-driven form system is exactly
|
|
1616
|
+
the change that would put a price on the ×1024 column, and it would invalidate
|
|
1617
|
+
every row above rather than shift it.
|
|
1618
|
+
- **Growth buffs.** Every squad is tenure 0, so `teamPow` is exactly 100.
|
|
1619
|
+
Production raises effective `total`, which scales BOTH the individual `total/3`
|
|
1620
|
+
and the group term the anti-concentration section measures — so the 5.4pp that
|
|
1621
|
+
section reports is a tenure-0 figure.
|
|
1622
|
+
- **Manager response.** The opponent grid is fixed and nobody re-solves a squad
|
|
1623
|
+
against a sheet. A squad built KNOWING it will funnel one player is a
|
|
1624
|
+
different 212-point problem, and it is not measured here: the co-optimisation
|
|
1625
|
+
of points and weights would only make the effect larger, which is not the
|
|
1626
|
+
direction that would rescue the axis.
|
|
1627
|
+
- **The sheet space.** Seven hand-built sheets and one nine-rung ladder per
|
|
1628
|
+
slot. That is a sample of a space with eleven slots × six scenes of free
|
|
1629
|
+
parameters, not an argmax over it. "No cycle among these seven" and "one best
|
|
1630
|
+
response over the crossed grid" are both claims about these seven — a
|
|
1631
|
+
conditional best response living outside them would read as an answer here.
|
|
1632
|
+
- **The focal squads.** Two, and only one of them (`stars-433`) has players who
|
|
1633
|
+
differ inside a position group at all, so the within-group half of this axis
|
|
1634
|
+
is measured on one roster. The crossed grid runs `role-433` as a second focal
|
|
1635
|
+
squad, but over a reduced opponent-sheet set and with a formation and a set of
|
|
1636
|
+
kicker flags it shares with the first. **Which** player to funnel is already
|
|
1637
|
+
known to be squad-conditional — the defensive table above reverses its answer
|
|
1638
|
+
between `stars-433` and `def-433` — and nothing here says the best focal SLOT
|
|
1639
|
+
is the same on a roster neither squad resembles. What the grid does support is
|
|
1640
|
+
narrower and is what the verdict uses: whether to concentrate at all does not
|
|
1641
|
+
depend on the opponent.
|
|
1642
|
+
- **Set-piece slots.** `squad-lib` pins the FK taker to slot 9 and the penalty
|
|
1643
|
+
taker to slot 10. Slot 10 appears above as a focal player, so its rows carry
|
|
1644
|
+
kicker duty as well as its weight — slot 8, the headline row, carries neither.
|
|
1645
|
+
- **Formation.** Every focal squad is a 4-3-3. The lone-OMF result is a fact
|
|
1646
|
+
about a group of one, and a 4-4-2 would not reproduce it.
|
|
1647
|
+
- **Interactions.** One sheet at a time against the default. Nothing here says
|
|
1648
|
+
what a role sheet does while an engine constant is also moved.
|
|
1649
|
+
- **The defensive keeper slot.** Section (7) leaves the keeper's A0 weight at
|
|
1650
|
+
100 in every cell. Whether a manager should be able to keep his keeper OUT of
|
|
1651
|
+
the 1v1 is a question this probe does not ask.
|
|
1652
|
+
|
|
1653
|
+
### The verdict, and what it means for tactical sheets
|
|
1654
|
+
|
|
1655
|
+
**Detectable: overwhelmingly.** Up to 35.8 points of win-equivalent share on one
|
|
1656
|
+
squad whose 212 points never change, and 76.0% head to head against the same
|
|
1657
|
+
eleven players on the default sheet. Every other section of this file measures a
|
|
1658
|
+
lever by changing the players; this one changes nothing except which of them the
|
|
1659
|
+
ball reaches, and moves more than any of them. The engine-constant sweep — the
|
|
1660
|
+
only other section that holds a squad fixed — moved 11.8pp at its widest and
|
|
1661
|
+
re-priced nothing.
|
|
1662
|
+
|
|
1663
|
+
**A decision: no.** Every diagnostic points the same way. 0 of 50 ladders in the
|
|
1664
|
+
one-opponent sections have a significant interior optimum — 48 peak at an end,
|
|
1665
|
+
the remaining 2 peak inside without separating from a neighbour — 84 of 84
|
|
1666
|
+
ladders swept INSIDE a crossed cell peak at the top rung with nothing
|
|
1667
|
+
unresolved, and all 134 ladders in the run are free of any significant step
|
|
1668
|
+
against their own direction. The anti-concentration term is real but worth about a seventh of the
|
|
1669
|
+
payoff, and it changes the slope without changing the answer. The round robin
|
|
1670
|
+
finds zero 3-cycles in either mode and an unbeaten set of two sheets 1.4 points
|
|
1671
|
+
of share apart. And the crossed grid — every opponent squad against every
|
|
1672
|
+
opponent sheet, on two focal squads, 114 cells — never once excludes `carrier`
|
|
1673
|
+
from the best-response band. **Concentration is monotone: more is better, up to
|
|
1674
|
+
the corner, against every squad and every sheet measured.**
|
|
1675
|
+
|
|
1676
|
+
So the axis is not a decision *yet*, and the word doing the work is `cond`. The
|
|
1677
|
+
reason concentration is free is that involvement costs nothing — the eleventh
|
|
1678
|
+
selection of a player is exactly as good as his first, because `cond` is a
|
|
1679
|
+
constant. That is what a form system changes, and it is the one change that
|
|
1680
|
+
could put an interior optimum on these ladders. **Roles before form would ship
|
|
1681
|
+
the largest monotone answer in the game.**
|
|
1682
|
+
|
|
1683
|
+
Two things in the tables above survive that verdict and are worth keeping:
|
|
1684
|
+
|
|
1685
|
+
- **Scene shape is where the interesting half lives.** The same multiplier on
|
|
1686
|
+
the same player is worth +4.7pp or −6.0pp depending only on which scenes it
|
|
1687
|
+
applies to, and the best focal player is the best PASSER rather than the best
|
|
1688
|
+
finisher. Whatever a sheet eventually exposes, a single "involvement" slider
|
|
1689
|
+
would throw both away.
|
|
1690
|
+
- **The defensive table is a second lever of the same size and nobody has looked
|
|
1691
|
+
at it.** On a squad with uneven totals the best defender to funnel duty to is
|
|
1692
|
+
the biggest FORWARD, because `total/3` is in every defensive point. That is
|
|
1693
|
+
either a feature to expose or a formula to reconsider, and it is decided by
|
|
1694
|
+
the same track.
|
|
1695
|
+
|
|
1696
|
+
Re-run after any engine change:
|
|
1697
|
+
|
|
1698
|
+
```bash
|
|
1699
|
+
npx tsx packages/mcp/skill/reference/probes/appr-role.mts # ~21M matches, ~4 min
|
|
1700
|
+
N=2000 npx tsx … # ~50s; the bar is fixed, the detectable EFFECT moves
|
|
1701
|
+
```
|
|
1702
|
+
|
|
1703
|
+
---
|
|
1704
|
+
|
|
1231
1705
|
## Note for the maintainers
|
|
1232
1706
|
|
|
1233
1707
|
> **2026-08-19: this note was rewritten twice in one day.** First it said the
|