# NEW — 2026-10-13: Exact-card stat calculation lab

Status: original, reproducible software calculation. No gameplay measurements or in-game validation have been collected for this lab. This is not an empirical booster benchmark, an optimized build, or a purchase recommendation.

## What was frozen

The exact card is Lazar Samardžić, ID `387113187158919`, Featured, AMF, maximum level 38. Its exact local record, including all base attributes and source references, is in `exact-card-calculation-2026-10-13-snapshot.json`.

The local reconciled dataset `data/pesdata/efootball_super_db.json` was captured for this publication on **2026-10-13**. That capture date does not establish freshness of every record. This card's recorded source observation is **2026-08-19T00:10:43.753Z**, at `https://efootbase.com/players/142215/387113187158919`. The recorded source label is `Store / Special Card`; a card release date and game version are **unknown**. No source fetch was performed for the lab. The full dataset SHA-256 and the frozen input SHA-256 are in the output JSON. The update pipeline exports this dataset and uses it for its optional Mongo import; the live database may differ from the frozen export.

## Two explicit configurations

Both use the same frozen card, level 38, a synthetic manager proficiency of 88, no boosters, no per-attribute manager bonuses, and no stat cap. Condition and platform effects are not modeled. Available budget is `(38 - 1) * 2 = 74`, matching the training panel's budget rule.

- A: all ten categories set to zero. Spent budget: 0/74. A includes the modeled proficiency bonus, so it is not the raw database base.
- B: shooting 4, passing 8, dribbling 8, dexterity 8, lower body strength 8, aerial strength 4, defending 10, GK 1/2/3 zero. The actual progression cost is `4 + 12 + 12 + 12 + 12 + 4 + 18 = 74`.

For each football attribute, sum the points from the actual `PlayerTrainingPanel.tsx` category mapping, then call the actual `calculateFinalStat(base, added, 88, 0, 0, null)` export. It adds the modeled manager bonus to `base + added`. The exported `trainingCost` calculates allocation cost. Each output row includes base, added points, manager bonus, final value, and B minus A. Numeric biography fields and overall ratings are excluded. No rounding or hidden correction is applied.

The exact calculator source is downloadable as `exact-card-calculation-2026-10-13-calculator.ts`. Its SHA-256 and the panel source SHA-256 are recorded in the output JSON. Source hashes use UTF-8 with LF line endings, making Windows Git newline conversion immaterial; the downloaded calculator uses that encoding. The full dataset hash covers its original bytes. The extracted category mapping is also included in JSON.

**Known mapping discrepancy:** this record uses `set_piece_taking`, while the panel's shooting category uses `place_kicking`. We preserve the current mapping rather than silently replacing it. `set_piece_taking` therefore receives no shooting allocation gain in this lab. This demonstrates current software behavior; it is not a claim that the game uses that mapping.

## Reproduce without the full dataset

In the repository, use Node and the installed TypeScript dependency:

```sh
node scripts/generate_card_calculation_evidence.js
node scripts/test_card_calculation_evidence.js
```

The default generator reads the frozen snapshot, runs the current calculator and actual panel mapping, and writes deterministic JSON/CSV plus a calculator source copy. It does not fetch, mutate a database, or require the large dataset. The test compares outputs byte for byte and verifies the recorded calculator/mapping digests. If the current calculator changes, old outputs must be reviewed rather than relabelled as unchanged evidence. `--capture` is an explicit maintainer operation for replacing the snapshot from the local export; do not use it to reproduce the existing publication.

For an independent arithmetic check, the frozen calculator, snapshot and output JSON contain all inputs. Compile the calculator with TypeScript, use the published category mapping and allocations, and compare the resulting 26 rows and costs. The CSV is a flattened export of those same rows.

## Tool links and limits

`/player/387113187158919` and `/compare-players?player1=387113187158919&player2=387113187158919` use the supported exact-ID route and comparison query. Comparison opens the same card in both slots; it does **not** automatically restore A and B. Enter the published levels, manager assumptions and category allocations manually. Live tools use current data and may differ from the historical snapshot; route/query compatibility was checked against code, without a live database request.

The page's earlier illustrative gameplay benchmarks remain withdrawn. This calculation does not establish a win rate, animation activation, speed in km/h, a soft cap, or a real-match advantage. A gameplay study still requires a game version, platform, controlled comparison, sample size, raw observations and uncertainty. Maintainer: eFootMeta editorial.
