Skip to content
brycewatson.com / log / 2026-08-17
interactive claude sessions / day peak 77

161 sessions · peak 77/day

Command handed its worker sessions to a standing manager and leaned on reviewers who hadn’t written the code, and the control-theory post went live.

  • shipped: built, merged, verified
  • in progress
see the same work by goal

Project: Command

144 sessions in this report · active 7/7 days

Watches all ~65 of my projects and keeps their Claude Code setups optimized and running cleanly: surfacing CI failures, stale or unpushed work, and config drift, and proposing the fix from one seat.

during this weekHanded the worker fleet to a standing manager session, fixed the sensors and escalations that kept reporting problems that weren’t real, and held the rule-pruning pass until reviewers can’t get past its guard.

archive
shipped aug 23

Put a standing manager session between the desk and its workers

The desk had been running the worker fleet itself. Following the Owner’s ruling, a standing manager session now stands up automatically whenever two or more durable workers run at once, and it has to leave a summary. On its first day successive managers handed the roster from one to the next, seated independent reviewers for the changes workers wrote, and landed work on those reviewers’ signed verdicts, while the manager’s own summary took several correcting rounds before it merged. The change itself merged less than two minutes after the Owner put a hold label on it, by a reviewer session that never read the labels again, which is the gap the hold guard closed later that day.

goal Build an always-aware autonomous operator that runs my standing goals with minimal hand-holding
shipped aug 23

Retro of the manager layer’s first day came back as a null result

An independent retro of the first day under a standing manager found no baseline to judge it against, so it reported the layer as shown neither worth its cost nor a waste. It did find a pull request merged less than two minutes after a hold label went on, and several dispatch packets that restated a four-part merge grant with one condition missing. A separate session got the study through CI without changing a finding, and it merged on a review of its mechanism alone.

goal Mine my own chat history for the methods that actually improve results
shipped aug 23

Made a hold label stop a session’s merge

A pull request had merged less than two minutes after it was labelled hold, with the label still on. The guard that closes that gap sits in a path only the Owner may approve, so it was built whole and staged as a draft, then taken through several independent reviews, including a cold reviewer that attacked the property it protects four different ways and couldn’t break it. It merged the same afternoon.

goal Make my operator's behavior reliably evolvable through skills and durable rules
shipped aug 23

Gave sessions one durable queue for handing each other work

Worker sessions needed a durable way to hand each other work. A cross-session queue now gives them one channel, deduplicated by subject, and its reviewer confirmed that every deliberately broken version of it was caught by a test. A follow-up that prints the queue when a session starts went through several review rounds and merged just after the week closed.

goal Keep a live status picture across all my projects
shipped aug 23

Caught several sensors reporting things that weren’t true, and fixed their inputs

On the manager layer’s first day several of the operator’s sensors reported things that weren’t true, each computed carefully over an input nobody had checked, and a study named them. Fixes landed the same day: CI status now reads a skipped job as skipped rather than failed, which cleared a false fleet-wide blocked signal, and the credential check reads the real breaker instead of scanning stored prose, which had been telling the Owner to re-authenticate a working token. Session startup also now measures how stale the checkout is before anything else.

goal Keep a live status picture across all my projects
in progress aug 23

Built a pass to prune the always-loaded rules, and held it when reviewers kept getting past its guard

The operator’s always-loaded rules kept running into their size budget, so a recurring pass was built to prune them instead of only reporting their size. Independent reviewers kept finding routes past its guard, including a genuinely edited rules file it still passed, and each round of fixes met a new route. At the week’s end it was held with a named blocker rather than merged.

goal Make my operator's behavior reliably evolvable through skills and durable rules
shipped aug 23

Tested whether the operator’s scheduled work can run on Codex

A readiness study for a switch to Codex found that every scheduled routine stops silently once the Claude limit is spent, that the Codex command on the path fails every sandboxed command while still exiting as a success beside a newer build that works, and that headless sandboxed runs have no network under either sandbox mode. An independent reviewer confirmed each blocking claim at source but sent the study back for corrections, including a key instruction written for the wrong shell. It merged that night after further review rounds.

goal Build an always-aware autonomous operator that runs my standing goals with minimal hand-holding
shipped aug 23

Compared the operator with similar tools, read at source

Two studies looked at tools built for similar jobs. One read a comparable open-source tool’s source without running it and listed the ideas the operator already has; the other surveyed the wider field for what’s worth taking. Reviewers of the second checked that its cited sources were pinned to fixed versions that still said what the study quoted, and both merged.

goal Build an always-aware autonomous operator that runs my standing goals with minimal hand-holding
shipped aug 23

Kept the knowledge base current through a stuck update and a CI outage

