A working journal by Eric MacDougall

Notes from inside the work.

On agents, engineering judgment, infrastructure, and the gap between a convincing demo and a system you can trust.

Eric MacDougall Built in public, with sources and the edges left visible.
FIELD NOTE / 001OBSERVE THE OUTCOME
Work, controls and independent evidence meet at the release decision
Faster work needs
better evidence.
FIELD NOTE 01
AGENT ENGINEERING ✳ COMPUTER USE ✳ COMPUTE FABRICS ✳ INDUSTRIAL AI ✳ ENGINEERING TEAMS ✳ MODEL CONTROL

01 / Watch

The films, in one playlist.

56 overview films. Each one has a full written essay behind it.

Field essayRestart is where a deletion tool can lose the only backup
Field essayWhat the subscription meter actually charged for tokens
Field essayThe five-minute cache cliff that made waiting subagents expensive
Field essayA merge gate must prove the tests ran
Field essayA merge needs proof of no change
Field essayDesign the evidence-review screen before automating the decision
Field essayA fleet pause must reach the process tree
Field essayThe dependency cache belongs before the credential boundary
Field essayMeasure context costs before building an agent steward
Field essayA safe AI widget is a small capability system
Field essayKey rotation has two readers and one writing authority
Field essayRetire worktrees by consumer lifetime, not terminal task status
Field essayMake model failover preserve the agent contract
Field essayDesign recovery semantics into the safety state machine
Field essayDecompose work around contracts and integration costs
Field essayA retrieval system needs to know who will read the answer
Field essayPersonal agents need private authority, recoverable work and measured operating budgets
Field essayTrace agent decisions without turning telemetry into a private-content store
Field essayPort agent controls across runtimes without assuming hook parity
Field essayBuild the test harness around cross-system invariants
Field essaySeparate probabilistic development from deterministic shipping
Field essayRegional cells need one home for mutable authority
Field essayAgent fleets need explicit ownership transfers before more workers
Field essayParallel AI checks need a release contract before they need more workers
Field essayMemory success has to confirm the requester, address and receipt
Field essayA semantic firewall needs an enforcement architecture
Field essayGive each agent turn its own authority
Field essayDesign the authority boundary between a chatbot, an assistant and an agent
Field essayRecheck current policy authority before protected bytes leave
Field essayRoute AI work by the cost of accepted outcomes
Field essayUnknown is an outcome: designing agent systems around lost replies
Field essayDurable agents need agreement between delivery, ownership and effects
Field essayWe measured local safety models. The hard part was deciding what “works” means.
Field essayBudget agent work before dispatch, then reconcile what actually happened
Field essayTurn engineering standards into agent execution contracts
Field essayExact-effect approvals: bind the request, preserve the meaning, verify the outcome
Field essaySupervising AI agents: queues, steering, interrupts and bounded learning
Field essayAuthorized recall: why a safe retriever can still find nothing
Field essayRead can send: designing browser egress for AI agents
Field essayWhy a streaming security check can be too late
Field essayBuild the tool broker around the authority that survives alternate paths
Field essayWhere JEV earned a decision, and where we replaced it
Issue 14The demo worked. The engineering problem began afterward.
Issue 13The agent timed out after the change went through
Issue 12The agent missed the one fact that mattered
Issue 11The schema is green. The action is wrong.
Issue 10The attention drift bubble
Issue 09What computer-use agents can prove
Issue 08The release gate is the product
Issue 07Hire engineers for the decisions
Issue 06Your agentic workflow depends on other people’s rules
Issue 05AI in industrial control needs physical evidence
Issue 04The GPU number is not the compute product
Issue 03Where model control actually lives
Issue 02Model consensus is not engineering evidence
Issue 01Agents need an independent exam

02 / Latest essays

Long reads, newest first.

Oct 22, 2026Safe agent-assisted change delivery

Let a business operator request a site change without handing AI a deploy token

A non-engineer can request a bounded change without becoming a proxy for unchecked code. Run generation without network or deployment credentials, enforce an exact file boundary, build and review a pinned artifact, and promote through a separate trusted deploy authority.

6 min read · Published Oct 22, 2026
Oct 22, 2026Test isolation and operational reliability

The offline test that spent the production quota

A fake transport is not a network boundary, and an empty negative control is not evidence. Deny egress at the test runner, keep production credentials out, prove the block with a harmless control, and preserve an unknown outcome when readback is unavailable.

