Prima Get an API key

The stone repository

Pointing the desktop tool at it

One repository, written by the chat and by the desktop tool, distinguished only by which one wrote the entry. Decided, not built.

Planned Decided and written down. Not built, or built and not yet released. Do not integrate against it until the card says live.

What it does

Nothing yet on the desktop side. The chat writes into a stone repository today; the desktop tool does not fetch one of its own.

The decision: after sign-in the desktop tool reads the same endpoint the portal reads, clones the tenant's repository into its application data directory, and points its knowledge layer at that clone. Engravings push with the tenant's own token.

The two tools write the same objects into one repository, distinguished only by a source field. That is deliberate, and it is why nothing written into the repository may assume a terminal, a diff, or a repository being checked out.

The token lives in the operating system keychain on the desktop, and in a per-session in-memory cache in the chat. In neither case is it written to a file.

Inputs and outputs

Planned input The tenant's repository, from GET /api/developer/stone, with the token exchanged at sign-in.
Planned storage The clone in the application data directory. The token in the operating system keychain.
Source field What distinguishes an entry written by the chat from one written by the desktop tool.
Author of a commit The signed-in person. The machine user is the committer.

Configuration

Nothing to configure yet This card describes a decision. There is no setting to change.

Limits

  • Not built, and it depends on the per-tenant repository work, which is also not built.
  • One person using both tools has to resolve to the same actor string, or the record shows one human as two. That is open and it corrupts quietly until it is closed.
  • Until this ships, a desktop session and a chat session do not share a knowledge base.

Example

what the same repository holds from both

sessions/2026/09/2026-09-10-carry-over-rules.md    source: chat.prima.li
sessions/2026/09/2026-09-10-migration-plan.md      source: primacode

Source of truth

  • philosophers_stone/operations/prima-onboarding-implementation-plan.md § W9 (fetch the repository after sign-in, clone it, point the knowledge layer at it)
  • philosophers_stone/operations/decisions/0037-stone-per-tenant-forgejo-org-and-token.md (what the chat and the desktop consume, the per-session cache, the keychain, author and committer on an engraving)
  • philosophers_stone/platform/primacode.md § The claim record (one repository written by both, and the open actor question)