The nightly digest updated the operator’s knowledge base on several nights, and one night stood down on purpose because the previous update was still unmerged and its reviewers had found false claims in it. A later update sat blocked for two days, first by a repository-wide CI outage and then by a conflict in its append-only log, until a separate session fixed the nine problems its review raised and an independent reviewer signed it. The weekly lint came back clean apart from one gap: a revenue goal with no coverage in the knowledge base.

goal Make my operator's behavior reliably evolvable through skills and durable rules
shipped aug 23

Traced a repository-wide CI stoppage to a billing failure, then measured the spend

On Saturday every CI and auto-merge run in the operator’s repository started failing within seconds, before any step ran, and the cause turned out to be an exhausted spending limit rather than the code, so nothing could merge until it was cleared. A follow-up study converted the month’s runs into billed minutes and found the merge robot, though it made most of the runs, was a minority of the cost; most of the bill came from the Windows quality gate and its test step.

goal Build an always-aware autonomous operator that runs my standing goals with minimal hand-holding
shipped aug 23

Drew the worker fleet as timelines to show what the state board can’t

A mock-up drew the worker fleet as timelines, with a written account of what that view shows that the state board can’t. Its independent reviewer rebased it past conflicts in two shared registries, checked it against a launcher parser change that had merged minutes earlier, and signed it through to merge.

goal Keep a live status picture across all my projects
in progress aug 23

Checked how to detect a hung worker before building the watch

A worker had sat stuck with nothing watching for it, so a session was sent to build a hung-session watch. Reading the session list at its source first, it found the premise inverted: the state that looked like being stuck means the session has already exited, while the real waiting condition lives in a different field whose timestamp gives a true waiting time. It reported that before building anything.

goal Keep a live status picture across all my projects
shipped aug 23

Retired the rule that dispatched work waits on the Owner’s click

The desk’s playbook still told it to dispatch work as task chips that sit until the Owner clicks them, and it carried two claims that measurements had since disproved. The rule was retired, both claims were corrected, and a limit on messaging between sessions was narrowed to the kind of session that actually hits it. An independent reviewer held the change through three passes, one of them over a blocker introduced by merging the main branch into it, before signing.

goal Make my operator's behavior reliably evolvable through skills and durable rules
shipped aug 22

A parked checkout stopped the overnight jobs, and preflight now repairs a clean one

The shared checkout every scheduled job reads was left on a desk session’s branch, and from Thursday into Friday the remediation loop, the nightly digest, and the nightly shift each stopped at their safety check instead of running. Preflight could only report the condition, so it kept filing new issues for the same branch; it now repairs a clean parked checkout on its own. Worker records that existed only in that one checkout were also backed up to the main branch, merged with it rather than copied over it.

goal Keep a live status picture across all my projects
shipped aug 22

Let a cleared escalation close its own issue

Firing after firing, the remediation loop confirmed that open escalation issues described problems that had already cleared, then stopped, because it isn’t allowed to close issues. After repeated failed attempts it diagnosed the real gap: the shared code that files escalations could open and refresh one but never retire it. A cleared checkout escalation now closes its own issue, the nightly digest’s flags do the same, and two jobs racing to report one problem now file a single issue.

goal Keep a live status picture across all my projects
shipped aug 22

Landed the seven fixes from the retro that found sensors outrunning actuators

A retro found the operator detecting problems well and rarely closing them, with friction reports closing far less often than other issues. Its seven items went out as a batch, and the sessions sent to build them overturned two of its findings, and a scheduled follow-through job carried them to merge across the weekend, rescuing two branches that were stuck behind a main branch gone red on its own size budget. All seven landed and the follow-through job was retired, though a friction backlog reset that was part of the plan never happened.

goal Operate that signal engine and measurably cut my own recurring friction
in progress aug 22

Ran the nightly shifts, the weekly sweep, and the contest watch

The unattended nightly shift ran its self-checks and clocked out flagged each night it could run, filed a dead-credential item for the Owner that a later fix showed was a false alarm, and found that its record store silently cuts long fields short. The weekly sweep came back degraded and caught its own trend calculation reading history in the wrong order, which would have hidden a growing backlog. The weekly contest watch found the venue it tracks still closed.

goal Keep a live status picture across all my projects
shipped aug 21

Found that finished work stalls at handoffs nobody owns

A study applied a published method for cutting unnecessary work to the operator’s own recurring jobs. The suspicion that Command had automated things it should have deleted held for only a minority of them; the measured constraint was finished work stopping at a handoff to a person that nobody owned. A scheduled follow-up then corrected figures left stale in its summary.

goal Build an always-aware autonomous operator that runs my standing goals with minimal hand-holding
shipped aug 21

Added a brief that fires when the Owner returns, covering only what changed

When the Owner comes back after time away, a brief now fires that covers only what changed while he was gone. Installing it touched hooks only the Owner may approve, so it was built, independently checked for failing open safely and for its cost on the common path, and held for his approval. It merged the next day.