6 min read · Published Oct 22, 2026
Oct 22, 2026Infrastructure reliability and incident operations

The 192-core server was still waiting on one kernel worker

High CPU capacity does not guarantee progress when a serialized cleanup path stalls. Reduce sandbox churn, terminate whole process groups, add mechanism-specific early signals, and replay alarms against observed samples before retuning. Keep a local diagnosis distinct from an unverified upstream cause.

6 min read · Published Oct 22, 2026
Oct 22, 2026Assistant identity and credential authority

Let an agent ask for a credential without ever seeing it

Separate the agent’s request from the secret value. Bind operator input to the live run, requesting step, target and logical credential; resume the waiting work without returning the value to the transcript.

6 min read · Published Oct 22, 2026
Oct 22, 2026Distributed agent operations and coordination

Shared Git state is the fleet coordination bug

Git worktrees isolate checked-out files but leave shared repository metadata and remote publication requiring coordination. Several observed failures had distinct causes and required different controls.

6 min read · Published Oct 22, 2026
▶ FILM
Oct 22, 2026Engineering operations and release systems

Restart is where a deletion tool can lose the only backup

A deterministic archive key and a completion receipt written after source deletion can make a retry overwrite the only backup. Model each external write, verification and destructive local effect as durable states.

6 min read · Published Oct 22, 2026
Oct 22, 2026Engineering operations and release systems

When an agent writes a one-off script, it skips your safety rails

A one-off operations script can bypass approval capture and host refusal even when the underlying operation works. Make the shared CLI the policy boundary and improve it when agents reveal missing options.

6 min read · Published Oct 22, 2026
▶ FILM
Oct 22, 2026AI operating cost and harness design

What the subscription meter actually charged for tokens

API list prices were a poor proxy for subscription quota. Isolated token-class experiments measured reads, writes and output separately and changed the optimization ranking.

6 min read · Published Oct 22, 2026
▶ FILM
Oct 22, 2026AI operating cost and harness design

The five-minute cache cliff that made waiting subagents expensive

A short cache lifetime mismatched to subagents waiting behind long commands caused large prompt-prefix rewrites. Configure lifetime by worker role and verify positive and negative paths; meter savings remain unmeasured.

6 min read · Published Oct 22, 2026
Oct 22, 2026AI operating cost and harness design

One per-session line broke the shared prompt cache

A per-session value in an early tool description made otherwise stable headless prompts diverge; route dynamic values only to the client that consumes them and keep remaining entropy separate.

6 min read · Published Oct 22, 2026
▶ FILM
Oct 22, 2026Engineering operations and release systems

A merge gate must prove the tests ran

A successful process exit does not prove tests executed; gates must distinguish command success, test execution, baseline comparison and unknown evidence.

6 min read · Published Oct 22, 2026
▶ FILM
Oct 22, 2026Agentic engineering operations

A merge needs proof of no change

A similarity heuristic cannot prove reviewed work is already merged; simulate the exact merge against current main and compare the resulting tree, including reverts relative to the task fork point.

6 min read · Published Oct 22, 2026
▶ FILM
Oct 22, 2026Security boundaries and operational reliability

Key rotation has two readers and one writing authority

During key migration, prepare and try one decryption candidate at a time so malformed fallback configuration cannot break a valid current-key read; new writes still use one current authority.

6 min read · Published Oct 22, 2026
▶ FILM
Oct 22, 2026Distributed systems and durable ownership

Retire worktrees by consumer lifetime, not terminal task status

A terminal task state is only a candidate; safe worktree retirement requires the last consumer to release a shared lease, a fresh owner snapshot and verified private recovery outside the target.

5 min read · Published Oct 22, 2026
▶ FILM
Oct 22, 2026Product authority and evidence systems

Design the evidence-review screen before automating the decision

An evidence-review product must separate read-only inspection, bounded extraction proposals, conflict review and explicit human acceptance; the model does not inherit the decision right.

6 min read · Published Oct 22, 2026
Oct 22, 2026SRE and resource-aware observability

A read-only observer still needs backpressure

Read-only describes data mutation, not resource cost. A safe observer checks pressure during long reads, stops only its owned child, preserves last-good data and makes incomplete evidence explicit.

5 min read · Published Oct 22, 2026
▶ FILM
Oct 22, 2026Distributed systems and operational control

A fleet pause must reach the process tree

