NODUS.
Agentic Cinema — a 324M local planner MIT · no API key · no GPU
[read_file, write_file, bash, gcs_upload]

A tiny local planner that makes agentic loops free — and observable.

One task, one job. Nodus turns a natural-language request into an ordered list of tool names — nothing more. The harness fills the arguments, executes, and verifies; every step streams to Grafana Cloud as a live annotation. Planning is free, private, and stays on your machine.

✓  No container · no cloud key · deterministic mock by default

324Mparameters24 layers · runs on CPU
99%plan accuracy120 unseen tasks, fresh holdout
p = 0.0139e2e significancesign test · 200 runs
0guardrail regressionsacross all replays
994tests passingharness + bridge + cloud
Why — the hidden tax

Every agentic system pays to plan before it acts.

Before a frontier model can do anything, it burns tokens just to decide what to do — and for simple tasks, planning can cost more than the work itself. Nodus replaces that phase with a 324M-parameter transformer fine-tuned on a single job: task → ordered list of tool names. No arguments, no replanning.

The model can’t write great code — but “which tools, in what order?” is a much simpler question than “write the code.” The big model keeps the only job it’s actually good at: executing.

Measured on 120 tasks it had never seen
PlannerRaw+ guardrails
previous (v2b)79%91%
Nodus v599%99%shipped
Why 99% is real: a fresh holdout with zero entity overlap with any training corpus — plus guardrails that fix the model’s systematic failure classes (superfluous grep, bash-as-write, missing final write).
Pipeline — plan, execute, deliver, observe

One run, four phases. The order is the product.

01

Plan

The 324M planner reads the task and emits a fixed 8-tool vocabulary — just names, in order.

→ ["read_file", "write_file", "bash", "gcs_upload"]
02

Execute

The harness fills the arguments, runs each tool, and verifies the result against guardrails.

→ Gemini via Vertex AI (Agent Builder)
03

Deliver

The media workflow uploads the finished artifact to Google Cloud Storage.

→ gs://nodus-media-demo/production/…
04

Observe

Every event becomes a tagged Grafana annotation — the dashboard is the agent’s scope.

→ mcp-grafana · create_annotation
demo_agentic_cinema.py --task-key media
▶ task: Read script.txt, then save a new file shoot_day_brief.md with the shoot-day brief, then upload it to Google Cloud Storage, then verify.
∘ plan [nodus]: ['read_file', 'write_file', 'bash', 'gcs_upload']
  ↳ tool read_file {"path": "script.txt"}
    ✓ SCENE 3  INT. EDIT BAY — DAY  The editor pulls up the dailies…
  ↳ tool write_file {"path": "shoot_day_brief.md", …}
    ✓ wrote 244 bytes -> shoot_day_brief.md
  ↳ tool gcs_upload {"local_path": "shoot_day_brief.md", "bucket": "nodus-media-demo"}
    ✓ gs://nodus-media-demo/production/shoot_day_brief.md (253 bytes) [mock]
● result: Done: wrote shoot_day_brief.md; uploaded production/shoot_day_brief.md.
Google Cloud — in code, mock-first

The executor and the delivery both run on Google Cloud.

Executor · Agent Builder

Gemini via Vertex AI

The ReAct loop runs on vertex:gemini-2.5-flash — the official google-genai SDK built with vertexai=True, the Agent Builder / Gemini Enterprise runtime. Native function calling; ADC auth instead of an API key. The same SDK also supports the Gemini API (gemini: prefix) for other regions.

  • Import & call in code — no key in the repo
  • Guards — fails loudly only if you request a vertex/gemini model
Delivery · Cloud Storage

gcs_upload

The media workflow finishes by uploading the artifact to gcs://nodus-media-demo/…. Mock-first: a deterministic gs:// URI with zero credentials, or a real upload via the official google-cloud-storage SDK when ADC is present.

  • Harness capability — the planner’s 8-tool vocabulary stays fixed
  • Honest mode — a [mock] marker on every URI
Vertex AI — Google Cloud Agent Builder
# runs the whole loop on Gemini via Vertex AI (ADC auth)
export GOOGLE_CLOUD_PROJECT=<your-gcp-project-id>
export GOOGLE_APPLICATION_CREDENTIALS=service-account.json
# or: gcloud auth application-default login
python nodus_agent.py "Read script.txt, then write the shoot-day brief, then upload it" \
  --plan --plan-source nodus --model vertex:gemini-2.5-flash
Observability — partner service

An agent session you can replay, correlate, and audit.

Nodus activates Grafana Cloud through the official mcp-grafana server. Every normalized event — task, plan, each tool call, each result — becomes a tagged create_annotation call, landing in a dashboard as live annotations.

Mock mode collects the same events in memory + JSONL with zero setup — perfect for CI and the video. Live mode needs only a free Grafana account and a service-account token. MCP failure is never fatal to a run.

One run → one annotation stream
EventAnnotation
task▶ deploy the app then verify health
plan∘ [nodus]: bash · bash
tool_call↳ bash {"command": "echo step1"}
tool_result✓ ok
result● Done.
Grafana Cloud is the activated partner service — observability layered on a local planner that keeps its 8 native tools.
Demo — the media workflow, end to end

Watch Nodus deliver a shoot-day brief.

Timeline of a real Nodus media run: task, plan (4 tool names), each tool call and result, and the final gs:// upload — annotated for Grafana Cloud.
A real run — the 324M planner (v5), the harness filling arguments and verifying, a mock Cloud Storage upload, and every event tagged for Grafana.
Run it yourself — 30 seconds, zero dependencies

No checkpoint. No API key. No container.

1 · install
pip install -r requirements-ci.txt
2 · plan a task (orchestrator)
# with the checkpoint in checkpoints/, the 324M model answers:
$ echo "read src/main.py, then search for request_id, then edit it" \
    | python nodus_plan_local.py --plan-once
{"ok": true, "names": ["read_file", "grep", "edit_file"]}
3 · the media demo, end to end
# uses the real 324M planner when the checkpoint is present,
# otherwise a deterministic gold plan — either way, fully offline
$ python demo_agentic_cinema.py --task-key media
4 · mock timeline (no LLM API)
# same pipeline as judges, fully offline — JSONL instead of Grafana MCP
$ NODUS_GRAFANA=jsonl:run.jsonl python demo_agentic_cinema.py --task-key media
5 · Agentic Cinema judges (live Vertex + GCS + Grafana)
# see AGENTIC_CINEMA.md — Google Cloud AI + Grafana MCP only
$ python demo_agentic_cinema.py --live --model vertex:gemini-2.5-flash --task-key media
✓Runs on CPU — no GPU needed
✓Planning stays on your machine
✓Deterministic mock by default
✓994 tests, MIT-licensed