goal Keep a live status picture across all my projects
shipped aug 20

Studied when a written rule is enough and when it needs a mechanism

A study of the operator’s sessions asked when a written rule holds on its own and when it needs code behind it. The clearest finding: a rule that asks a session to add something tends to hold, while one that asks it to hold something back tends to fail. Reviewers overturned several of the first draft’s conclusions, and the revised study merged.

goal Make my operator's behavior reliably evolvable through skills and durable rules
shipped aug 20

Required Owner-facing pages to be rendered from a template

Pages written for the Owner had been typed out by hand. They now have to be rendered from a template, and a page’s age counts from when its facts were read rather than when it was drawn, so a re-render can’t pass stale facts off as fresh. An independent review found that several of the change’s own guards didn’t do what their comments said, confirmed by removing each one and re-running the tests, and they were fixed before it merged.

goal Keep a live status picture across all my projects
in progress aug 20

Made the review step refuse to run in the session that wrote the change

Every automatically triggered review ran in the same session that wrote the code, so each one was a self-review by construction. The review step now refuses when the session running it wrote the change, and an independent pass caught that the first version still called the author independent once its work was committed. The change had not merged by the week’s end, and sessions later in the week found the guard misses edits made through the shell.

goal Make my operator's behavior reliably evolvable through skills and durable rules
shipped aug 19

The remediation loop shipped a run of small repairs between halts

Between halts, the unattended remediation loop took one backlog item per firing and shipped a steady run of small fixes: the nightly ingest stopped re-asking questions the Owner had already answered, a follow-through sensor that had outgrown its own pull-request limit was widened, shifts could finally run npm on Windows, and a knowledge-base lint now checks a claim that nothing happened rather than only the empty record behind it. Items too large or too risky to fix inline were skipped and recorded, and later in the week the loop withheld its own review sign-off so a separate session had to approve a change before it merged.

goal Make my operator's behavior reliably evolvable through skills and durable rules
shipped aug 19

Shipped the control-operations retro’s fixes through five parallel sessions

A retro of recent sessions ranked the friction met in day-to-day control work, and the Owner asked for all of it built. Five sessions ran in parallel, each through its own review team: the desk got a digest that reports only what changed and a way to park and wake, standing rules got a durable home, the desk sensors learned the other runtime’s session shapes and now count over a dozen desk sessions where they had seen one, and changes that matter to the Owner are now pushed to him.

goal Mine my own chat history for the methods that actually improve results
shipped aug 19

Assembled the daily letter each day, correcting its own queued-work claims

The Owner’s daily letter was assembled every day of the week, and every letter but Friday’s reached the main branch, though Monday’s sat green and unmerged for two days. Assembly kept catching its draft calling dispatched work queued when that work had already landed, and it corrected those rows before shipping. Once the rule against self-review arrived, the shift that writes a letter could no longer sign it, so later letters waited for a separate reviewer.

goal Keep a live status picture across all my projects
shipped aug 19

Retired the desk’s automatic handoff at a context threshold

The desk had been handing itself to a successor whenever its context passed a fixed threshold, and in a single day that produced about a dozen handoffs. On the Owner’s ruling the trigger was retired, so the desk no longer measures its own context or hands off because of it. The same day the always-read startup files, whose size ceiling had been set equal to their current size, were given room to grow.

goal Make my operator's behavior reliably evolvable through skills and durable rules
in progress aug 19

Fixed the decision board’s composer, and found the board misreporting a publish

The Owner’s decision board kept rulings the desk had already executed in its outgoing message, and a second Compose click said nothing had been answered, which read as lost selections. Executed rulings now clear themselves and the composer keeps every ruling. Later the desk found the board claiming nothing had been published the morning after the control-theory post went live, because two working checks had gone dormant on a mismatched key name, and that fix had not merged by the week’s end.

goal Keep a live status picture across all my projects

Project: Akaya

5 sessions in this report · active 2/7 days

An AI platform. My work here makes its question-answering measurable and trustworthy: golden datasets and a real evaluation harness instead of guesswork.

during this weekA staged production plan waits to be carried out one step at a time.

in progress aug 23

Staged a production deployment plan for Akaya

Mapped what was still needed before a production deployment, then staged a plan with the blast radius and rollback for each step. Nothing was run against production.

in progress aug 21

Prepared a status brief for a meeting, then wrote up its outcomes

Ahead of a meeting, put together a status brief on what had been released and what came next. Afterwards, turned the outcomes into a written summary and one tracked issue for the next round of work.

Project: brycewatson.com

8 sessions in this report · active 3/7 days

This site: the writing, the build, and this work log itself, kept current and accurate.

during this weekPublished the control-theory post, gave drafts a preview route that leaves the draft flag alone, and found the defects the next weekly log has to avoid.