A task is not cancelled until its lifetime reaches admission waits, Git, install descendants and filesystem recovery; cancellation must leave a state the next attempt can trust.

6 min read · Published Oct 22, 2026
▶ FILM
Oct 22, 2026Economics, workflow design and recovery

The dependency cache belongs before the credential boundary

A dependency cache is shared mutable state. Bind identity to exact inputs, publish complete trees atomically, limit install credentials and choose deliberately between shared reuse and per-step copy.

5 min read · Published Oct 22, 2026
▶ FILM
Oct 22, 2026Economics, workflow design and recovery

Measure context costs before building an agent steward

Model the fleet-wide share a context change reaches before funding a Steward. Injected-text share, cached-token cost and total usage are different denominators.

5 min read · Published Oct 22, 2026
▶ FILM
Oct 22, 2026Agent security and capability boundaries

A safe AI widget is a small capability system

Treat model-authored JavaScript as executable content: constrain its language, isolate browser capabilities, pin the trusted bridge and bind the serving route to the reviewed version.

6 min read · Published Oct 22, 2026
▶ FILM
Oct 20, 2026Economics, workflow design and recovery

Make model failover preserve the agent contract

A fallback route changes more than a model name: tool representation, role separation, budgets, privacy and refusal behavior can all differ.

11 min read · Published Oct 20, 2026
▶ FILM
Oct 20, 2026Economics, workflow design and recovery

Design recovery semantics into the safety state machine

A safety gate needs to preserve evidence and conservative uncertainty while distinguishing historical observations from current authority to hold execution.

11 min read · Published Oct 20, 2026
▶ FILM
Oct 20, 2026Economics, workflow design and recovery

Decompose work around contracts and integration costs

Use the whole-versus-pieces experiment to explain when decomposition creates useful independent boundaries and when repeated setup fragments an interdependent implementation.

12 min read · Published Oct 20, 2026
▶ FILM
Oct 20, 2026Development, delivery and runtime architecture

Personal agents need private authority, recoverable work and measured operating budgets

Long-running personal agents need user-specific compute, storage, credentials and network authority. Multiplexed conversations alone do not create isolation.

11 min read · Published Oct 20, 2026
▶ FILM
Oct 20, 2026Development, delivery and runtime architecture

Trace agent decisions without turning telemetry into a private-content store

Keep the links needed to reconstruct decisions and reconcile effects while minimizing stored prompts, credentials and sensitive low-entropy data.

11 min read · Published Oct 20, 2026
▶ FILM
Oct 20, 2026Development, delivery and runtime architecture

Port agent controls across runtimes without assuming hook parity

Different CLIs, IDEs and operating systems expose different observation and denial points. Port the contract, then prove each runtime route.

11 min read · Published Oct 20, 2026
▶ FILM
Oct 20, 2026Development, delivery and runtime architecture

Build the test harness around cross-system invariants

A test should encode the business or security promise across components, with an oracle independent of the actor and an outer containment boundary.

12 min read · Published Oct 20, 2026
▶ FILM
Oct 20, 2026Development, delivery and runtime architecture

Separate probabilistic development from deterministic shipping

Models can propose changes and repairs. A narrow release controller can decide whether exact reviewed and tested artifacts meet a fixed contract, without reasoning its way around it.

11 min read · Published Oct 20, 2026
▶ FILM
Oct 20, 2026Distributed execution and policy

Regional cells need one home for mutable authority

Portable containers do not make state ownership, residency and failover portable. Define one authoritative home for mutable state before adding regions.

12 min read · Published Oct 20, 2026
▶ FILM
Oct 20, 2026Distributed execution and policy

Agent fleets need explicit ownership transfers before more workers

More workers help only when task ownership, resource admission and shared-state authority remain coherent.

12 min read · Published Oct 20, 2026
▶ FILM
Oct 20, 2026Distributed execution and policy

Parallel AI checks need a release contract before they need more workers

Parallel checks help only when the release condition, ownership of output fields and behavior of late branches are defined in advance.

12 min read · Published Oct 20, 2026
▶ FILM
Oct 20, 2026Assistants, identity and authority

Memory success has to confirm the requester, address and receipt

Memory changes future behavior across turns. Tenant scope, namespace, origin, current permissions and deletion semantics matter as much as retrieval relevance.

12 min read · Published Oct 20, 2026
▶ FILM
Oct 20, 2026Assistants, identity and authority

