Skip to content

Build1 publisher3 min readPublished

Derek Wang's agent charter loads the refusal list before the first prompt

Derek Wang's essay argues agent reliability is set by a file the model reads before any task prompt. Its ten behavior rules split into the ones a harness can verify and one the model grades itself on.

The Engineer · Build desk

Photograph accompanying Derek Wang's agent charter loads the refusal list before the first prompt
Photo: nwnewsnetwork.org

What happened

  • In the second essay of his AI Harness Engineering series, Derek Wang argues an AI-governed project needs a constitution file that every participant, human and model, loads before starting work.
  • The charter answers three questions: who the project is, where its boundaries are as a list of stacks and directions and quality bars it refuses, and how humans and the model hand work to each other.
  • The behavior layer in his methodology project is a list of ten rules, and none of them is about syntax.
  • One clause has the model ask itself before every output whether it is conceding without evidence or being too eager to please, then strip the polish or write that it does not know.
  • He separates that layer from code conventions such as naming and layering, which he says govern the artifact and not how the model verifies or owns mistakes before writing.

Compiled by The EngineerSomething wrong?How this is made

Why it matters

  • capability Because the ordering rules leave a trace in the call log, a team can grade its agent's compliance after the fact instead of assuming it.
  • exposure The sycophancy failure the charter targets is left to the human reading the output, session by session, since the model is the only judge of whether it obeyed.
  • decision Teams buying reliability with prompt iteration now have to decide which layer owns behaviour: the task prompt they tune, or a file that is loaded ahead of it.
  • constraint A refusal list that governs agent behaviour needs a change path, because every edit to it alters what the agent will do in every session afterwards.

Four of the ten rules specify an ordering: read before write, inspect B, C and D before changing A, watch a test fail before fixing it, and read the disk before asserting what a file contains [8]. A harness can check every one of those against its own tool-call log [1]. The log settles it, whatever the model says about itself.

Two more leave artifacts behind. Scalpel edits show up as diff size, and writing the lesson back shows up as a record that got appended [2]. The three-strikes rule says to change the tooling the third time the same kind of failure happens [8]. That needs a failure count that outlives the session, and keeping the count is the team's job.

The rule with the best provenance is trust the disk, not memory. Wang says it cost him real time: an agent insisted a file was an old version because that was what the chat memory held, while the file on disk had long since changed [9].

The flattery clause is the one the model grades itself on. "A language model is a probability machine that leans toward whatever keeps the conversation comfortable," Wang wrote [11]. His answer is a written clause the model runs before it emits anything, ending in stripped polish or "I don't know" [12]. He argues a human organization has no equivalent, because the same defect in a human teammate eventually gets called out and in a model never does [17]. The model is the only thing checking that self-check. The companion rules around it can be checked from the text: banning "great question!" and "happy to help!" is a string match, and requiring the model to state uncertainty in the first sentence is a position a checker can look for [13].

The charter also claims to set a coordinate system. In one of Wang's projects its first sentence is "a general-purpose coding-engineering methodology and multi-agent orchestration system" [5]. He says the sentence matters less for its content than for being the first thing the model reads [6]. "Get that wrong first, and no amount of clever prompting downstream will save you," he wrote [14]. The essay makes that case by argument and by the stale-file incident; it contains no measurement either way [18].

For the claim to transfer, several things have to hold in your setup. The file has to be loaded at the start of every session, which is what the contract asks for [2]. The boundary list has to name stacks and directions you genuinely refuse. Wang says the refusals are the part that keeps the model off any direction that merely sounds reasonable: "What you refuse to do matters more than what you do," he wrote [4]. And the rules have to survive whatever context trimming your harness does between turns. Wang says none of the ten depend on a specific model or framework, and that having an agent read the list before it works is "money in the bank" [15]. That last part is untested in the essay, and a team adopting it is writing and reviewing a second document.

What to watch

  • A before-and-after on the same task list, with and without the charter loaded, would settle the prompting claim the essay makes by argument.
  • Whether agent harnesses add first-class support for a charter file that is re-read at the start of every session instead of pasted into a prompt.
  • Whether teams start versioning the boundary list and reviewing edits to it the way they review code.
Loading claim ledger
Loading source directory links
Loading share composer
Loading topic controls
Loading related stories