nc://calling-mom

v0.1.0Pinned
ThomSharktools/nodecode-calling-mom: A cheap advisor answers a stuck or risky tool call; a rare ESCALATE reaches an expensive model. - a rewrite of SlyBase/calling-mom (MIT), credited to SlyBasee63f625· 9 Nov1 commit
test1 fileadvisor.lisp10.5 KBcell.lisp13.2 KBrules.lisp8.4 KB

nodecode-calling-mom

Calling Mom: a cheap model answers when the work is stuck or about to do something risky, and only a rare escalation reaches an expensive one. A Nodecode rewrite of SlyBase/calling-mom by SlyBase.

The model doing the work cannot tell when it is out of its depth, so the cell does not ask it. It watches what the model does -- one tool call at a time -- and asks a second, cheaper model about it:

What it sees What it asks
the identical call three times in ten why the work is going in circles, and how to get out
the identical result three times in a row the likely cause, and the next one to three steps
a command in the critical tier (git push --force, terraform apply, gh pr merge, DROP TABLE, kubectl delete, rm -rf of a broad folder, a secret write, a guard switched off) the biggest risk in what just ran, and what to double-check
a command on another machine (ssh, scp, pct, qm) one look, once
your own question, through second_opinion a recommendation, the deciding reason, one risk

Mom's answer is appended to the result of the call that provoked it, where the working model reads it and keeps working. She can also say NO_ACTION, and then nothing is said at all.

The expensive tier is rare by construction. Mom is asked first, and her instruction says: normal answer, and only for a case she cannot judge as safe from that context, answer exactly ESCALATE: <reason>. Only then is olymp asked, and olymp has a hard limit in calls, not in dollars -- six a day by default. A subscription never surprises you, and neither does an invoice.

Get it

Tell the agent "add the calling-mom cell", or run:

nodecode add nc://calling-mom

Set it up

The cell works with no key of its own: with mom empty, every question goes to the auxiliary model Nodecode already has configured, so it is billed to that provider and nothing leaves the machine it would not otherwise. Name a model to send the questions elsewhere.

{
  "calling-mom": {
    "assist": true,                     // watch tool calls; off = only the tools answer
    "mom": "openrouter/deepseek/deepseek-v4.1-flash",   // empty: the auxiliary model
    "olymp": "",                        // empty: no expensive tier at all
    "mom_calls_per_day": 20,
    "olymp_calls_per_day": 6,
    "cooldown_seconds": 60,             // one unsolicited question per minute, at most
    "commands_extra": []                // regexes of your own for the critical tier
  }
}

A target is provider/model, or a bare model on the auxiliary provider. assist is the whole watcher switch: with it off, nothing is watched and nothing is sent unless a tool is called.

Secrets are blanked before anything is sent -- sk-, ghp_, xox*-, AKIA..., bearer/token=/api_key= values, and a password inside a URL.

Use it

The model has two verbs:

Tool Answers
second_opinion question, optional context: one short, budgeted question about a decision that is expensive to get wrong.
risk_check command, optional path: which tier it falls in and the rule that matched -- it classifies, it blocks nothing.

You have one command:

/calling-mom                 who is mom, who is olymp, today's calls
/calling-mom on | off        watch tool calls, or stop
/calling-mom ask QUESTION    ask mom one question now
/calling-mom mom NAME        the cheap advisor's model, for this run
/calling-mom olymp NAME      the expensive advisor, for this run
/calling-mom reset           the day's counters start over

and a manual page, (help :calling-mom), which the model reads before it reaches for either tool.

Advice warns; it cannot undo what already ran. It is a second opinion, not a gate -- the cells that refuse a command are guard and approvals.

Add nc://calling-mom

  1. 1

    Install Nodecode

    Once per machine.

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

    Add the cell

    Pinned at e63f625.

    $ nodecode add nc://calling-mom

    Or tell the agent add the calling mom cell.