A retrieval system needs to know who will read the answer

Requester authorization and answer-audience authorization are separate questions. A user may be allowed to read something that cannot be disclosed into the destination conversation.

11 min read · Published Oct 20, 2026
▶ FILM
Oct 19, 2026Economics, workflow design and recovery

Design agent supervision around delivery, intervention and bounded learning

Use deterministic event observation, bounded independent model judgment and a constrained intervention controller; spend review effort where it changes accepted outcomes.

13 min read · Published Oct 19, 2026
▶ FILM
Oct 19, 2026Economics, workflow design and recovery

Budget agent work before dispatch, then reconcile what actually happened

A token counter after completion cannot enforce a hard pre-dispatch exposure bound across parallel work and ambiguous provider outcomes.

11 min read · Published Oct 19, 2026
▶ FILM
Oct 19, 2026Economics, workflow design and recovery

Route AI work by the cost of accepted outcomes

Choose among routes that preserve privacy, authorization, tool semantics and required quality, then optimize expected accepted-work cost under quota and latency constraints.

11 min read · Published Oct 19, 2026
▶ FILM
Oct 19, 2026Development, delivery and runtime architecture

Turn engineering standards into agent execution contracts

Agents need explicit constraints at admission, implementation, review and release, connected to the product decision that justified them.

11 min read · Published Oct 19, 2026
▶ FILM
Oct 19, 2026Distributed execution and policy

Recheck current policy authority before protected bytes leave

An immutable signed policy revision is an evidence artifact. Current authorization can change while model inference or transformations are running.

11 min read · Published Oct 19, 2026
▶ FILM
Oct 19, 2026Distributed execution and policy

Unknown is an outcome: designing agent systems around lost replies

A timeout does not determine whether an external action happened. Retrying safely requires a durable operation identity and a reconciliation path.

11 min read · Published Oct 19, 2026
▶ FILM
Oct 19, 2026Distributed execution and policy

Durable agents need agreement between delivery, ownership and effects

A workflow is more than a queue. State changes, durable delivery, worker ownership and publication authority must agree across retries and crashes.

11 min read · Published Oct 19, 2026
▶ FILM
Oct 19, 2026Semantic firewalls, retrieval and evaluation

Where JEV earned a decision—and where we replaced it

Evaluate decision systems per class and effect: dynamically constrain candidates, use JEV where measured, and replace or escalate it when deterministic scenarios or stronger models own the uncertainty better.

11 min read · Published Oct 19, 2026
▶ FILM
Oct 19, 2026Semantic firewalls, retrieval and evaluation

Authorized recall: the retrieval budget has to belong to the caller

A retrieval system must preserve authorized recall, freshness and evidence coverage while keeping token and latency costs bounded.

12 min read · Published Oct 19, 2026
▶ FILM
Oct 19, 2026Semantic firewalls, retrieval and evaluation

A browser is an outbound capability: how I separate destination, data and authority

Read-looking operations can send information outward through URLs, redirects, images, unfurls and fetched resources.

12 min read · Published Oct 19, 2026
▶ FILM
Oct 19, 2026Semantic firewalls, retrieval and evaluation

Fourteen cuts through a streaming security boundary

A whole-response security decision cannot protect bytes already delivered. Define the protected unit and release boundary before choosing streaming UX.

11 min read · Published Oct 19, 2026
▶ FILM
Oct 19, 2026Semantic firewalls, retrieval and evaluation

We measured local safety models. The hard part was deciding what “works” means.

Secret detection, exact redaction and content classification are different jobs. A cheap classifier that finds everything can still be unsuitable because it blocks ordinary traffic or cannot identify spans.

11 min read · Published Oct 19, 2026
▶ FILM
Oct 19, 2026Semantic firewalls, retrieval and evaluation

A semantic firewall needs an enforcement architecture

Semantic detection supplies a risk signal. The durable protection comes from the places that control reads, actions, disclosure and rendering even when the detector misses an attack.

11 min read · Published Oct 19, 2026
▶ FILM
Oct 19, 2026Assistants, identity and authority

Build the tool broker around the authority that survives alternate paths

A model proposes a typed action; an independently authorized executor controls credentials, object access and effectful routes.

11 min read · Published Oct 19, 2026
▶ FILM
Oct 19, 2026Assistants, identity and authority

Make human approval survive changes in payload and context

A human approval becomes useful execution authority only when it commits to the action’s identity, payload and current effect context.

