@engramx/owner
v0.4.0
Published
Own an EngramX engram — the standalone owner-side CLI/SDK (create, reserve, activate). Deliberately separate from the operator SDK (@engramx/client) so operators never gain owner powers.
Maintainers
Readme
@engramx/owner
Create an EngramX engram that you own — the standalone owner-side creation CLI.
This package is deliberately separate from @engramx/client (the operator SDK). Creating an engram
makes the caller the owner (root); operating one is append-only. Keeping them in different packages
means an operator host never gains owner powers, and vice-versa.
- Create (owner) → this package.
- Operate (append-only) →
@engramx/client+ the MCP server.
Reserve, then activate
Creation is two-stage, on purpose:
- Reserve (the default) — a free registry record (~$0). Nothing runs yet; idempotent (one per principal).
- Activate (
--activate) — spawns the live canister (the platform funds the ~1.15T-cycle spawn).
Reserving costs nothing, so a "create-and-walk-away" never wastes cycles — the spend happens only when
you activate. Interactively, a bare npx @engramx/owner reserves and then asks whether to spin it up
now; headless (--yes/non-TTY) stays reserve-only unless you pass --activate.
Quick start
# Reserve (free). Reuse an existing icp-cli identity so you keep custody; EngramX holds nothing:
npx @engramx/owner --icp-identity <name> --registry <registry-canister-id> --yes
# Or generate a local owner key at ~/.engramx/owner.key (BACK IT UP — loss = total loss):
npx @engramx/owner --registry <registry-canister-id> --yes
# Activate when you're ready to use it (spawns the canister) — same flags plus --activate:
npx @engramx/owner --activate --registry <registry-canister-id> --yes
# Local dev replica: add --local
npx @engramx/owner --registry <id> --local --activateRun npx @engramx/owner --help for all options.
Ownership & custody
The registry makes the caller the owner — there is no owner parameter and no reassignment, so the signing identity is the owner, by construction. Your options:
| Mode | Who owns | Recovery |
| --- | --- | --- |
| --icp-identity <name> | your icp-cli identity | whatever that identity has (e.g. its 24-word seed) — single key |
| default (local key) | a fresh Ed25519 key at ~/.engramx/owner.key | none — back up the seed, or loss is permanent |
| web wizard (wallet) | your OISY / Internet Identity | real wallet recovery — the recommended path for humans |
What this does not do
- It does not read or write memory — that's the operator flow (
@engramx/client). - No hosted/managed creation (EngramX never signs on your behalf).
- Reserving is free and activation is free to you (the platform funds the spawn); paying to create is not a thing. Ongoing cycles can optionally be topped up with ckUSDC via the cashier.
Use as an agent skill
SKILL.md in this package is a cross-agent capability (Agent Skills format) that lets a coding/agent
host (Claude Code, Codex, OpenClaw, …) create an engram on the user's behalf by shelling to this CLI.
Honesty
The record is tamper-evident, not immutable (the owner can overwrite; every change is a signed entry). A single owner key is a total-loss risk. Nothing is on a public fleet yet.
