Docs

Run

One execution of a skill, on one item, for one person. It is how anyone knows whether something is being worked on, has failed, or has never been picked up.

Has: the agent · the skill and the version that ran · the item · how it began (schedule, command or Hub) · who asked · who it was for · attempts · why it failed · what it produced · when it started and finished. One run per agent, Skill and item; deleting the agent deletes its runs.

How a run begins

  • A run starts on the skill's schedule, by typing !skill <name> <item> in the agent's channel, or with "Run it now" in the Hub; all three are the same run.

    RUN-THREE-WAYS-TO-START
  • A skill the agent does not have cannot be run, and one switched off is refused in those words (SKILL-GRANTED-PER-AGENT).

    RUN-NEEDS-SKILL-ON
  • Anyone who may change this tenant may run a skill; a member may not (SKILL-WHO-MAY-CHANGE).

    RUN-WHO-MAY-RUN
  • A run says what it is on: a recording, or "now" for a skill that looks at the day.

    RUN-NEEDS-AN-ITEM
  • A run from the Hub is run as somebody: their channel hears the result, and where each person signs in, their own inference login answers.

    RUN-AS-A-PERSON
  • Only members the agent has met in Slack can be run as, and the page says how many are not listed and why.

    RUN-PEOPLE-AGENT-KNOWS
  • A member is matched to their agent-account by an explicit link or an exactly equal name; a partial match is refused.

    e.g. "Alex" against "Alex Smith" → refused: they must talk to the agent once.

    RUN-NAME-MATCH-IS-EXACT
  • A run is recorded against one agent, and is never visible to or writable from another tenant.

    RUN-BELONGS-TO-ONE-AGENT

Who asked, and who it was for

  • A run remembers both the account that pressed Run and the person it ran for; a schedule and a command in Slack have no asker.

    RUN-ASKED-BY-AND-FOR
  • The history says how each run began — Hub with the name of whoever pressed it, !skill, or schedule — and who it was for.

    RUN-HOW-IT-BEGAN

One run per item

  • Where people connect their own accounts, an item is held per person, so two people's items never collide.

    RUN-PER-PERSON-ITEMS
  • "Already being processed, or already done" is an answer the person is shown, not an error, and no second run starts.

    RUN-ALREADY-RUNNING-ANSWERED
  • An item already finished is skipped rather than paid for again.

    RUN-DONE-IS-NOT-REDONE
  • Asking deliberately for another go — again after the command, or "Re-run even if already filed" — runs it afresh and reports afresh.

    RUN-ASK-AGAIN
  • A skill about now rather than about a thing is never held back: asking again gives a fresh run.

    RUN-BRIEF-ALWAYS-NEW
  • A scheduled run belongs to the moment it was due, so a schedule catching up repeats that run rather than sending a second message.

    RUN-ONE-PER-SLOT
  • A scheduled run more than half an hour late is skipped.

    e.g. down 06:50 to 07:10 → the 07:00 brief still goes out.

    e.g. down until 15:00 → the 07:00 brief is not sent.

    RUN-MISSED-SLOT-SKIPPED

While it runs

  • The run is recorded as running before any work is done; if the record cannot be written, the run still happens.

    RUN-RECORDED-BEFORE-WORK
  • The person is told once that their item was picked up; a retry says nothing more.

    RUN-SAID-ONCE
  • A run that hits something temporary is retried with growing waits, and waits as long as an outside service asks.

    RUN-RETRIES-WITH-WAITS
  • After three launches a failing item is left for a person; asking again by hand starts it once more.

    RUN-GIVES-UP-EVENTUALLY

What a person sees afterwards

  • A skill's page lists its recent runs, each with its state, item, outcome, how it began, who for, when it started, how long it took and how many tries.

    RUN-HISTORY-PER-SKILL
  • A finished run carries what it produced — a summary in the words the person was told, and links to where the result can be read.

    RUN-SHOWS-ITS-OUTCOME
  • A run's reported outcome is kept to a readable summary and a few web links; anything else is dropped.

    RUN-OUTCOME-IS-BOUNDED
  • A failed run keeps the reason and shows it against that run.

    RUN-FAILURE-SAYS-WHY
  • When no worker is reachable, or none is serving that agent, the person is told exactly that and nothing is recorded as started.

    RUN-NO-WORKER-SAID