Skip to main content
Clousight Bench is a core engine + entry-point plugins. The engine knows how to run a benchmark, grade evidence, persist schema-0.2 records, and report; it knows nothing about any specific cloud, task, or dataset. Everything domain-specific — tasks, platform adapters, enrichers, reapers — is a plugin discovered at runtime through Python entry points. The guiding principle: customize by writing a plugin, never by forking the core. The reference domains ship in the package so it works out of the box and so you have a canonical example to copy; your own logic lives in your own package.

The layers

Because the reference domains are themselves registered through the entry-point system, there is nothing special about them — your plugins are first-class in exactly the same way.

The entry-point groups

Register a plugin by advertising an entry point in your package’s pyproject.toml. The engine discovers them with importlib.metadata.entry_points (clousight_bench.core.registry): The adapter’s status literal (skeleton / reference / …) is not flipped by installing a plugin: a skeleton adapter becomes runnable in real mode purely because get_runtime_provider(<provider>) now returns a non-None plugin — i.e. installing the provider plugin wires it, without editing the adapter.

Write your own plugin

A minimal custom domain lives in its own package. Two files plus one entry point:
You never touched the installed clousight-bench. To customize a reference task, either register a task under the same id from a higher-precedence plugin, or copy the reference task’s source (it is open on GitHub) into your own plugin and adjust it there — the installed core stays pristine either way.

Why the reference logic is packaged, not download-only

  • Out of the box: pip install clousight-bench and you can run agent-runtime immediately — no assembling parts.
  • It is the template: the reference domains are the best worked example of a well-formed plugin; you copy their shape for your own.
  • One consistent chain: the data-plane probe ships in the core package too, so an in-region probe carrier just pip install clousight-bench[probe] and has the same probe logic the control plane uses.
  • The source is fully open on GitHub for reading, forking, and PRs — but the primary customization path is a plugin package, not editing installed source.