# Fixtures and diagnostics

`chasing-mastery.connector.json` is both the local project descriptor and the Lab
fixture catalog. Each scenario declares:

- a stable ID and human label;
- connector configuration supplied in `host.initialize`;
- expected source IDs;
- the exact ordered protocol semantic types and count. Connector Lab resolves
  the connector-owned and activity-owned schema files independently and supplies
  the exact reviewed identities to the sidecar.

The generated scaffold's source is intentionally fixture-driven. Replace that
synthetic acquisition logic with real source logic only when the relevant host
grant exists. Keep the fixture path deterministic for replay and review.

Required evidence before review:

1. happy path reaches ready, inventory, health, observations, receipts, stop,
   stopped, and successful process exit;
2. exact duplicate `sourceEventId` returns `duplicate` without a second engine
   commit;
3. malformed protocol frames fail closed;
4. silence triggers ping and an unanswered ping times out;
5. crash/restart stops at the bounded restart budget;
6. terminal stop emits no late source or observation;
7. diagnostics contain safe codes and bounded summaries, never token, password,
   credential, authorization, or raw secret values;
8. any non-empty requested resource set is denied by this Lab version.

`ready` runs every fixture twice and compares normalized evidence before copying
the exact release executable and writing its digest. Timestamped metadata may
differ; behavior and reviewed bytes may not.
