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_manualuses a visible native terminal with native approval, heartbeat evidence, verifiedunison reconcile, and explicit dead-onlyunison 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_bypassonly, isolated per-invocation state, no session reuse, signal-based cancellation, and honestunavailableusage/cost provenance when upstream cannot provide a verified breakdown. - Truthful usage provenance · 真实用量来源标记: Runtime usage is marked
actual,estimated, orunavailableinstead 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
Orchestratorretains 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
PASSis evidence, not authority to merge, deploy, tag, or release.
Upgrade notes · 升级说明
- Run
unison dry-run --pipeline pipeline.yamlbefore using a changed pipeline or execution policy. - Use
interactiveonly for scoped Claude/Codex work that requires human approval of native tool actions. Chooseautomaticonly 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 --helpCLI smoke test passed. - macOS Terminal.app foreground validation was completed for the supported Claude/Codex foreground path before this release authorization.