nc://system-one

v0.1.0Pinned
ThomSharktools/nodecode-system-one: Ask a local sidecar whether a task needs the web, its model tier, and whether an event should notify. - a rewrite of NMTZ-z/system-one-benchmark-lab (Apache-2.0), credited to NMTZ-z386aabf· 9 Nov1 commit
test1 filecell.lisp21.0 KBLICENSE11.1 KB

nodecode-system-one

Local System One: ask a local sidecar whether a task needs the public web, whether it is a fast or a strong-tier task, and whether a finished event should interrupt the user. A Nodecode rewrite of NMTZ-z/system-one-benchmark-lab by NMTZ-z.

Three small classification gates, answered by a service the operator runs on their own machine, so nothing about the turn leaves the box. The model gets two tools, system_one_route (both pre-turn gates, one call) and system_one_notify (one finished event through the Notification Gate), and every gate is a Lisp function an eval form can call too: (system-one:route "…"). /system-one is the operator's way in, and (help :system-one) is the model's page.

Every gate fails open. A sidecar that is not running, is slow, or answers nothing readable is undecided, and the caller decides as it would have without the cell.

Get it

Tell the agent "add the system-one cell", or run nodecode add nc://system-one.

Set it up

Run the sidecar first: it is the local_system_one service of the same repository, a separate install, and on an Apple-silicon Mac it answers with a small local model. Start it on its loopback port, and the defaults of this cell find it. Nothing else is required.

{
  "system-one": {
    // where the sidecar answers; the default is its loopback port
    "service_url": "http://127.0.0.1:8787",
    // one gate's HTTP ceiling; a slow gate fails open
    "timeout_ms": 500,
    // only when the sidecar was started with one
    "auth_token_env": "LOCAL_SYSTEM_ONE_TOKEN"
  }
}

Each gate can be switched off on its own (search_gate, model_tier_gate, notification_gate), and canary_advice turns off the canary: line described below.

Use it

(system-one:route "review the local git diff and summarize the changes")
;; search: no_search (rule, local_file_or_repo) - no public web needed
;;   canary: an audited hard no-Web rule -- in acknowledged Canary mode the original
;;   hides the web tools on the turn's first provider call
;; model tier: fast (rule, bounded_transform; p_strong 0.080) - a fast, cheap tier is enough

(system-one:notify-gate "the migration finished with three files to review")
;; notification: digest (model; priority 2.305) - add it to a digest, do not interrupt

(system-one:health)
;; health: answers (service ok), neural engine healthy

The two tools say the same thing to the model. /system-one TASK asks about a task from a shell, and /system-one alone says where the cell points and whether the sidecar answers.

The task text and the context passed beside it go to the sidecar and nowhere else; it is a classifier on the same machine, and no telemetry rides with the call.

What is not carried over

The original hooks a Hermes turn, so in its acknowledged Canary mode it can rewrite the provider request: hide web_search and web_extract on the first call of a turn when an audited hard no-Web rule fires, and lower reasoning_effort for one gemini-3.8-flash-tiered request when an audited hard-fast rule fires. Nodecode has no provider-request seam a cell can edit, so the same rules are reported as advice on the decision's own line (canary: …) and nothing is rewritten. The reasoning downgrade is the original's off-by-default experiment; its 32-pair benchmark did not show a reliable speedup.

Also left out: the Hermes-only task enrichment that reads the owned kanban card or strips the cron wrapper from a scheduled prompt (Nodecode has neither), the plugin's per-turn mode switch (off, shadow, canary) because a cell is asked rather than hooked, and its persisted shadow history.

Apache-2.0. See NOTICE.

Add nc://system-one

  1. 1

    Install Nodecode

    Once per machine.

    $ curl -fsSL https://nodecode.ai/install.sh | sh
  2. 2

    Add the cell

    Pinned at 386aabf.

    $ nodecode add nc://system-one

    Or tell the agent add the system one cell.