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.
The map
Section titled “The map”__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, errorWhat each part is for
Section titled “What each part is for”| Path | Writable | What it holds |
|---|---|---|
__sys/host/ | No | Facts about the machine the node runs on, refreshed at boot, plus a live 1 Hz clock. |
__sys/node/about/ | No | The engine’s identity: version, a stable uuid, and whether it has finished loading. |
__sys/node/user/ | Yes | Your configuration: app config, every connector’s config and enabled, tool params. |
__sys/node/service/ | No | Live connector status & diagnostics, connector manifests, and the operating mode. |
__sys/node/stats/ | No | Engine health: change-ring occupancy, tag/subscriber counts, Logic Cycle timing. |
__sys/node/logger/ | No | The node’s log streams, shown in the IDE’s Logger and Diagnostics screens. |
Two rules worth remembering
Section titled “Two rules worth remembering”__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 underhost/,about/,service/,stats/andlogger/is regenerated by the receiving node, because it describes that machine and that run.
Handy paths to watch
Section titled “Handy paths to watch”| Path | Why it’s useful |
|---|---|
__sys/host/clock/second | A ready-made 1 Hz trigger for periodic scripts |
__sys/host/stats/… | Live host CPU / memory / disk |
__sys/node/service/connectors/<type>/<id>/stats/status | A connector’s live status (connected, error, …) |
__sys/node/service/mode | The node’s current operating mode |
__sys/node/logger/error | The 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.