eval_magic/adapters/mod.rs
1//! The harness adapter layer.
2//!
3//! [`harness`] defines the [`HarnessAdapter`] trait — the single API generic
4//! dispatch code uses to reach harness-specific behavior. Each harness's
5//! declarative half lives in its embedded descriptor file
6//! (`harnesses/<label>.toml`, loaded by [`descriptor`] and served through the
7//! generic [`descriptor_adapter`]); the code-backed features a descriptor
8//! references by name live in [`capabilities`], backed by the per-harness
9//! module trees ([`claude_code`], [`codex`], [`opencode`]): transcript
10//! parsers, plugin-shadow detection, slug sanitization. The write guard is
11//! pure descriptor data rendered by the generic engine in [`guard`].
12//! The [`registry`] loads the descriptors into label-keyed entries and owns
13//! harness-identifier resolution; generic code resolves an adapter with
14//! [`adapter_for`] and calls the trait.
15
16pub mod capabilities;
17pub mod claude_code;
18mod cli_command;
19pub mod codex;
20pub mod descriptor;
21pub mod descriptor_adapter;
22pub mod extract;
23pub(crate) mod guard;
24pub mod harness;
25pub mod opencode;
26pub mod registry;
27pub mod skill_shadow;
28mod skills_block;
29pub mod transcript;
30
31pub use harness::{
32 CliDispatchContext, CliJudgeContext, CliManifestContext, HarnessAdapter, RUNBOOK_TEMPLATE,
33 ToolVocabulary,
34};
35pub use registry::{
36 DEFAULT_HARNESS_NAME, UnknownHarnessError, adapter_for, all_config_dir_names,
37 all_tool_vocabulary,
38};
39pub use skill_shadow::{
40 PluginShadowReport, ShadowSource, format_shadow_banner, shadow_validity_warnings,
41};
42pub use transcript::TranscriptSummary;