@contractspec/lib.harness
v0.3.0
Published
Harness orchestration, policy, evidence, and evaluation runtime.
Downloads
2,221
Readme
@contractspec/lib.harness
Website: https://contractspec.io
Harness orchestration, policy, evidence normalization, replay bundling, and evaluation runtime for controlled inspection and proof generation.
What It Provides
- Provides the mode-agnostic harness core used by higher-level runtime adapters and harness-aware workflows.
- Exports focused surfaces for assertions, evidence normalization, orchestration, policy classification, replay bundles, and shared types.
- Acts as the central execution model for controlled evaluation, proof generation, and inspection flows.
- Executes scenario
setupandresethooks through an explicitHarnessScenarioHookExecutor, enforces required evidence, and applies scenario success rules during evaluation. src/adapters/contains runtime, provider, or environment-specific adapters.
Installation
npm install @contractspec/lib.harness
or
bun add @contractspec/lib.harness
Usage
Import the root entrypoint from @contractspec/lib.harness, or choose a documented subpath when you only need one part of the package surface.
Architecture
src/assertions/contains assertion-engine logic.src/evidence/normalizes harness evidence into runtime-friendly shapes.src/orchestration/runs suites and evaluation pipelines.src/policy/classifies and applies harness policies.src/replay/packages replay bundles and reproducible outputs.src/types.tscontains shared public types.
Public Entry Points
- Exports the root harness runtime plus assertion, evidence, orchestration, policy, replay, and type subpaths.
- Export
.resolves through./src/index.ts. - Export
./assertions/engineresolves through./src/assertions/engine.ts. - Export
./evidence/normalizerresolves through./src/evidence/normalizer.ts. - Export
./orchestration/evaluation-runnerresolves through./src/orchestration/evaluation-runner.ts. - Export
./orchestration/runnerresolves through./src/orchestration/runner.ts. - Export
./policy/classifierresolves through./src/policy/classifier.ts. - Export
./replay/bundleresolves through./src/replay/bundle.ts. - Export
./typesresolves through./src/types.ts.
Local Commands
bun run dev— contractspec-bun-build devbun run build— bun run prebuild && bun run build:bundle && bun run build:typesbun run test— bun test --pass-with-no-testsbun run lint— bun run lint:fixbun run lint:check— biome check .bun run lint:fix— biome check --write --unsafe --only=nursery/useSortedClasses . && biome check --write .bun run typecheck— tsc --noEmitbun run publish:pkg— bun publish --tolerate-republish --ignore-scripts --verbosebun run publish:pkg:canary— bun publish:pkg --tag canarybun run clean— rimraf dist .turbobun run build:bundle— contractspec-bun-build transpilebun run build:types— contractspec-bun-build typesbun run prebuild— contractspec-bun-build prebuild
Recent Updates
- Replace eslint+prettier by biomejs to optimize speed.
- Add a first-class harness system for controlled inspection, testing, evaluation, and proof generation.
- Implement scenario setup/reset hooks, required evidence checks, success-rule evaluation, and suite mode/target propagation.
Notes
- Works alongside
@contractspec/lib.contracts-spec,@contractspec/tool.bun,@contractspec/tool.typescript. - Hook execution is intentionally injected through
HarnessScenarioHookExecutor; the harness core does not import operation registries or application runtimes implicitly.
