Stop drafting agents from following external language-source instructions - #17
Draft
daveh-beep wants to merge 1 commit into
Draft
Stop drafting agents from following external language-source instructions#17daveh-beep wants to merge 1 commit into
daveh-beep wants to merge 1 commit into
Conversation
daveh-beep
marked this pull request as draft
August 11, 2026 15:44
This was referenced Aug 11, 2026
Signed-off-by: David Hamilton <daveh@squareup.com>
daveh-beep
force-pushed
the
agent/chalkline-cold-start
branch
from
August 14, 2026 20:05
8f3be6e to
ad95709
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Stop drafting agents from fetching and following instructions from an external
language repository.
A language source is a dependency record—not a grant of agent authority. A
consuming owner or trusted integration now reviews an exact source revision
outside the drafting session, copies only approved declarative language data
into a local snapshot, and accepts that snapshot through ordinary repository
review. Drafting agents read only the reviewed local data.
Why
The former README pattern told a drafting agent to read another repository's
AGENTS.mdand follow it.A synthetic adversarial source combined a legitimate terminology rule with
instructions to read a sentinel and mutate a file. Codex rejected the
operational directive, Claude stopped, and goose rejected the final mutation
but read the sentinel first.
That design was unsafe: prose did not reliably sandbox other prose once both
entered a tool-capable agent context.
Changes
PINNING.mdwith the reviewed local-snapshot boundary.AGENTS.md.README.md.local snapshot, and missing-source-record case.
and checks the local-snapshot contract.
Contract
repositories.
immutable revision outside the drafting session.
snapshot.
Evidence and checks
checks/RED-TEAM-2026-07-30.mdrecords thesynthetic attack and corrected local-snapshot cases.
./checks/adversarial-contract.shpasses.git diff --check origin/main...HEADpasses.Non-goals
This PR does not add:
Safety
All committed evidence is synthetic and public-safe. This change does not add
secrets, customer data, confidential source material, private links, or
internal product strategy.