Skip to main content
The core orchestrates a fixed lifecycle; everything product-specific is a plugin. This page names the load-bearing types and the entry points that register them. For line-level code questions, use the in-page Ask assistant or DeepWiki.

Result contract

A run emits a ResultRecord (schema 0.2): status (completed / failed / invalid / unsupported), measurements (each with value, unit, evidence), findings (each with a stable code, severity, evidence), and fingerprints (benchmark / environment / implementation / record_digest). See Architecture for the full field table.

Plugin base classes

A Task implements config() (controlled inputs), execute() (raw observation only), score() (a pure function of the bundle), and carries task_revision / scorer_revision.

Entry points

Third-party packages extend the harness by declaring these entry points (see pyproject.toml):
  • clousight_bench.domains — domain packs
  • clousight_bench.runtime_providers — cloud runtime providers
  • clousight_bench.resource_reapers — orphan-resource reapers
  • clousight_bench.enrichers — post-run enrichers (e.g. pricing)
  • clousight_bench.span_exporters — trace span exporters
See Extending (plugins) for a worked example.