Skip to content

Provenance and Actor

Overview

This page explains why Ghast AI distinguishes where a request came from, and what that distinction means for ordinary users.

The practical way to read it

You do not need to remember internal fields. The practical point is simply that the system tries to distinguish which kind of entry point a request came from.

Source pathWhat it means for users
Local chatA request you sent directly in the sidebar
Remote channelA request sent through Telegram or another remote path
Scheduled / HeartbeatA turn triggered by the system on a planned schedule
ACP / local agentA deeper local code-agent or automation path

The purpose of this distinction is not to create terminology to memorize. It is to keep different entry-point boundaries from being mixed together.

Why this matters

Without source distinction, remote entry points, local entry points, and persistent task entry points can easily collapse into one undifferentiated request stream.

For ordinary users, preserving that distinction has three direct benefits:

  • Local use and remote use do not become the same path.
  • Approvals, prompts, and responses can remain different depending on the source.
  • When the system records or reviews behavior, it is easier to understand which kind of scenario produced the action.

What ordinary users actually need to remember

You do not need to understand the internal implementation of actor or provenance tagging. The practical interpretation is enough:

  • The system knows whether an action was started from the sidebar.
  • The system also distinguishes whether it came from a remote message or from a scheduled path.
  • That distinction helps approvals, responses, and boundary control remain clearer.

Ghast AI currently distinguishes between local, remote, and persistent-task source paths. For most users, the value of this distinction is not technical detail. It is the ability to keep clearer use boundaries, approval boundaries, and accountability boundaries instead of treating every request as the same kind of input.