self.md radar — 2026-10-25
the permission, the port, the branch, the harness
Google’s new policy clause keeps the usual promise about private content, then makes room for one exception: another Google service may use it in support of personalized ads. Elsewhere in this edition: a loopback port, a branch that can go quiet, and two harnesses sending very different token volumes through the same model.
1. Google’s personal-data exception now sits inside the policy
Google’s Privacy Policy took effect in a new form on October 16. It says a person may let services including Search or Gemini Apps access data from Google Photos, Gmail, and Drive for a more personalized experience. A few lines later comes the condition that deserves the slower read: Google says it does not show personalized ads based on content from those services unless the person makes that data available to another Google service that supports personalized ads.
Google also says it does not give advertisers direct identifiers such as a name or email unless asked. An advertiser is not handed an inbox. But a permission initially offered as better answers or recommendations can also open an ad-supporting service path. Treat that consent screen accordingly.
reading: Google Privacy Policy · reporting on the revision
2. OneMemory documents where its server stops being local
OneMemory runs its dashboard and REST API on port 8790, MCP-over-HTTP on 8791, and binds both to 127.0.0.1 by default. Its own instructions put a tunnel with authentication in front of the latter if it needs to reach a phone or a web client. The security document says a non-loopback bind refuses to start without an explicit token.
The documentation also gives the limits. Note bodies can be encrypted at rest, but titles, tags, timestamps, and writer labels remain plaintext; semantic embeddings are stored unencrypted. It rejects credential-shaped text on write by default, offers scoped tokens, and says a backup must keep its key apart. That is more useful than calling a SQLite file “private.”
reading: OneMemory’s README · its threat model
3. ThinkRail gives a quiet agent branch somewhere to go
JetBrains’ ThinkRail v0.2.0, published October 18, treats each agent workspace as a real Git worktree: its own branch, working directory, terminal, diff, and chat. The release adds a per-project shelf for quiet workspaces, a continuous changes-review tab with hunk triage, and turn receipts.
A dormant agent run can settle on that shelf after a merged or closed pull request, or after a quiet week. The utility arrives after activity ends: parallel work does not need to keep impersonating the active checkout forever. Someone can inspect the diff, merge it, or throw the branch away.
reading: ThinkRail v0.2.0 release notes
4. One open model, two coding harnesses, five missing fixes
Octomind’s updated Octobench report rebuilds 25 tasks from pull requests merged in 2026, across Python, PHP, Rust, C++, and JavaScript. It grades agents with each project’s held-out tests and publishes per-case traces, costs, and verdicts. The report’s cleanest comparison runs GLM-5.2 through two different harnesses: Octomind records 24 solved tasks; OpenCode records 19.
The authors say their harness sent about 8 million input tokens through a task where OpenCode used 30 million. That is their own benchmark, so it is not a neutral product ranking. But the traces and test outcomes are there to inspect. A model label cannot stand in for them.
reading: Octobench’s 25 real pull-request benchmark
left on the table
The revised study on AI assistance and persistence reports randomized trials with 1,222 participants. It deserves its own methods-first read.
Related self.md routes
- Personal AI OS tools — the control-plane map for personal agents, receipts, memory, and tools
- Best MCP servers — connect files, browsers, memory, search, and workflow tools without turning the stack into soup
- Agent memory systems — what agents should remember, what belongs in logs, and how to avoid memory sludge