Reference Analysis
Agent Continuity
Harnesses for Long-Running Sessions
╔══════════════════════════════════════════════════════════════════╗ ║ AGENT CONTINUITY ║ ║ ║ ║ Session 1 Session 2 Session 3 Session N ║ ║ ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐ ║ ║ │ Agent │ ──► │ Agent │ ──► │ Agent │ ──► │ Agent │ ║ ║ └───┬────┘ └───┬────┘ └───┬────┘ └───┬────┘ ║ ║ │ │ │ │ ║ ║ ▼ ▼ ▼ ▼ ║ ║ ╔═══════════════════════════════════════════════════════════╗ ║ ║ ║ progress.txt │ features.json │ git log │ init.sh ║ ║ ║ ╚═══════════════════════════════════════════════════════════╝ ║ ║ ║ ║ "Artifacts enable re-entry into the hermeneutic circle" ║ ╚══════════════════════════════════════════════════════════════════╝
Source
Anthropic Engineering: Effective Harnesses for Long-Running AgentsThe Problem
Long-running agents lose context across sessions. Each new context window is "an engineer arriving with no memory of what happened."
When context exhausts, agents experience what Heidegger calls Unzuhandenheit— the tool becomes conspicuous, workflow breaks. The hammer that was invisible during hammering suddenly demands attention because it has broken.
Core Patterns
1. Progress File
Persistent text file documenting prior work. Updated at session end.
claude-progress.txt ├── What was completed ├── What failed and why ├── What to do next └── Known issues
CREATE SOMETHING equivalent: CLAUDE.md + conversation summaries
2. Initialization Script
Executable setup that any new session can run to restore working state.
# init.sh cd /project npm install npm run dev & echo "Ready"
CREATE SOMETHING equivalent: CLAUDE.md development commands section
3. Structured Feature List
JSON with explicit status tracking. Model updates only status fields.
{
"features": [
{
"id": "auth-login",
"description": "User login",
"passes": false
}
]
} CREATE SOMETHING equivalent: TodoWrite tool
4. Session Startup Protocol
Every session begins identically:
- Run
pwdto confirm directory - Read git log and progress files
- Select highest-priority incomplete feature
- Run E2E tests before implementing
CREATE SOMETHING equivalent: Claude hooks (potential)
5. One Feature Per Session
Constraint prevents scope creep. Each session:
- Picks one feature
- Implements it
- Tests it
- Commits with descriptive message
- Updates progress file
CREATE SOMETHING equivalent: Atomic git commits
Failure Modes & Solutions
| Problem | Solution |
|---|---|
| Premature completion claims | Comprehensive feature list with explicit pass/fail |
| Lost setup knowledge | Executable init.sh |
| Undocumented bugs | Git commits + progress notes |
| Doing too much at once | One feature per session constraint |
Hermeneutic Frame
The harness doesn't solve continuity—it enables re-entry into the hermeneutic circle. Each session is a new interpreter. The artifacts (progress files, git history, feature lists) are the shared understanding that allows interpretation to continue.
"Understanding is always already situated. The harness creates the situation."
— Heidegger, applied
Without Harness
Unzuhandenheit (Present-at-hand)
Agent arrives to broken state. Must reconstruct context from scratch. Tool becomes object of attention rather than transparent medium.
With Harness
Zuhandenheit (Ready-to-hand)
Agent re-enters prepared situation. Artifacts provide fore-structure. Can immediately engage with the work rather than the setup.
Integration with CREATE SOMETHING
Already Present
- ✓ CLAUDE.md as initialization context
- ✓
.claude/memory/for domain knowledge - ✓ TodoWrite for task tracking
- ✓ Atomic git commits
To Adopt
- ○ Explicit session startup sequence (could be a hook)
- ○ Structured feature JSON for complex multi-session work
- ○ Browser automation prompting for E2E testing
Through the Subtractive Triad
DRY (Implementation)
"Have I built this before?"
→ Yes. CLAUDE.md, .claude/memory/, TodoWrite already exist. Don't rebuild—extend.
Rams (Artifact)
"Does each harness element earn its existence?"
→ Progress file: Yes—captures what's lost at context boundary. Feature JSON: Maybe—TodoWrite may suffice. Init script: Yes—reproducible state setup.
Heidegger (System)
"Does this serve the whole?"
→ Agent continuity serves all CREATE SOMETHING properties. A harness that works for .io benefits .space, .agency, and .ltd equally.
Key Insight
The harness is not scaffolding to be removed. It is the dwelling that enables continuous work. Just as CLAUDE.md is not documentation but orientation, the progress file is not a log but a threshold— the place where one session hands off to the next.