Pytxo

Permission tiers

DeepSpace, Orbit, Galaxy, and Supernova capability ladder.

Pytxo uses local permission profiles to gate filesystem, network, and tool capabilities per agent. Set globally, per [[agent]], or per modular project root.

ProfileIntent
deep_spaceMost restrictive; Apply denied; fails closed without required network isolation
orbitDefault: balanced local development with isolated copies
galaxyHost tools plus human approval for risky commands; Apply is still Desktop Run Review
supernovaHighest local capability (use deliberately)
permission_profile = "orbit"

[[agent]]
name = "scout"
permission_profile = "deep_space"

Capability matrix (shipping)

CapabilityDeepSpaceOrbitGalaxySupernova
Read repoAgent cwd focusFull repoFull repoFull repo
WritesEphemeral; Apply deniedIsolated workspace; immutable-package ApplyIsolated workspace; immutable-package Apply + destructive HITLUnrestricted host-direct writes
Network at spawnRequired deny; fail closed when unavailableFetch-tool policy; arbitrary child sockets may be advisoryLocal ports + egress-tool HITL; arbitrary child sockets may be advisoryAllowed
Host secrets (.ssh, global .env)StrippedFiltered child envPartial inheritFull inherit
Docker / git push / rm -rfNoLimited / spawn policyAllowed with HITLAllowed
Max Signal fidelityLowConfig defaultConfig defaultConfig default

Shipping enforcement is spawn-time policy, environment filtering, isolated workspaces, single-root reviewed Apply, and Galaxy HITL queues. Orbit and Galaxy Apply only the immutable package prepared for that execution domain. This is not a full syscall sandbox on every platform.

Every run persists an enforcement receipt. Each control surface is labelled enforced, advisory, unavailable, or bypassed, so Desktop never turns a best-effort policy into a stronger security claim. DeepSpace fails closed if its required network boundary cannot be installed.

For Orbit and Galaxy, Apply validates affected-path preimages and writes a durable attempt journal. For v1.2.2, freshness also covers the source inventory bound to verification. Changes to included source files can require refreshing and checking the candidate again. The journal supports automatic process-crash recovery; it is not a power-loss ACID or cross-filesystem durability guarantee.

Galaxy in practice

When you trust a folder as Galaxy:

  • Risky spawn commands (rm -rf, git push, docker, network tools) pause until you approve
  • Applying the prepared package to its one repository root requires approval
  • Pending requests persist across restarts (hitl.json under .pytxo/data/)
pytxo hitl list
pytxo hitl approve hitl-0

Folder trust

The first time you open a repo in the Hypervisor Shell, you pick a tier. See Folder trust.

Permission profiles are not the same as signal_fidelity (context compression tier).

Ultra metering ([billing] with mode = "ultra") is a separate commercial layer. BYOK remains the default. See Ultra.