← What Fidelic can run

Receipts

Every figure here is produced by running something, and each block names what. If a number on this site is wrong, the machine is wrong — which is the only failure mode worth having, because it is the one a test can catch.

Generated 2026-09-17 from build c4c9ae9, against emulator image fidelic/emulator:latest reporting 054a4c7. Shipped tier: C1.

Conformance — 68/68

Produced by go run ./cmd/confrun --target=emulator (fidelic-conformance)

Every test is tied to Salesforce's own documentation or to an observation from a real org. A test with no source does not go in.

Denominator: 68 tests in the public fidelic-conformance suite that can run against a stock emulator; 5 skipped for an org prerequisite and 3 pending real-org verification are excluded from both sides of the fraction

Classification over a real codebase — 24%

Produced by sfapex coverage --json <corpus> against NPSP @ 19646faa (force-app)

44 of 177 trigger-context pairs classify EXECUTE, across 7 of 26 triggers. This is a public, real Salesforce codebase, not a fixture we chose.

Denominator: ALL 177 trigger-context pairs declared by the 26 triggers in this corpus. This is NOT the runtime ladder's denominator, which counts only the pairs declared by classified-EXECUTE triggers and is therefore a smaller number over a different population.

The unit is the pair, not the trigger. A trigger declaring seven timings and a one-line before-insert trigger are not the same amount of an org, so counting triggers makes the figure swing on which size of trigger happens to be blocked. On this corpus the two framings differ by three points in our favour, which is why the harder one is published.

The exact words

The capability page uses three plain labels. Your own coverage report uses these, and so does the emulator's boot output.

EXECUTE
Nothing in the reachable code is unsupported, so the interpreter will run your real Apex.
SIMULATED
Your code runs but one or more named things were modelled rather than really done.
Provisional
Faithful behaviour whose response envelope still awaits confirmation against a real org. A different axis from SIMULATED — a capability can be neither, either, or both.
UNRESOLVED
Declined by name, with a reason and a file and line.
RECORDED-ONLY
The code could run, but the event that starts it cannot happen locally: a platform-event subscriber, for instance.

Every capability family

Produced by sfapex capabilities, read from the same maps the classifier consults at runtime — so a capability cannot ship without its label.

These are the internal families the grouped table on the capability page is folded from. They are our tier boundaries rather than Salesforce's vocabulary, which is why they are here and not there.

FamilyWhat it coversVerdictCaveat
async Queueable, @future, Schedulable, Batchable EXECUTE
SIMULATED drained inline after commit, not truly deferred; per-chunk transactions and Database.Stateful are not modelled
callout HttpRequest / HttpResponse outbound calls EXECUTE
SIMULATED answered from a mock registry you register; nothing reaches the network
crypto Crypto.getRandomInteger and friends (seeded) EXECUTE
SIMULATED seeded and reproducible rather than real entropy, which is the property tests need
crypto-unshipped digests, signatures, encryption UNRESOLVED
database Database.insert/update/delete partial-success EXECUTE
Provisional database: SaveResult/Error envelope Provisional (partner-pinned)
database-savepoint Database.setSavepoint and rollback UNRESOLVED
database-unshipped Database.query and Database.merge UNRESOLVED
recorded-effect EventBus.publish and Messaging.sendEmail EXECUTE
SIMULATED captured and readable afterwards, never actually sent
schema describe served from the org's retrieved metadata EXECUTE
Provisional schema: describe labels derived where the metadata carries none; DisplayType modeled as its enum name; == identity on describe results Provisional (SCHEMA-DESIGN §7)
schema-metadata-gated describe answers the retrieved metadata does not carry UNRESOLVED
schema-no-metadata describe for an object no metadata was retrieved for UNRESOLVED
schema-permission isAccessible / isCreateable / isUpdateable / isDeletable EXECUTE
SIMULATED answers as a system-mode user; field-level security is not enforced
schema-unshipped describe surfaces outside the shipped set UNRESOLVED
settings Custom Setting and Custom Metadata reads EXECUTE
SIMULATED org defaults only — no per-user or per-profile resolution

Run it against your own org

docker run --rm -v "$PWD/mdapi":/mdapi:ro \
  --entrypoint /sfapex fidelic/emulator coverage --report /mdapi