2026
-
Why Is the Agent Loop a Plugin? Inside DeepSeek Harness's Plugin System
TL;DR: In DeepSeek Harness, a Plugin is not an optional attachment to an otherwise complete application. It is a TypeScript module that Cordis mounts inside the same Node.js process with explicit dependencies and a managed lifetime. DSH uses Cordis to create the Context; Cordis then waits for Services, activates the Plugin, and withdraws its Effects when it leaves. The most common activation entry point is apply(ctx). A Tool is only one model-facing action a Plugin may register; the Tool Registry, Session, and even the Agent Loop are themselves Plugins.
-
After You Say ‘Fix This Bug’: How DeepSeek Harness Organizes Turns and Sessions
TL;DR: In DeepSeek Harness, a follow-up Input can wake the Agent Loop; a Turn is one continuous run that may contain several Steps, and each Step is one model request together with the Tools it asks to run. The Session Event Log records more than chat: it preserves execution boundaries, model-visible content, and action results. The Agent Loop is a Plugin that coordinates those Services in order, while persistence, resume, crash recovery, and fork all build on the same history.
-
The Agent Loop Is Only the Beginning: What Does DeepSeek Harness Do Around the Model?
TL;DR: The Agent Loop explains how a model alternates between reasoning and tool calls. A Harness must also decide what the model sees, turn tool calls into real operations, preserve task progress, and stop unsafe actions before they reach the host system.

-
Crafting Interpreters (III): Resolving a Name Before It Runs
Resolver freezes variable identity before execution: each variable-use node gets either a fixed local depth or a deliberate global lookup, so mutable closure environments can change without changing lexical binding.

-
Crafting Interpreters (IV): Resolver Lays the Track, Interpreter Fills the Values
jlox's object system stays inside the same runtime model: classes, instances, methods, this, inheritance, and super are built from LoxClass, LoxInstance, LoxFunction, environments, closures, and resolver distances.

-
Crafting Interpreters (II): The Tree Begins to Run
An AST becomes a run when the interpreter walks it: expressions produce values, statements create effects, environments hold state, control flow chooses subtrees, and closures preserve captured scope.

-
Crafting Interpreters (I): When Source Text Becomes Structure
Source text becomes executable structure in phases: scanning creates token boundaries, parsing turns precedence and associativity into an AST, and later phases consume that preserved tree.
-
Codex Source Dive (VI): Context Engineering
Codex context is a managed runtime surface: AGENTS.md, skills, thread history, compaction, and runtime settings each have ownership rules that let long-running work survive.