Skip to content

System tags (the `__sys` tree)

Everything about a node — not just your application data — is represented as tags. The system tags live under __sys/ and are organised by who writes them and how they are restored. You can browse the whole tree in the IDE under Node Views → Tag Tree → __sys.

__sys/
├── host/ Host machine facts. Engine-managed; regenerated each boot.
│ ├── about/ hostname, kernel, architecture
│ ├── clock/ 1 Hz tick: second, minute, hour, day, month, year, timestamp
│ ├── network/ interfaces, default interface
│ └── stats/ CPU, memory, disk
└── node/ This JasperNode instance.
├── about/ engine version, uuid, load state
├── user/ ★ THE ONLY USER-EDITABLE SUBTREE ★
│ ├── config application-wide configuration
│ ├── connectors/<type>/<id>/ per-instance: config, enabled
│ ├── connectors/<type>/ type-wide: config, discovery trigger
│ └── tools_params/ tunable parameters for the built-in tools
├── service/ Engine + system-connector writes only (read-only to you).
│ ├── connectors/<type>/<id>/ stats (is_connected, status, errors), diagnostics
│ ├── connectors/<type>/ manifest, availability, discovered devices
│ └── mode development | commissioning | production
├── stats/ Engine internals (sampled): ring health, counts, cycle timing
└── logger/ Log ring buffers: debug, info, warning, error
PathWritableWhat it holds
__sys/host/NoFacts about the machine the node runs on, refreshed at boot, plus a live 1 Hz clock.
__sys/node/about/NoThe engine’s identity: version, a stable uuid, and whether it has finished loading.
__sys/node/user/YesYour configuration: app config, every connector’s config and enabled, tool params.
__sys/node/service/NoLive connector status & diagnostics, connector manifests, and the operating mode.
__sys/node/stats/NoEngine health: change-ring occupancy, tag/subscriber counts, Logic Cycle timing.
__sys/node/logger/NoThe node’s log streams, shown in the IDE’s Logger and Diagnostics screens.
  • __sys/node/user/** is the only place writes are accepted through the normal channels (the IDE, the AI agent, scripts). Configuring a connector means writing under here; nothing else under __sys/ is user-writable. (The IDE and AI can override any tag for development and troubleshooting — an explicit, attributed action.)
  • __sys/node/user/** is also the project boundary. Only this subtree is captured by backup, restore and transfer between nodes. Everything under host/, about/, service/, stats/ and logger/ is regenerated by the receiving node, because it describes that machine and that run.
PathWhy it’s useful
__sys/host/clock/secondA ready-made 1 Hz trigger for periodic scripts
__sys/host/stats/…Live host CPU / memory / disk
__sys/node/service/connectors/<type>/<id>/stats/statusA connector’s live status (connected, error, …)
__sys/node/service/modeThe node’s current operating mode
__sys/node/logger/errorThe error log stream

Because these are just tags, you can subscribe to them, trigger scripts from them, chart their history, or have the AI agent report on them — exactly as you would your own application tags.