archive
shipped aug 20

Published the control-theory post after clearing my objections

The control-theory post went live on Thursday night. Before it did, the fixes for my objections were checked in the rendered page: a real cover, a written summary instead of a clipped excerpt, and a diagram label that had called the world the thing held steady, which turned out to be wrong in the hero image as well as the inline figure. The publishing session’s own merge was stopped by a permission check on deploying, and it declined to grant itself that permission.

goal Ship the next most valuable blog post each week, fact-checked
shipped aug 20

Gave draft posts a preview route that leaves the draft flag alone

The site’s blog route filters out drafts, so previewing a draft post had meant flipping its draft flag in the working copy. A second route now renders drafts without touching that flag, and it served a local preview of the control-theory post and its listing card, each checked with a real request. The same session confirmed the post’s cover and summary change was green and left the draft flag unchanged.

goal Keep this site clean, accurate, and current
in progress aug 20

Built one command that refuses a preview link for a post with a known fault

I had been asked to review posts that still carried faults I had already complained about. A single command now builds and serves the preview, and refuses to print its link while the post carries one of those faults, a list built by searching my past complaints across the chat history. It was green and held for an independent review at the week’s end.

goal Hold everything I publish to a hard quality and honesty bar
in progress aug 20

Reviewed the previous weekly log and found three defects in how it was made

An independent review of the previous week’s work-log pull request found that its per-project lines were never refreshed because the prompt only insisted on rewriting the headline, that the run had fired before the week closed and measured a partial week, and that regenerating it from the pull request’s own branch counts that pull request’s commit. A scheduled job served the pull request locally for review, and the next weekly run stopped rather than open a second one while it stayed open.

goal Ship an auto-updating weekly work log as honest proof of recent work
in progress aug 20

Followed up on the site’s search-engine webmaster setup

A scheduled follow-up checked whether the site had been registered with Bing’s webmaster tools. The repository couldn’t answer that either way, since the recommended setup route leaves no trace in it, so the job asked instead of guessing.

goal Keep this site clean, accurate, and current

Project: honestweek

1 session in this report · active 1/7 days

An open-source tool that generates an honest weekly work log: it re-derives every number from real git and aborts the build rather than publish an unverified claim, and redacts private detail by rule. It is the engine that now generates this page.

during this weekThe weekly findings job runs end to end, but its top candidate didn’t survive checking, so how often the detector is right is the open question.

archive
in progress aug 20

Weekly findings run drafted a candidate that didn’t survive checking

The weekly job that mines session logs for publishable solved problems ran cleanly and drafted its top candidate, which didn’t hold up: checked against its own evidence it was a detector false positive, its related bug reports were unrelated, and several of my own repositories had been counted as outside projects. The own-repository list was corrected, the draft was rewritten to record the checking, and the change went up for review.

goal Hold everything I publish to a hard quality and honesty bar

Project: DemandForge

1 session in this report · active 1/7 days

A category-authority research engine: it earns trust by producing original, sourced research for a product category, then points that trust at products. The machine does the labor; I approve in about fifteen minutes a day.

during this weekOne of the venture’s two test pages is indexed and the other still hasn’t been fetched, and the indexed one can’t be credited to the earlier sitemap change.

archive
shipped aug 20

Re-checked the venture’s two test pages in search, and found them split

A pre-registered re-check of the venture’s search coverage found its two test pages had split: one had been crawled and indexed, the other still never fetched. Four claim reviewers pushed the read further, and new measurements of the sitemap report, the crawl history, and a control page showed the site is crawled routinely, so the indexed page can’t be credited to the indexing request, and the review named a third possible cause the first draft had missed. The result was recorded with that finding.

Project: Personal

1 session in this report · active 1/7 days

The life and money admin that keeps the runway clear while I build.

during this weekKept the personal billing record current.

in progress aug 20

Kept the personal billing record current

A scheduled job updated the personal billing record.

Project: Personal R&D private

1 session in this report · active 1/7 days

Private experiments in agentic systems and tooling, kept off the public projects list. The kind of work that tests an idea end to end before it earns a name.

during this weekThe research build passed on a second class of subject, with two of its own claims corrected by review.

in progress aug 19

Advanced the personal computer-vision research build, and corrected two of its own claims

Ran another cycle of a personal research build that reconstructs a photograph in three dimensions, and it passed on a second class of subject. A multi-lens review then broke two of its own claims: a repaired control was still blind on one kind of geometry, and one measured margin was overstated in the direction that manufactures a pass. The corrected verdict still held, and the cycle went up as an unmerged pull request, as the task requires.

next up Keep running the standing manager layer, and land the rule-pruning pass only once reviewers can no longer get past its guard.

Send feedback

This goes to my inbox through Web3Forms, with this page's address attached. The form sets no cookies.