harness Agent Guide
June 5, 2026 ยท View on GitHub
Scope: this guide applies to src/crates/execution/harness.
bitfun-harness owns provider-neutral workflow contracts, descriptors, plans,
and registry wiring for multi-step workflows such as Deep Review,
DeepResearch, MiniApp, and future SDD flows.
Guardrails
- Do not depend on
bitfun-core, app crates, Tauri, concrete service crates, product-domain implementations, AI adapters, transport adapters, or concrete tool packs. - Keep concrete workflow execution on the legacy product path until a reviewed migration proves behavior equivalence.
- Harness providers may describe routing, planning, capability, review gate, artifact, and post-processing boundaries. They must not own session manager internals, filesystem/Git/terminal managers, or UI command behavior.
- Product Assembly should register providers through typed registries; avoid global mutable registries or untyped service locators.
- Product capability packs may select provider descriptors;
bitfun-harnessowns the provider-neutral descriptor type, legacy-facade descriptor adapter, and registry wiring.
Verification
cargo test -p bitfun-harness
node scripts/check-core-boundaries.mjs
cargo test -p bitfun-core --features product-full product_harness