openpencil/packages/harness
Danila Poyarkov 62ba072b26
refactor(ai): ship Harness as optional companion (#561)
* Revert "feat(ai): add HarnessAgent sidecar foundation (#560)"

This reverts commit 83a5ea1b42.

* Revert "Revert "feat(ai): add HarnessAgent sidecar foundation (#560)""

This reverts commit 0d8c03515888c62dc47186d4a3b0b7b04e78f8af.

* refactor(ai): ship Harness as optional companion

* fix(ai): support Harness companion on Windows

* test(ai): restore navigator after Harness Windows test
2026-08-19 20:04:35 +03:00
..
src feat(ai): add HarnessAgent sidecar foundation (#560) 2026-08-19 17:41:10 +03:00
tests feat(ai): add HarnessAgent sidecar foundation (#560) 2026-08-19 17:41:10 +03:00
package.json refactor(ai): ship Harness as optional companion (#561) 2026-08-19 20:04:35 +03:00
README.md refactor(ai): ship Harness as optional companion (#561) 2026-08-19 20:04:35 +03:00
tsconfig.json feat(ai): add HarnessAgent sidecar foundation (#560) 2026-08-19 17:41:10 +03:00
tsdown.config.ts feat(ai): add HarnessAgent sidecar foundation (#560) 2026-08-19 17:41:10 +03:00

@open-pencil/harness

Optional Node companion runtime for coding-agent harness sessions. It owns the backend-neutral session lifecycle, opaque resume-state persistence, and the JSONL sidecar protocol used by host applications.

The first backend uses AI SDK HarnessAgent, Pi, and local just-bash. Pi runs in the Node host process; just-bash provides an isolated in-memory workspace and shell without requiring cloud infrastructure.

Current scope

  • Backend-neutral, streaming session service.
  • Atomic, bounded persistence of opaque harness resume state.
  • JSONL stdio sidecar transport.
  • Pi + just-bash backend.

The package is installed as an optional companion CLI for the desktop application. It is not bundled into every Tauri build; install @open-pencil/harness globally to make the openpencil-harness command available. Credentials are supplied to the companion process at runtime and are never written to resume-state storage.

Local sandbox limitation

just-bash is process-local and in-memory. Multi-turn sessions work while the sidecar remains alive, but its sandbox cannot be reattached after a process restart. Persisted opaque state establishes the session contract; durable restart recovery requires a persistent sandbox provider in a later integration.