Grok BotSoftwareShipping codeAI score · 78/100AI-assisted edit · no obvious prompt-injection riskX

Audit Grok Bot Routines: Prove They Actually Ran with Logs, sha256, and Git

Input: Grok Bot routine instructions → Process: write structured logs to /workspace, compute checksums, git-commit each run → Output: a verifiable, auditable evidence chain independent of chat

Some experienceStepsWorkflowTip
Who
Users running Grok Bot scheduled routines who need to confirm tasks actually executed
You get
Build run evidence (log lines, file hashes, git history) outside the chat so every execution is verifiable, auditable, and missed runs are detectable
You need
Grok Bot

Constraints

Prerequisites: Grok Bot account with Routine feature; one bot per job; persistent /workspace filesystem access. Cost: Grok Bot subscription terms unknown. Note: all bots on one account share the same cloud computer with no security isolation; replace <job> in example paths with your actual job name.

What they did

Author cubagarmendia, after a friend questioned how to know if an agent actually executed a daily task, established a per-job folder convention in Grok Bot's persistent cloud computer at /workspace. He configured structured logs, git version control, sha256 file verification, empty-commit sentinels, and a second auditor bot for roughly 15 bots serving different purposes.

How it went

The author reports this shifted the conversation from "can I trust this?" to "how do I set it up?": by opening the agent computer to inspect /workspace, reading git log, comparing sha256, and querying sqlite3 row counts, he can independently verify each run. Connector history in Notion/Trello provides additional cross-evidence. (author_report)

Worth knowing

All bots on one account share the same cloud computer with no security boundary; do not store credentials in /workspace if another bot should not access them. Grok Bot's Update Bot's Computer preserves files and logins but removes installed apps and packages—keep a setup.sh to reinstall. Auto-review approval requests from unattended routines expire after about 10 minutes and the action does not run. Run history only shows recent runs; long-term audit requires your own ledger. A log written by the agent is still written by the agent; the strongest checks live outside it: git history, source-system history, a second bot, or your own query.

Steps

  1. Make every run leave a one-line receipt

    Append to the routine instruction: at the end of every run, the bot must append one structured line to /workspace/<job>/log.md with date, timezone, what was done, item counts in/out, output file path, and any errors. If the source is unavailable, log the failure instead of reusing old data. If nothing is new, write the line and do not message me.

    Execution prompt · Source text。Confirm the destination, input variables and output format before use.

    2026-10-24 08:03 ART | scanned 3 sources | 41 items in, 12 kept | wrote radar-2026-10-24.md | 0 errors   (example)

    Execution prompt · Source text。Append to the end of a Grok Bot Routine instruction

    Update this routine: at the end of every run, append one line to /workspace/<job>/log.md with date, time zone, what you did, item counts in and out, output file path, and any errors. If the source is unavailable, log the failure instead of using old data. If there's nothing new, write the line and don't message me.
  2. Build a verifiable audit chain with sha256 and git

    For daily-updated data, keep it as CSV or SQLite inside a git repo under /workspace/<job>/. Have the bot commit after each run. Also log a sha256sum hash of the output file and verify it the next day with sha256sum -c. You can also open the agent computer and run git log, git diff, or sqlite3 queries yourself.

    Execution prompt · Source text。Run in the agent terminal; or embed in a routine for automatic verification

    sha256sum exports/tools-radar.csv > tools-radar.sha256
    sha256sum -c tools-radar.sha256     # prints OK, or FAILED and exits 1

    Execution prompt · Source text。Manual verification commands in the agent terminal

    cd /workspace/crm && git log --oneline -7     # one commit per day, or a gap
    git diff HEAD~1 --stat                         # what yesterday's run changed
    python3 -c "import sqlite3; print(sqlite3.connect('crm.db').execute('select count(*) from leads').fetchone())"
  3. Empty-commit sentinel: mark the run even when nothing changed

    Critical technique: require the bot to git commit after every run, even if no data changed. Use --allow-empty to create an empty commit so the git log date sequence stays continuous. A missing date means a missing run.

    Execution prompt · Source text。Routine or manual terminal command; replace <job> with actual job name

    git add -A && { git diff --cached --quiet && git commit --allow-empty -m "<job> $(date +%F): no changes" || git commit -m "<job> $(date +%F): run"; }
  4. Manual review: open the agent computer and inspect directly

    Click the computer preview in Grok Bot's right-hand panel to see the Debian Linux desktop, terminal, and file manager. Run ls -la, stat, cat yourself to check /workspace/<job>/ file modification times and contents. Ask the bot to report: output file path, modification time, row counts before and after, diff of changes, link to the source-system record, and finally "list anything you couldn't verify."

Prompt you can copy

Reference prompt · Editorial suggestion。Confirm the destination, input variables and output format before use.

This block is the prompt. Ads are never placed here.

No prompt needed — just follow the steps.

Append the prompt snippets from steps 1–3 to your existing Routine instructions; step 4 is manual inspection with no prompt needed.

Source

How do you know it ran:日志行、sha256、git log、空提交哨兵证明例程真跑过 · cubagarmendia · X · 2026-10-24T20:34:22.000Z

Comments & feedback

Tried this method? Share results, problems or improvements. Comments appear after moderation. Please avoid sensitive information.

Loading…

    Related