Product overview

One durable session, many ways to reach it.

KalaReach is a host process, a command-line client and a companion application for Linux, macOS, Windows, iOS and Android.

Sessions

A worker process per session

Creating a session starts a worker on the host. It opens the pseudo-terminal before the shell starts, so a session created with --attach has the real size of its creating terminal at the first prompt. The worker owns the canonical terminal state, decides who currently holds input, records what was approved and keeps its own journal.

A control daemon sits beside the workers and handles device connections, grants and service routing. Restarting it does not close your shell, reset the screen or break a local attachment. A session moves through creating, live, closing and closed; a live session is allowed to have no attachments at all.

Ways to reach a session
SurfaceWhat it gives you
kr attachThe session in your own emulator, on the host it runs on. Direct mode forwards the approved bytes and preserves native mouse, keyboard and hyperlink behaviour; where that is not available, a bounded renderer draws the canonical screen instead.
Companion app terminalA rendered projection of the canonical screen for phones, tablets and the desktop app.
Companion app conversationA structured view of an agent supplied by its plugin: messages, diffs, attachments and controls.

Attention inbox

Decisions, separated from output

Sessions produce far more output than decisions. The attention inbox collects the decisions: permission requests, questions an agent asked, work ready for review and hosts that went offline. It carries escalation rules, quiet hours and a read state, and it can summarise what changed since you last looked.

Agent integrations

You launch an agent by typing its name

Where an agent exposes a native protocol or hooks, its integration adds a conversation view, file attachments, diffs, notifications and controls on top of the running process. Where it does not, the terminal path still works for everything.

An integration must declare what it can observe and what it can control. A convincing reconstruction of terminal text is not evidence that an operation was approved, and an integration never silently replaces a running agent with a replayed transcript of its conversation.

Plugins

Plugins update without a KalaReach release

Detection rules, event interpretation, buttons, commands, file handling and voice context all live in plugin packages. A vendor can publish support for its own tool without waiting for a KalaReach release. The first-party plugins use the same contract as everyone else’s.

Hosts synchronise the whole signed catalogue as metadata, so search works offline, and fetch an executable payload when you install or enable a package, when an already authorised match activates one, or when you deliberately mirror a repository in full. More about the catalogue.

Change sets

A change set names an exact version of the work

A change set captures the precise state of a working copy so a review, a test run or an approval has a stable subject. Projects hold repositories; workspaces are explicit shared or isolated working copies; change sets are immutable captures you can read, compare and apply under the grant for that project.

Security model

Where permission comes from

The host authorises every action against the session’s current state. Clients present that state and submit intents. Neither relay traffic nor model output creates permission. A local command-line client authenticates through operating-system peer credentials; a remote device carries a verified actor envelope and the revision of its grant.

The full security model