Harness v0.14.0
·
253 commits
to main
since this release
Harness 0.14 makes the TraceKernel-backed Judge the browser evaluation boundary while keeping the root Harness package as the only published artifact.
Highlights
- Adds BrowserRuntimeHost and scoped Judges for preparation, isolated cases, verdicts, cancellation, and teardown.
- Adds reusable prepared-program contracts for JavaScript, TypeScript, Python, Java 23, C#, and C++.
- Reduces the public root surface to seven intentional entrypoints.
- Decomposes TraceKernel workspace internals into explicit lifecycle, filesystem, terminal, network, journal, device I/O, access-policy, persistence, and runtime-command modules.
- Makes language APIs implementation-neutral and uses TraceJVM as the prepared Java browser path.
- Adds Chromium, Firefox, and WebKit release gates for lifecycle, isolation, cancellation, and disposal.
- Enforces that all renamed runtime, Judge, TraceKernel, and workspace packages remain private; only @tracecode/harness is published.
Breaking changes
- Removes the old language, core, native, SQL, and internal root subpaths.
- Replaces the direct BrowserHarness lifecycle with BrowserRuntimeHost plus createBrowserRuntimeJudge.
See CHANGELOG.md for the complete migration and fix list.