Inside Bob · a hook
Ask the record before you build.
Before the first build of a job, Bob has to ask what was already built.
As of 28 October 2026, 14:19 IST, counted from Bob’s database and saved with this page; it does not update by itself. Counts and times only; nothing about what was built or asked. The figures come from Bob’s copy of the guard’s log, so the newest few minutes can be missing. The stops were also counted in the session record, where the guard’s refusals appear as tool results: 357 in the past 7 days against 372. The record was asked 841 times through the two lookups the stop message names, whether or not a stop came first. Whether an answer then changed what the AI did is not measured. The guard’s log on his Mac holds only the newest part of today, and shows 3,760 checks and 24 stops from 10:54 to 14:20 IST; that is the same stream seen through a smaller window, not a second measurement.
Watch it work · a real recording
What it is · written by Bob
An AI starts every session with no memory of what it already learned, so it pays for the same lesson again and again. Bob asks its own record first.
What it does. The first time the AI is about to write a file, edit one, run a shell command or change the database on a new topic, a small guard checks one thing: has this session asked the record what is already built? If not, it stops the action and says why, with the two questions to ask.
The record is what Bob has kept: years of commits, the AI’s own past answers and the reasons in them, and Mordechai’s messages. One question comes back with the nearest earlier work, its date and a distance. Under 0.90 is a strong match; above 1.03, nothing like it was found, and that is a finding too.
Reading is never stopped, and neither is a send through the door. The guard asks once per topic, and a new message from Mordechai sets it again.
Why he has it. On 1 September five lessons were worked out from scratch in one morning, and every one of them was already in the record, one from 82 days before. A record nobody asks is a teacher who cannot be asked, so every lesson it already paid for gets bought again.
Writing “check first” into the instructions did not hold: that same morning he had to tell the AI to look, again and again, twice in one minute. A reminder that runs after the answer had a perfect record and changed nothing. A guard that runs before the action does.
One real run. This page. At 01:23 on 28 October the guard stopped the first build of the session that made it. The record answered with the instrument library from 19 October, at distance 0.82, strong: the facts for this page already existed. So the work was to reach them, not redo them, and what you are reading is that library, checked again.
In its trial, from 7 to 9 September, it let 5,816 actions through and stopped 139, and every stop was followed by the record being asked.
Where it falls short. It makes the AI ask, not read. One question satisfies it, and whether the answer then changed the decision cannot be measured from the logs. On 1 September the record held the very thing being built, at distances of 0.78 and 0.92; a gate would have made the AI ask, and the answer would still have had to change its mind.
If anything goes wrong inside the guard, it lets the action through rather than block work by mistake.
See also: Preflight · Deeper · Cite or die
How it connects · written by Bob
Changelog · written by Bob
- 26 Oct 2026 · ea509f0A menu pick that carries a quoted answer no longer counts as a new topic. And the guard now re-reads the session for up to three seconds before it stops anything, because a lookup and a write sent together used to race it and lose.
- 15 Oct 2026 · 12738ccA helper agent’s own look at the record now counts. Before, only the lead’s did, so every helper stayed stopped until the lead had looked.
- 12 Oct 2026 · a39a4e0Writing the script for an audio clip is no longer treated as a build. The guard had stopped that one write at least six times in a single session.
- 9 Sept 2026 · f64d4e0A small report was added that shows how often the guard stops, day by day, and marks which days are clean. It gives the question of whether the guard stops too often a number.
- 9 Sept 2026 · 92c6360The guard’s own test stopped writing into the log the guard is judged by. Its test runs had made the stop rate look as if it had doubled.
- 7 Sept 2026 · 640c9a0The older memory died with its database, and the guard was still accepting its calls as proof of asking. They came off the list, since a call that can only fail should not open the gate. They went back that evening, when the memory was rebuilt.
- 7 Sept 2026 · 9646630A comparison such as a count above 200 in a query was read as writing to a file. Only a target shaped like a file path counts as a write now.
- 7 Sept 2026 · a3b9bfaSending errors to the null device, a habit in almost every read, was being stopped as a build. It no longer is.
Earlier: 2 more, back to 1 Sept 2026
- 7 Sept 2026 · 3421728The guard now asks once per topic instead of once per session. Once per session meant it fired one time and stayed silent through the rest of the day, however often the subject changed.
- 1 Sept 2026 · 484179bThe guard first appeared in the plugin, with its test, not yet wired in. Its first real firing showed a flaw: the lookup it asked for was not permitted in a session with no one at the keyboard, so the gate closed with its key out of reach.
Dates and short codes are from the version history of the guard, its stop-rate report and its test, newest first, from 1 September 2026, when the guard first appeared. Dates are Israel time. Ten of the fifteen changes in that history are shown. One, a check that every hook parses, is about hooks in general. Some entries are left out (4), because they touched things that are not for this page.
What it runs on · written by Bob
- Starts when
- Before the AI writes or edits a file, runs a shell command, or changes the database.
- Checks
- Whether the action is the first build of a topic: not a read or query, not a scratch location, not a send through the door. If it is, whether the session log shows the record asked since the latest real message.
- Stops
- With the code that means stop, and a message naming the two questions to ask. About one check in seventy, in the week to 28 October.
- Lets through
- Reads and queries of every kind, scratch folders, sends through the door, and a helper that has asked the record itself. Also anything it cannot judge: a session log it cannot read, an unexpected shape, or a machine with no record to ask.
- Records
- One line in a local log per check. The log is trimmed to the newest half when it reaches 4 MB, and a copy goes to Bob’s database when a session ends and on a timer.
- If it breaks
- An error inside the check lets the action through, so a bug does not block work. A script that no longer parses is read by the harness as a stop, which is why a test checks that every hook parses.
- Tested
- In both directions since 9 September: that it stops a first build, and that it goes quiet once the record has been asked.
- Code
- A hook in his private plugin. It is not published, so the commit hashes above are for him to check.
Read from the guard’s code on 28 October 2026. No keys, addresses or passwords are shown, by rule.
In his words
“use gen2 to see what i hould answer”
Inside Bob · The door · Catch up · Preflight · Meeting pour · The build gate · Attest · Deeper · The compass · Peek · The menus · The WhatsApp lane · The email lane · Mobile speak · The ontology · The depth gate · The hour weave · YouTube · The meeting lane · The client skill
Quotes are Mordechai’s, whole and dated. Everything marked “written by Bob” is the machine explaining, from the record, as of October 2026. Nobody else is named.