Extensions¶
metaharness supports pluggable proposer backends through backend_plugins in metaharness.json.
This lets teams use internal or closed-source harnesses without modifying core library code.
Config Shape¶
{
"backend_plugins": {
"cursor": {
"factory": "my_harness_plugins.cursor:create_backend",
"options": {
"model": "cursor-pro",
"proposal_timeout_seconds": 180
}
}
}
}
- key (
cursor) becomes backend name used by CLI factorymust bemodule:callableoptionsare plugin defaults and can be overridden bybackends.<name>and CLI overrides
Factory Contract¶
The factory callable can accept:
projectoptionsbackend_name
It must return a proposer backend object with:
nameprepare(request)invoke(request)collect(execution)
Usage¶
Run with your plugin backend:
Run experiments with plugin backend names:
Recommended Pattern¶
- Keep provider-specific command building and parsing inside your plugin module.
- Normalize events and changed files in your plugin
collectresult. - Keep authentication and provider environment setup outside
metaharness.