Check your plugin¶
Every contract meant to be implemented outside this package is runnable as a check — against your own code, with nothing from this repository:
skyfall-crl conformance --env mypkg.envs:make --tier 2
skyfall-crl conformance --reward mypkg.rewards:MyComponent
skyfall-crl conformance --algorithm mypkg.algos:make
skyfall-crl conformance --regime mypkg.providers:MyDetector
skyfall-crl conformance --env mypkg.envs:make --algorithm mypkg.algos:make # + a short real run
A module not installed as a package loads with --plugin path/to/module.py first, exactly as
run does. Tutorial L3 shows a full passing report
— nine ok lines for a Tier-2 environment, ending with the one the benchmark rests on: the
configuration is not visible in the observation.
Reading the result. Failures come in two severities:
a required failure means the implementation will not work, and drives the exit code (1); a
recommended failure means it works and gives something up — not reproducible under a seed,
not exportable — and exits 0 saying so. Fix required failures before building anything on top;
treat recommended ones as decisions to make knowingly.
When to run it. At the end of writing any plugin (each recipe in Extending ends here), and again after upgrading this package — the checks are written from the shipped contracts, so they are also how a contract change reaches you as a named failure rather than a subtle break.