11 min read · Published Oct 19, 2026
▶ FILM
Oct 19, 2026Assistants, identity and authority

Give each agent turn its own authority

Keep the stable bot/service identity separate from the human authority delegated for one turn. Recompute authorization as the conversation and its audience change.

11 min read · Published Oct 19, 2026
▶ FILM
Oct 19, 2026Assistants, identity and authority

Design the authority boundary between a chatbot, an assistant and an agent

Capability growth changes the system’s trust model. Public explanation, authenticated account help and autonomous action deserve distinct data paths, identities and acceptance criteria.

12 min read · Published Oct 19, 2026
Sep 28, 2026Harnesses and protocols · Issue 16

Name the layer before you merge the stack

MCP is tools and data. UHP draft is the product-to-harness job contract. Execution substrate is where the agent runs. Name the layer before you merge the stack.

14 min read · Published Sep 28, 2026
Sep 28, 2026Harnesses and effect boundaries · Issue 15

Your hook ran. Did the forbidden action stay blocked?

How to prove an agent control protected the consequential target across tools, shells, delegation and service credentials.

15 min read · Published Sep 28, 2026
▶ FILM
Sep 25, 2026Engineering ownership · Issue 14

The demo worked. The engineering problem began afterward.

Why a convincing agent-built demo is the beginning of product ownership and engineering evidence.

14 min read · Published Sep 25, 2026
▶ FILM
Sep 25, 2026Agentic operations · Issue 13

The agent timed out after the change went through

How to recover an agentic operation when the reply is lost after the effect begins.

15 min read · Published Sep 25, 2026
▶ FILM
Sep 25, 2026Agent context architecture · Issue 12

The agent missed the one fact that mattered

A field guide to specialist memory, source-linked context packets and intervention timing when retrieval misses a consequential condition.

12 min read · Published Sep 25, 2026
▶ FILM
Sep 25, 2026Decision-model architecture · Issue 11

The schema is green. The action is wrong.

What token masks can guarantee, what typed confidence cannot prove, and where evidence, service authority and readback finish the job.

10 min read · Published Sep 25, 2026
▶ FILM
Sep 25, 2026Organizational attention · Issue 10

The attention drift bubble

AI can generate every plan, summary and task while a decisive condition quietly disappears. Measure attention debt and preserve source-linked decisions across every handoff.

13 min read · Published Sep 25, 2026
▶ FILM
Sep 25, 2026Computer use · Issue 09

What computer-use agents can prove

A field guide to browser, desktop, and app agents: speed, blind spots, and outcome-level testing.

13 min read · Published Sep 25, 2026
▶ FILM
Sep 25, 2026Software delivery · Issue 08

The release gate is the product

Agent-written code can pass every test for a shortened requirement. A release needs the source product decision, exact artifact, independent evidence and a bounded customer readback.

12 min read · Published Sep 25, 2026
▶ FILM
Sep 25, 2026Engineering teams · Issue 07

Hire engineers for the decisions

Architecture, attention, communication, focus, and fundamentals when agents write more of the code.

13 min read · Published Sep 25, 2026
▶ FILM
Sep 25, 2026Operational risk · Issue 06

Your agentic workflow depends on other people’s rules

A provider refusal or changed policy can become a silent business decision unless the workflow preserves unfinished work, evidence and an authorized fallback.

12 min read · Published Sep 25, 2026
▶ FILM
Sep 25, 2026Industrial AI · Issue 05

AI in industrial control needs physical evidence

Where AI helps PLC engineering, and where simulation, safety review, and plant reality retain authority.

12 min read · Published Sep 25, 2026
▶ FILM
Sep 25, 2026Compute infrastructure · Issue 04

The GPU number is not the compute product

Neocloud placement, fabric topology, sharing, queue policy, utilization, and the real cost of a completed run.

10 min read · Published Sep 25, 2026
▶ FILM
Sep 25, 2026Model systems · Issue 03

Where model control actually lives

What a typed decision can actually control: full-path Jev versus small-model economics, provider-owned loops, scoped tools, context and engineering ownership.

13 min read · Published Sep 25, 2026
▶ FILM
Sep 25, 2026Engineering judgment · Issue 02

Model consensus is not engineering evidence

What model debate can reveal, what polished probing cannot supply, and how real experiments turn a design into an engineering decision.

14 min read · Published Sep 25, 2026
▶ FILM
Sep 25, 2026Agent engineering · Issue 01

