# Item "example": result

## Changed files
- `examples/rollups.json`: the six supplied snapshot rows. They are in the given input order and schema key order, written as two-space JSON with a trailing newline, and every row has `dataAvailability: "ethereumBlobs"`.
- `examples/expected.txt`: generated by `node src/cli.ts examples/rollups.json`.
- `examples/expected.json`: generated by `node src/cli.ts --json examples/rollups.json`.
- `test/examples.test.ts`: 10 offline `node:test` tests. They check that the input JSON is in canonical form, that order and key order are kept, that all six rows validate (together and one at a time), each row's score and its sum of factor points, the ranking and ranks 1..6, that the library's JSON equals `expected.json`, that CLI table output equals `expected.txt` byte for byte, that CLI `--json` output (flag before or after the path) equals `expected.json` byte for byte, and the trailing newlines and table contents.
- `docs/example-sources.md`: provenance of the 2026-10-27 snapshot, L2BEAT project links, a table of values, how each field was mapped, and all the caveats from the brief. Supplied facts are kept apart from corroborated claims, and the doc states that none were corroborated.

## Checks run
- `node --test test/examples.test.ts`: 10 tests, 10 passed, 0 failed.
- `npm test` (`node --test test/*.test.ts`): 56 tests, 56 passed, 0 failed (46 existing + 10 new).
- I checked by hand that the totals follow the rubric in `docs/architecture.md`. For example, Base's council is 8/11 ≈ 0.727, which is at least 2/3 but below 3/4, so it gets 10 upgrade points.

## Expected vs actual
The scores and ranking match what the brief states: Arbitrum One 85, OP Mainnet 75, Base 70, Starknet 65, ZKsync Era 50, Scroll 45.

One mismatch is in the brief itself. A caveat says "Base's validity label simplifies its hybrid TEE/ZK system", but Base's supplied row has `proofSystem: fraud` with permissionless proving. I kept the row as supplied, because the stated score of 70 depends on permissionless proving being true. The doc records this mismatch. Either label earns the same 20 proof-system points.

## Deferred until the wave merges
- Checking the fixtures against the concurrently written README (I did not depend on it).
- Re-running `npm test` on the merged trunk in case `src/` output wording changes. If it does, regenerate both fixtures with the two CLI commands above.
