Skip to content

Unison v1.1.0

Latest

Choose a tag to compare

@Xuan0629 Xuan0629 released this 20 Jul 13:50

Unison v1.1.0 — Stronger execution boundaries and evidence

Unison v1.1.0 strengthens the local-first, single-operator Loop Engineering pipeline with explicit runtime capabilities, bounded execution profiles, foreground recovery for supported runtimes, truthful usage provenance, evidence-bound Observer controls, and narrower orchestration responsibilities.

Highlights · 核心亮点

  • Runtime capability contracts · Runtime 能力合同: Built-in adapters declare prompt transport, interactive-TTY support, usage provenance, concurrency, supported execution modes, and model/effort behavior. Unsupported combinations fail before launch.
  • Bounded per-agent profiles · 受限 Per-Agent Profile: Reuse reviewed prompt/model/skill/toolset settings without allowing profiles to inject commands, environment values, provider URLs, memory/session scope, permission overrides, or runtime adapters.
  • Foreground recovery for Claude/Codex · Claude/Codex 前台恢复: foreground_manual uses a visible native terminal with native approval, heartbeat evidence, verified unison reconcile, and explicit dead-only unison resume. It never auto-approves, injects terminal input, retries, or falls back to headless execution. Hermes, OpenClaw, and Crush remain headless-only.
  • Constrained Crush adapter · 受约束 Crush Adapter: Serial headless_bypass only, isolated per-invocation state, no session reuse, signal-based cancellation, and honest unavailable usage/cost provenance when upstream cannot provide a verified breakdown.
  • Truthful usage provenance · 真实用量来源标记: Runtime usage is marked actual, estimated, or unavailable instead of presenting inferred values as provider-authoritative.
  • Evidence-bound Observer · 证据绑定 Observer: Headless-only observation and bounded Claude typed control act only at eligible serial dispatch boundaries. L2-A active alignment checks deterministic canonical-input drift, restores the pre-dispatch snapshot, and halts or re-dispatches only the original binding within a persisted budget.
  • Safer budget and execution behavior · 更安全的预算与执行行为: Budget limits are opt-in; malformed or unwritable persistence remains fail-closed.
  • Narrower orchestration responsibilities · 更窄的编排职责: Durable run lifecycle persistence and Git evidence queries are isolated behind focused components while Orchestrator retains scheduling and state-transition authority; compatibility façades preserve existing caller behavior.

Known boundaries · 已知边界

  • Unison remains local-first and single-operator; it is not a hosted multi-user service.
  • SaaS/multi-user WebUI, identity federation, a separate plugin ecosystem, and native Windows locking are outside this release.
  • SQLiteChannel remains evidence-gated and requires separate design approval.
  • A pipeline PASS is evidence, not authority to merge, deploy, tag, or release.

Upgrade notes · 升级说明

  • Run unison dry-run --pipeline pipeline.yaml before using a changed pipeline or execution policy.
  • Use interactive only for scoped Claude/Codex work that requires human approval of native tool actions. Choose automatic only when accepting the selected runner's headless bypass behavior.
  • Review the full README and Deep Usage Manual for the controlled-operation checklist and execution-policy boundaries.

Verification summary · 验证摘要

  • Exact-source strict-deprecation suite: 1936 passed.
  • GitHub Actions CI passed on the final pre-release source commit 681cf1b.
  • Built and inspected sdist/wheel artifacts; metadata declares Apache-2.0 and Python >=3.12.
  • Exact-source artifact scan found no local .unison/, .plan/, .env, cache, or evidence-pack leakage.
  • Isolated wheel installation and unison --help CLI smoke test passed.
  • macOS Terminal.app foreground validation was completed for the supported Claude/Codex foreground path before this release authorization.