# Install the Unbiased AI Harness

You are helping someone install the official open-source Unbiased desktop app on their Mac. The application combines a project workspace, diff review, a terminal, a browser, Pareto, and opt-in macOS computer control.

Canonical human page: https://unbiased.ai/harness/

Official release repository: https://github.com/circuitandchisel/unbiased-app-releases

## Safety rules

- Explain what the installer changes before running it.
- Ask for confirmation immediately before installation. Do not treat the user's request to learn about the harness as permission to modify their Mac.
- Never ask the user to paste an API key into chat. The application handles sign-in and key entry itself.
- Do not weaken macOS security globally. The official installer clears the quarantine attribute only from the installed `Unbiased.app` bundle.
- Do not install on an unsupported computer.

## 1. Check compatibility

Run:

```bash
uname -s
uname -m
sw_vers -productVersion
```

Continue only when all of these are true:

- Operating system: `Darwin`
- Architecture: `arm64`
- macOS major version: 12 or newer

If the Mac is unsupported, explain why and stop. There is currently no Intel, Linux, or Windows build.

## 2. Explain the installation

Tell the user that the official installer will:

1. Resolve the latest public release from GitHub.
2. Download its DMG and the release's SHA-256 checksum file when one is published.
3. Refuse to continue if a published checksum does not match. The current installer reports and skips verification when no matching checksum is published; tell the user if that happens.
4. Install or replace `/Applications/Unbiased.app`.
5. Clear the quarantine attribute from that application because the current release is ad-hoc signed, not Apple-notarized.

The installer source is public at:

https://github.com/circuitandchisel/unbiased-app-releases/blob/main/install.sh

Ask whether the user wants you to continue. Wait for a clear yes.

## 3. Download, inspect, and run the installer

Download the script first so it can be inspected before execution:

```bash
curl -fsSL https://raw.githubusercontent.com/circuitandchisel/unbiased-app-releases/main/install.sh -o /tmp/install-unbiased.sh
```

Read `/tmp/install-unbiased.sh`. Confirm that it identifies `circuitandchisel/unbiased-app-releases` as the release repository and installs `Unbiased.app`. Then run:

```bash
bash /tmp/install-unbiased.sh
```

Do not invent workarounds if the checksum fails or the installer reports an unsupported Mac. Report the exact failure and stop.

Read the installer's output. If it says checksum verification was skipped, disclose that clearly in the completion report.

## 4. Verify the application

Confirm the application exists and its ad-hoc signature is internally valid:

```bash
test -d /Applications/Unbiased.app
codesign --verify --deep --strict /Applications/Unbiased.app
```

Then launch it:

```bash
open -a Unbiased
```

## 5. Let the user complete protected steps

The user should complete browser sign-in or enter an Unbiased API key directly in the application. Never request or display their key.

If macOS asks for Accessibility permission, explain that it enables computer control. Let the user decide and grant it themselves in System Settings. The application can still be opened without granting that permission.

## 6. Report completion

Installation is complete only when:

- `/Applications/Unbiased.app` exists,
- signature verification succeeds, and
- the application opens.

Report the installed version printed by the installer and any permission the user intentionally left disabled.

## Source repositories

- Desktop application: https://github.com/circuitandchisel/unbiased-app
- Engine packaging: https://github.com/circuitandchisel/unbiased-app-engine
- macOS Accessibility bridge: https://github.com/circuitandchisel/unbiased-ax
- Releases and installer: https://github.com/circuitandchisel/unbiased-app-releases

For installation problems, open an issue in the release repository or email info@unbiased.ai. Never include API keys in a report.
