reelmimic is a project that creates a new video in the same style when you show it a video you like, and has AI agents such as Claude Code or Codex plan, implement, and even review that work. The merge commit 311d835 of November 5, 2026 added an enforcement layer, a harness, to it. The commit message summarizes a mapping between rules and the points where those rules actually take effect (enforcement), Claude Code hooks, and a single rule set shared by the two agents. The change stats are 1,919 lines added and 42 lines deleted.
The newly arrived code splits into two layers. The hook layer is the point where the agent intervenes just before and just after calling a tool, and at the moment it stops; the entry point is a single file, .claude/harness/hooks/dispatch.mjs, which reads the pre, post, and stop events. The policy layer blocks writes to and reads of secret files, git-related commands, and commands that spin up one more server. The secret file candidates are the environment variables REELMIMIC_SECRETS and CLONE_STUDIO_SECRETS, ~/.reelmimic/secrets.json, and the pre-rename ~/.clone-studio/secrets.json; commands that delete an entire parent folder containing key files are also caught through absolute path and ../ traversal analysis.
For speed, the hooks have a fast path. dispatch.mjs does not call the TypeScript handlers right away, but first filters out only the events that can be handled by pure JavaScript filters, and calls the handlers only when needed. The comments state that Node's type stripping when reading a .mts file takes about 22 ms before the first line executes, that this cost occurs twice per tool call (PreToolUse and PostToolUse), and that 870–2,330 tool calls per task were measured. The filters in fast.mjs are under a contract that they must be a superset — broader than the actual processing — so events with nothing to process may also flow through to the handlers.
That said, all of these figures are internal measurements left behind in the repository's code comments. On Windows, the hook invocation was a median of 99 ms over 15 runs, and the figure after the improvement appears to be contained in docs/HARNESS.md, which the comment points to. The way this is applied on the Codex side can only be inferred from the commit message's description, since no Codex-specific files appear in this change list. This change contains no version indication and no license change, and it came in as a branch merge commit. The structure of collecting rules and enforcement devices in one place has become clear, but where the range the agent can enforce on its own actually ends can only be judged by following the documentation and tests further.