Agents need an independent exam

The practical controls that let a fast coding agent produce work you can actually sign off.

11 min read · Published Sep 25, 2026
All essays and issues ↗

02 / What I keep returning to

Questions worth
staying with.

01
{ }

Agents & control

Hooks, worktrees, role memory, and where instructions need to become enforceable systems.

02
✓

Testing what happened

Browser and desktop agents, independent oracles, fault injection, and evidence you can sign off.

03
⌘

Compute in reality

Open-weight deployment, neocloud fabrics, queue policy, topology, and completed-run economics.

04
↗

People & decisions

Engineering hiring, SDLC design, industrial AI, and what stays with humans as execution accelerates.

03 / Short explainers

Sixty seconds, one idea.

Let a business operator request a site change without handing AI a deploy token A business operator should be…Read the essay ↗The offline test that spent the production quota A test I believed was offline reached a live publishing API…Read the essay ↗The 192-core server was still waiting on one kernel worker I had a large build machine with far more CPU…Read the essay ↗Let an agent ask for a credential without ever seeing it An agent can reach a point where it knows what to do…Read the essay ↗Shared Git state is the fleet coordination bug Git worktrees isolate working files, but they do not make…Read the essay ↗Restart is where a deletion tool can lose the only backup A destructive archive tool can pass its first run…Read the essay ↗When an agent writes a one-off script, it skips your safety rails Two agent sessions wrote small operations…Read the essay ↗What the subscription meter actually charged for tokens I stopped arguing about whether a coding subscription…Read the essay ↗The five-minute cache cliff that made waiting subagents expensive I found the largest subagent token write…Read the essay ↗Two identical headless starts differed by one unique line inside a tool description.Read the essay ↗A crashed test worker reported its tests as skipped, not failed.Read the essay ↗A line-coverage rule called work merged when its content was not in main.Read the essay ↗Key rotation has two readers and one writing authorityRead the essay ↗Retire worktrees by consumer lifetime, not terminal task statusRead the essay ↗Design the evidence-review screen before automating the decisionRead the essay ↗A read-only observer still needs backpressureRead the essay ↗A fleet pause must reach the process treeRead the essay ↗Our dependency cache had a trust-boundary problem.Read the essay ↗Measure context costs before building a Steward.Read the essay ↗A safe AI widget is a capability system.Read the essay ↗A readable fallback answer can still break the contract.Read the essay ↗CRIT became WARN without clearing the history.Read the essay ↗1,025 local tests.Read the essay ↗Memory survived.Read the essay ↗Delivery identity and work identity are different.Read the essay ↗The same word can carry different authority.Read the essay ↗The success message and the stored result disagree.Read the essay ↗A lost result is not a new release attempt.Read the essay ↗Restoring data can resurrect old permission.Read the essay ↗Pass the lock without an ownership gap.Read the essay ↗A late finding is not protection.Read the essay ↗Keep memory failures meaningful across the wrapper and ledger.Read the essay ↗The answer has an audience.Read the essay ↗Four queued checks.Read the essay ↗Our allocation response reports current availability.Read the essay ↗Historical economics lessons, not current model pricing.Read the essay ↗Same field, different contracts.Read the essay ↗Our release example passes authority at the start and refuses it at the end.Read the essay ↗Local communication failure and remote acceptance are different facts.Read the essay ↗Leases enable recovery.Read the essay ↗The expensive fallback changed the wrong thing.Read the essay ↗Give the retrieval budget to the authorized corpus.Read the essay ↗Read can send.Read the essay ↗The checker caught it.Read the essay ↗A boolean is not a redactor.602 synthetic rows;4,456 recorded decisions across nine systems.Read the essay ↗Semantic detection is one layer.Read the essay ↗A second interface is a better tool-security test.Read the essay ↗Same file ID, changed material.Read the essay ↗One admitted turn should not mint two live grants.Read the essay ↗I gave our public guide thirty-one approved facts.Read the essay ↗

04 / Latest posts

What I posted this week.

▶ VIDEO
LinkedInOct 22, 2026

When a neocloud promises high utilization, ask for numerator, denominator, interval, population and workload. Reserved GPU-hours, SM activity and accepted application work are different quantities. A buyer cannot compare providers until tho…

Open on LinkedIn ↗
LinkedInOct 22, 2026

Generated code needs an accountable maintainer. This is about future repair, not about requiring a person to hand-rewrite what an agent produced. Suppose an agent changes event replay behavior. The tests pass. A delayed legacy event then r…

Open on LinkedIn ↗
Oct 22, 2026

A patch can pass tests and still leave nobody able to repair the next unfamiliar failure. Name a human owner for the invariant and rollback. Have them explain one adverse trace and run a recovery drill before accepting the change. #EricFiel…

Open on X ↗
Oct 22, 2026

A toast appeared in the browser for 800 ms. The remote agent loop watching that browser never saw it. A watcher on the same machine caught it in 2.3 ms. Which of your tests depend on happening to look at the right moment? #EricFieldNotes

Open on X ↗
LinkedInOct 22, 2026

215 green tests. 19 bugs still alive. In our agent coordination research, a Codex lane built the "closer": a deterministic process that asks agents for answers, checks them against git and a hash chained ledger, and escalates what they ign…

Open on LinkedIn ↗
▶ VIDEO
LinkedInOct 22, 2026

One admitted turn should not mint two live grants. I built the turn-grant design around requester, scope, audience and lease. The next boundary is sharing: access to a private project does not automatically authorize disclosing it into a g…

Open on LinkedIn ↗
LinkedInOct 21, 2026

More generated code can make review feel like a scanning problem. The deeper problem is deciding what promise changed and whether the evidence covers it. Imagine a large agent patch that updates billing, retries and a tenant check. A summa…

Open on LinkedIn ↗
Oct 21, 2026

If agents generate more code than reviewers can read deeply, shorter summaries alone won't fix review. Require the changed invariant, affected surfaces, a negative test, external readback and unresolved tradeoff. Then review the diff agains…

Open on X ↗
Oct 21, 2026

Probe score 0.999. Then I told the model to hide its motive: 0.19. That result changed where I put safety for agents. Constrain what an agent can do. Don't try to read its mind. #EricFieldNotes

Open on X ↗
LinkedInOct 21, 2026

In remote control, the network drops. That is not an edge case. It is Tuesday. So in GoodLink, a drop isn't an error dialog. It is a state with designed behaviour: The machine holds the session for at least 60 seconds. The viewer re-attac…

Open on LinkedIn ↗
▶ VIDEO
TikTokOct 21, 2026

One admitted turn should not mint two live grants. One assistant can serve many people without borrowing all their permissions. Trace requester, audience, lease, approval and effect. Full architecture article on ericmacdougall.com.

Open on TikTok ↗
LinkedInOct 21, 2026

The shift from engineers writing every line to agents writing much of the code does not eliminate engineering decisions. It makes unclear decisions spread faster. For a new entitlement path, someone must decide the product promise, the sou…

Open on LinkedIn ↗
Oct 21, 2026

Agents can write the bulk of a feature. Engineers still have to decide what outcome matters, which architecture owns it, who may act, what evidence counts as acceptance and how to recover after failure. Write those five into the task contra…

Open on X ↗
▶ VIDEO
LinkedInOct 21, 2026

A neocloud can sell one accelerator name into three incompatible expectations: a connected training group, a low-latency shared inference slice and an interruptible batch allocation. The hardware may match; the promises do not. If batch bo…

Open on LinkedIn ↗
▶ VIDEO
Oct 21, 2026

One assistant can serve many people without borrowing all their permissions. Trace requester, audience, lease, approval and effect. Full article on ericmacdougall.com.

Open on X ↗
▶ VIDEO
Oct 21, 2026

GPU utilization is easy to flatter. Memory and communication wait consume the interval. Optimize accepted work per complete cost. #EricFieldNotes

Open on X ↗
LinkedInOct 21, 2026

Replay should not mint a second live grant. I built each admitted assistant turn around the requesting person, the work lease and the answer's audience. Replaying the same claimed message returns a 409 without another live token. The assi…

Open on LinkedIn ↗
Oct 21, 2026

An agent handoff that says 'migration validated' is not enough. Include the invariant, source record, exact revision, injected fault, external readback and open caveat. The next agent should be able to reject the claim without replaying the…

Open on X ↗

05 / Follow the work

Every channel, one place.

20+years in tech

04 / A little context

I’m interested in what
survives contact with reality.

I have spent more than two decades in technology, from founding and exiting a software development and marketing agency to engineering leadership roles and co-founding FrameBright. This journal is where I work through what that experience is teaching me now.

More about the road here