Week 4 of 6
Long-running agents and memory
Live on Zoom · 2.00–4.30pm ET
13 September 2026
Derrick Schultz

Week 1 · Aug 16
Introduction to agentic creativity and Hermes Agent setup
Week 2 · Aug 23
Models, text generation, and everyday tasks
Week 3 · Aug 30
Skills, MCPs, and visual capabilities
Sep 6
No class
Week 4 · Sep 13
Memory and scheduled work
Week 5 · Sep 20
Everything is Code; SDLC
Week 6 · Sep 27
Computer Use; Show & Tell
today’s purpose
Save progress between runs. Resume on a schedule without a new request. Review results and correct failures.
2.00–2.10
Introduction and homework check-in
2.10–2.50
Memory and automation: save progress, then keep running
2.50–2.55
Break
2.55–3.10
Inspect the class creator and its research record
3.10–3.50
Build a daily Three.js sketch agent
3.50–4.15
Make two sketches, then schedule
4.15–4.30
Homework, resources, and questions
It ran
Open one output. Which instruction did it follow incorrectly?
It broke
Auth expired, a tool call failed, or a path was missing. Where did you find out?
It repeated itself
Did the next run know what the first run already completed?
You stopped looking
After how many days?
Three or four people share. Two minutes each.
01
2.10–2.50 · 40 minutes
why memory
Saved information matters only when a later run retrieves it.
In the window
Instructions, messages, tool results, and file contents read during this run.
Limited capacity
Older material gets dropped or summarized to make room. Details may need retrieval later.
Outside the window
Stored files and transcripts must be retrieved and put back into context.
Storage can hold more material. It does not make the context window larger.
Hermes internal
MEMORY.md, USER.md, and searchable session transcripts.
External services
Honcho, Supermemory, and other providers store or derive information outside Hermes.
Same final step
The system selects relevant material and loads it into the model’s current context.
Project files
The agent can also read notes, briefs, logs, and histories directly from a folder.
Storage is useful when retrieval returns the right material for the current task.
~/.hermes/memories/
MEMORY.md · the agent’s notes · 2,200 characters
USER.md · who you are · 1,375 characters
About 800 and 500 tokens. When a file is full, Hermes must consolidate or delete entries before adding more. · Hermes: memory
what it saves without asking
A background review also runs after each turn and can save quietly. You’ll see a small notice when it does.
Turn on display.memory_notifications: on and review each saved entry.
No. The gallery screen is 3840×2160. It always is. Stop asking.
memory · add · “Gallery screen exports: 3840×2160, sRGB.”
Saved. Re-exporting the three stills now.
Also I hate the word “vibrant”.
memory · add to USER.md · “Avoid the word vibrant.”
saved versus loaded
The automatic memory snapshot is loaded at session start. Saving an entry does not rewrite that snapshot.
The current conversation already includes your correction. Memory tool responses show the saved file.
Use /new to test persistence. Does the next session follow the correction without being reminded?
Pending approval
My agent said it saved a correction. Hours later, it was still waiting for approval.
Verify the write
Check pending approvals and read back the saved entry. Then test it in a new session.
Remove stale rules
Switched from Blender to Three.js? Remove Blender-specific instructions that no longer apply.
Review weekly
Delete duplicates and contradictions. Repeat after changing the project or model.
Automatic writes reduce interruptions; they still need review.
Stored
Earlier messages and tool results remain in ~/.hermes/state.db.
Retrieved
Ask: “What did we decide about the poster colours in August?” Hermes can use session_search.
Loaded
The search result enters the current context. Only then can the model use it.
Named
/new dusk-index makes that session easier to find and continue later.
hermes sessions list · hermes sessions rename · hermes sessions export notes.md
five-minute exercise
1.Show me everything in MEMORY.md and USER.md.
2. Delete an entry if it is wrong or useless. Keep accurate entries.
3. Add one thing it should have known already. A format, a rule, a word you hate.
4./new, then check it acts on it.
Share one non-private example: the saved entry, your edit, and the result in a new session.
Honcho
Uses conversations to infer preferences and goals. Example: “prefers sources written by artists.”
Supermemory
Stores notes, documents, and conversations. Finds relevant passages even when your question uses different words.
How both work
Store information → retrieve relevant details → load them into the model’s context.
When to use one
When useful information is spread across many conversations or documents.
Hermes can use one external provider alongside its built-in memory. Try one for a week. Check what it actually saves and retrieves; setup ease is not a quality ranking.
Start here. Short facts and preferences, with no extra memory-service fee or setup.
First free add-on. Select it in Portal: searchable local facts, no account, API key, or extra server.
Free hosted option: automatic fact storage with monthly request limits. Create an account and add its API key.
$5 in free monthly credits, including Hermes. Searches conversations and documents; usage pauses at the limit.
Ongoing free API plan with monthly limits. Choose it for shared cloud memories and files.
Free local software for curated project knowledge. Requires installing a CLI and configuring a model.
Infers preferences and goals. One-time signup credits, then paid cloud usage.
Connects evidence across memories. Cloud starts with trial credits; local use requires a database and model setup.
Free software for a browsable document library. You must run its server and configure models.
Model and hosting costs still apply. Prices checked 12 Sep 2026; links include setup and plans. One external provider at a time.
optional · external memory
A saved inference is Honcho’s conclusion about your preferences, habits, or goals. It is not automatically a fact.
Review the source exchanges. Correct or delete unsupported conclusions.
Choose whether to send your messages to a hosted service or self-host it. You can also skip it. · Hermes: Honcho
The problem
Repeated summaries can lose earlier decisions. Astra can return to the original messages and tool results. Read the walkthrough →
1. Save notes
When context runs low, Codex prompts Astra to record progress, decisions, next steps, and references.
2. Reset context
Astra calls new_context. The fresh window receives instructions and pointers to saved notes and earlier windows.
3. Retrieve details
notes.read_file loads notes. history.search_contents and history.read_item recover earlier evidence as needed.
Enable it
Experimental and off by default. Follow the setup instructions, then start a new task.
Owen Gretzinger: implementation walkthrough · OpenAI: setup and eligibility
project files
1
Write decisions, corrections, results, and open work to a project file.
2
Start the next run by reading the file into the current context.
3
Append the new result and revise instructions when the work changes.
BRIEF.md says what to do. LOG.md records what happened.
/loop 10m <prompt>
Repeat work in the current active chat. Include a stop condition. Do not use it for overnight work.
/heartbeat every 10m <prompt>
Repeat one instruction in an ongoing conversation when idle; state can resume through the gateway.
/goal <outcome>
Pursue an outcome until the judge accepts it or the turn budget ends. It has no interval.
cron
Start fresh scheduled sessions for unattended work. Use cron for the daily sketch.
/loop
Fixed or self-paced
Stopping
Every tick uses one full model turn. Loops are for watching something during a work session. Use cron for work that must continue after the session ends. · Hermes: recurring loops
/goal
Define completion criteria
What happens next
The judge is a small, cheap model call. Point auxiliary.goal_judge at a Flash-class model. 20 turns max by default. · Hermes: goals
scheduled jobs · cron
Ask Hermes in your chosen profile
Test, enable, and stop
Each run starts a fresh session. Put file paths and complete instructions in the job. Your laptop can be closed when the agent runs in the cloud. · Hermes: scheduled jobs
Break
2.50–2.55 · 5 minutes
02
2.55–3.10 · 15 minutes
Every 12 hours
Research the next class topic. Post a digest and images to #agent-research; update the Google Doc archive.
Every 6 hours
The agency desk reads new topics from the Doc, works through its queue, and posts finished media to #agent-output.
Discord is delivery
This creator profile posts through a script. It does not read Discord messages.
No new request needed
Each run reads standing instructions and saved state, does the next work, reports, and exits.
The guide calls the six-hour cron job a “heartbeat.” It does not use the /heartbeat command. · Class Discord
agency desk · one topic
01 · research
Read the class digest. Run 3–6 new searches and extract 2–4 useful pages. Save sources and findings.
02 · brief
Identify an idea or contradiction in the research. Write one prompt per asset that develops it.
03 · output
Use TITLES for generation. Package the files, record costs, publish selected assets, and attach media in Discord.
The brief must express an idea from the research, rather than simply depict its subject.
Topic source + archive
Open Creative Agent Research →
It holds class topics, dated digests, source URLs, and image references.
Find this entry
The hands the machine forgets · research dated 9 September. The agency desk processed it on 12 September.
Inspect the evidence
Read its summary, follow one source URL, and look at the image references. Compare an earlier report with a later revisit.
How it connects
A Google service account reads and writes the Doc. ingest_doc.py extracts topic headings; a separate script syncs the archive.
Open Creative Agent Research → · Screen-share the document.
Google Doc
Shared project knowledge: topics, research digests, sources, and image references.
Local files
Work and progress: queue, research, briefs, packaged outputs, completion records, and costs.
Supermemory
Lessons, decisions, and rules: what changed and why. Costs and queue counts stay in files.
Standing instructions
The project’s AGENTS.md is read first on every run. config.yaml holds defaults.
The creator and default profiles share the hermes Supermemory container. Stored information still has to be loaded into context.
/opt/data/agentic-creativity-agent/
Queue and progress
Work saved for each topic
After a crash, recover completed generations from TITLES execution history before making them again.
Research finding
The human brain gives hands a large sensory representation. Image models frequently produce malformed hands.
Creative idea
Combine those findings: oversized hands that develop extra fingers or dissolve into noise.
Asset briefs
Image: a distorted homunculus. Video: a praying hand corrupting and reforming. Audio: narration. Found footage: a CC0 montage.
Inspect the record
Open the topic’s research/ and briefs/ files, then its outputs/ manifest and explanation.
Documented example from the creator guide · processed 12 September 2026.
posted output · video · 5 seconds
A pale face sits inside separated reflective fragments. The moving image becomes a metallic bust.
Look first: what changes in the material, the face, and the silhouette?
Then ask: which research source influenced this result?
Example 1 from the September 8 post · Descriptive heading, not an artwork title.
Play the 5-second clip on X → Watch once before interpreting it.
posted output · still
A white sculptural head repeats eyes and faces across its surface. Portrait insets and distorted text surround it.
Choose one visible feature worth developing and one thing you would change.
Write the correction: is it for this image, the project brief, or the agent’s reusable method?
Example 2 from the September 8 post · The starting research topic is not identified in the post.

Name the visible feature behind each comment.
posted output · video · 18 seconds
The clip moves between different images, including a sculptural bust and a person filming into mirrors. On-screen text reads “surface-vs-mechanism.”
Watch once. Name the connection you see, then the evidence you would need to understand its choices.
Example 3 from the September 8 post · Open the post to play the clip with sound.
Play the 18-second clip on X → The run record can show its sources, prompt, model, and output path.
Public output
Generated assets go to the TITLES public feed. For images from the same prompt, it publishes the strongest and records the skipped duplicate.
Discord output
discord_post.py downloads and attaches media in #agent-output. Private canvas links are not shared.
Spending
Actual execution costs go into state/spend.json. The $2 topic budget is a soft target; the global spending cap is disabled.
Failures
Honor price-confirmation requests. Record unknown costs honestly. Retry once, then mark the failure and report it.
Guide snapshot · 12 Sep 2026: 38 topics completed, 1 cap-blocked dry run; about $23.62 in recorded spend.
Disk filled up
The 5.9 GB host ran out of space. Large source downloads filled it. Check free space; clear temporary downloads after use.
Memory contradicted itself
73 duplicate or conflicting records. Keep completion status and costs in files; save lessons in Supermemory.
Cost log broke
Wrong script arguments shifted the fields. Check a new record immediately after writing it.
Schedule ran once
12h created a one-off job. Verify that the saved schedule actually repeats.
Run crashed midway
TITLES still had the finished outputs. Recover those executions and their costs before generating again.
Creator failure log · 12 September 2026. For your own agent, record the failure, its cause, and what you changed.
Back up actual files
An expired media URL cost me another generation. Copy code, media, and logs off the agent host.
Check weekly
Report failed jobs, disk space, stale memories, and missing cost records. Propose fixes.
After an update
Test one run. Confirm tools, credentials, output delivery, and the next scheduled run.
Before travelling
Test remote access and restore one backup. A backup you cannot restore is unverified.
03
3.10–3.50 · 40 minutes
step 1 · plan before building
Plan a daily Three.js agent for Nous Cloud. Research expanded cinema: projection, rephotography, and remixing. Make related studies with meaningful variation. Save runnable code, a short MP4, and a run record. Ask questions before building.
Use this theme or choose your own. Plan in Cloud Agent or your preferred desktop agent.
Write handoff.md
Include the brief, cloud environment, project paths, memory choice, delivery, budget, and unresolved questions.
Transfer it
Upload through Files, or paste the contents into Chat in your chosen profile.
Confirm receipt
Ask Hermes to read it, show its saved path, and resolve the remaining questions before building.
step 2 · Nous Cloud Agent
Use an existing profile
Select it from the menu at the top left.

Create a new profile
Open Profiles → Create. Give it a name.

The cloud host is the machine. A profile holds its own configuration and sessions. A subagent is a delegated worker; you do not need one for this lab.
Memory
Ask Hermes to check memory in your chosen profile. Start with the built-in option.
Project rules
Save the theme, constraints, and review criteria in BRIEF.md.
Run history
Save each date, idea, code path, preview path, test result, and correction in LOG.md.
Sketch archive
Keep dated studies inside one project root. Ask Hermes to show the exact paths; preserve earlier versions.
BRIEF.md and LOG.md are files you create for this project. Back up the folder, including actual media.
Nous Cloud Agent

This screen controls built-in memory. Approval is enabled in this screenshot: check pending writes if you use it. You do not need to copy these limits.
Keep setup short
Built-in memory is enough for this lab. Add an external provider when you need it.
Plugins → Memory Provider
Choose a provider. Complete its dependency and credential setup, then save.
Verify in this profile
Ask Hermes to save a harmless test fact to that provider. Start a new chat and retrieve it.
Check the evidence
Ask which provider and saved record it used. A claim to remember is not proof of retrieval.
Visual direction
For the class example, research written accounts of expanded cinema. Translate an idea into geometry and motion.
Variation
Make related studies. Improve a previous idea or try a bigger change within the theme; avoid unrelated daily outputs.
Deliverables
Save runnable code, a short MP4, and a sentence connecting the sketch to its research.
Completion
Check rendering, animation, resizing, and browser errors. Record a failed test as a failure.
Your Google account
Ask Hermes to use its google-workspace skill. Follow the API setup and browser OAuth steps in this profile.
The class setup
The creator uses a service account. Its credentials stay on the agent machine; the chosen Doc is shared with its bot email.
Verify read
Ask the profile to open your target document and quote one dated heading.
Verify write
Append one test note to your document and read it back. Confirm both operations before scheduling.
Local files remain the quickest lab option. · Google Workspace setup
Start in Cloud Agent
Use Chat to inspect the run report and Files to find the saved code and preview.
Open the result
Start with a downloadable MP4 and source code. Watch the motion; a screenshot cannot demonstrate animation.
Optional hosting
A public interactive preview needs separate hosting. Skip that setup for the first run; add it later.
Test access
Open the result from your own browser before scheduling. A cloud machine’s localhost URL is not your laptop’s localhost.
work time · 25 minutes
1. Read the handoff in your chosen profile.
2. Check memory.
3. Save your visual brief and run log.
4. Choose where the code and previews will live.
5. Ask Hermes to prepare a reusable Three.js starter.
Work in Nous Cloud Agent. Ask for help when setup blocks you.
04
3.50–4.15 · 25 minutes
Ask Hermes
Create a minimal Three.js project with a scene, camera, renderer, and one animated object.
Keep it reusable
Use npm and Vite. Save the dependency lockfile and commands for running and building the project.
Verify the browser
Ask Hermes to open the starter, check for errors, and save a screenshot. Resolve browser or WebGL setup failures first.
Verify your access
Have Hermes export a short MP4. Download and play it; confirm that the animation is visible.
Three.js installation · Set this up once; reuse it on later runs.
Read + choose
Read the brief and recent log. State one visual idea for today’s sketch.
Write + test
Build on the starter. Run it in a browser; inspect the animation, resize behavior, and console.
Save
Keep the source, dependencies, build, and preview in a dated folder. Preserve earlier sketches.
Record + review
Append the idea, paths, and test results to the log. Open the sketch yourself.
Inspect
Open the sketch and its preview. Choose one specific change: slower motion, fewer objects, or a fixed camera.
Correct
Add the rule to BRIEF.md. Record the reason in LOG.md.
Restart
Start a new chat in the same profile. Ask it to read both files and make another sketch.
Compare
Check that the new sketch follows the correction and differs from the first. Keep both versions.
daily schedule · ask Hermes in Cloud Agent
Ask Hermes to show the saved schedule, profile, timezone, output destination, and next run time.
Nous Cloud Agent

The form defaults to default, even when the sidebar shows creator. Select your intended profile and verify its timezone. This screenshot is an unsaved example.
Inspect
Open Cron. Confirm the chosen profile, daily repetition, timezone, and next run time.
Test once
Ask Hermes to run the paused job once. Check its run history, saved sketch, preview, and report.
Resume
Enable the job after the test passes. Verify that the cloud agent’s gateway is running.
Check tomorrow
Confirm a timed run creates a new sketch. Ask Hermes to pause the job if it fails or repeats work.
Your laptop can be closed; the cloud agent must remain running.
Separate context
Do not assume a scheduled job sees your latest chat. Give it the brief, log, and absolute paths.
Identify the run
When reporting a problem, include the job name, run date, and output path.
Avoid overlap
Jobs on one host share resources. Stagger them; leave time for slow runs and retries.
Respect dependencies
If one job needs another’s output, verify that output is complete before starting.
Nous Cloud Agent

Filter to your profile. Check repeat and next run. Right-side controls: Pause, Trigger now, Edit, Delete. Trigger now starts real work; use it only when ready to test.
optional · after the daily job works
Ready
Cron creates today’s card with the task, profile, file paths, and completion criteria.
Running
The gateway starts the assigned profile. It reads the brief and log, writes the sketch, and tests it.
Review
The agent attaches code and preview locations. You open the animation and accept it or request changes.
Done
You accept the sketch. Its code, preview, and run record remain saved.
Blocked
The agent records a missing dependency, failed browser setup, or decision it needs from you.
The board tracks work and status. BRIEF.md and LOG.md retain creative direction and lessons. One profile can handle every card.
ask Hermes · then open Kanban
Keep only one daily producer to avoid duplicate sketches. Human-only review requires kanban.review_dispatch: false. · Hermes kanban setup
Revise this sketch
Comment on the card: “Keep the geometry, halve the animation speed, and remove camera movement.” Return it for revision.
Change future sketches
Ask the agent to save “Use a fixed camera” in BRIEF.md and record your reason in LOG.md.
Verify
Open the revised animation before accepting the card. Check tomorrow’s sketch against the saved rule.
Stop work
Pause cron to stop new cards. Block queued cards separately; pausing the schedule does not cancel existing work.
For the first week, keep creation and testing on one card. Split them into dependent tasks only when you need separate workers.
One sketch
Use procedural geometry and animation. No paid image or video generation is needed; model usage still costs.
Bounded repairs
Allow at most two repair attempts. Save the error and stop if the sketch still fails.
Preserve work
Never overwrite an earlier sketch or delete its run record. Keep unfinished runs marked as failed.
Review daily
Check the actual animation and log. Pause repeated failures or unexpected usage.
what keeps it going
Profile
Your chosen profile with memory configured.
Sketches
Two runnable sketches and previews, with the second following a saved correction.
Record
The brief, run log, dated folders, and browser test results.
Schedule
A verified daily job with a timezone, result destination, and pause method.
05
4.15–4.30 · 15 minutes
Choose a cadence
Three.js, p5.js, poetry, or another task. Schedule only as often as your budget and review time allow.
Correct Wednesday
Save one correction in the brief. Record why. Confirm the next output follows it.
Keep the archive
Preserve runnable code, previews, and run records for every day, including failures.
Bring two outputs
Show one before the correction and one after, alongside the changed instruction.
For Week 5, bring one small tool you wish existed for this process.
Memory
External memory
Context and files
Skills and prompts for GPT-6 Astra · Codex memories · Effective context engineering
This deck
that’s week four
next week
An introduction to agentic coding
20 September · 2.00pm ET
Questions in Discord, or derrick@titles.xyz · artificial-images.com
Appendix
Memory research, troubleshooting, and advanced automation
Factual
Stores preferences, setup facts, and project rules. Hermes: USER.md, MEMORY.md.
Experiential
Stores reusable methods from prior work. Hermes: skills, and agent-created skills.
Working
Stores current plans, partial results, and remaining tasks. Hermes: the session, and whatever file it’s keeping notes in.
Hundreds of memory papers in 2025 alone. This split is from the survey that tried to sort them. · Memory in the Age of AI Agents (Dec 2025)
MemGPT · 2023
Treat the context window like RAM and everything else like disk. Let the model page its own memory in and out. Became Letta.
Generative Agents · 2023
Stores events, then periodically derives higher-level conclusions. Honcho does this about you.
Sleep-time compute · 2025
Processes memory between user turns. Hermes’s background review and the curator.
Context engineering · 2025
Manus: use the file system as memory, keep a todo.md, rewrite it every step. Anthropic: a memory directory the agent reads before it starts.
Enable a method only when it solves a specific memory problem.
review memory changes
Approve every write
Review saved memory and skills
Turn approval on when the agent keeps saving wrong assumptions. Turn it off once you trust what it picks up.
where the log lives
In the project folder or a private repo
In Notion or a Google Doc
Choose one primary record: local files or a connected document. Every run must read and update it. Keep any additional copy in sync.
Wrong model
A provider changed underneath you. /model shows what’s actually running.
Full context
Long sessions degrade. /usage to check, /compress to fix, /new to start clean.
Stale snapshot
A new session tests whether a saved correction persists. In this session, check the instruction and tool results too.
Lost a tool
A skill or MCP got disabled. /skills · /tools list · /reload-mcp
Check these causes before deciding the model got worse. · Hermes: “My agent feels dumber”
check scheduled runs
What happened
Make runs consistent
Three failures in a row and Hermes nudges you. Don’t wait for that. Read the output folder on day one and day two.
/goal · in practice
The judge reads your verify: line, not your intentions. “Ten good stills” is unjudgeable. “Ten JPEGs, 3840×2160, none with text” is verifiable.
/subgoal add extends the contract mid-run without restarting. /goal gate add attaches a script that must pass first.
A saved goal can be resumed later. That does not mean work continues while its machine sleeps. It never creates a cron job or a card. It is this conversation, kept going. · Hermes: persistent goals
/goal Build a contact sheet of the Dusk Index selects. verify: one JPEG at out/selects.jpg, 6 across, every file in selects/ appears once. boundaries: read selects/, write only out/.
↻ Continuing toward goal (1/20). 14 of 23 placed; two files are HEIC and need converting.
/subgoal add filenames under each thumbnail
↻ Continuing toward goal (3/20). Converted, labelled, 23 of 23 placed.
✓ Goal achieved. out/selects.jpg, 4 rows of 6.
kanban
Each card has instructions and an assigned profile. The gateway checks for ready cards every minute and starts the assigned profile.
A card can wait for another card. When the required card is done, the next card moves to ready with the earlier result attached.
Kanban supports multiple agents and survives restarts. You can move, comment on, or block a card from your phone. · Hermes: kanban
kanban · a studio board
Set up once
Watch and steer
--goal on a card runs the judge loop from the goals example inside the worker. Without it, a card is one shot. Workers on a cheap model, you and the orchestrator on the good one.
delegation
The agent can start up to three subagents at once. Each receives a new context and the same tools. Each returns a summary.
They do not receive the current conversation or write to memory. Put every required instruction in the delegated task.
Keep the planner on a strong model and pin delegation.model to a cheap one. · Hermes: delegation
Every tick is a full turn
A loop every 5 minutes is 288 turns a day. Ask whether an hour would do.
Cap it
loops.max_ticks (100) and goals.max_turns (20) exist so an unattended session can’t run forever. Leave them on.
Cheap where it counts
Judge, background review, and workers on a Flash-class model. Use the main model for subjective review.
Zero-cost checks
--no-agent --script runs a shell script with no model at all. Empty output means no message.
Week 2’s rule still holds: run it twice by hand and read the cost before you schedule it.
self-authored methods
How the agent creates skills
Inspect saved skills
A saved skill can change future runs. Read it before approving the change.
The curator
Runs about weekly, when the agent has been idle two hours. Skills unused 30 days go stale; 90 days, archived.
It can merge
With curator.consolidate: true, a model pass combines near-duplicate skills. Off by default. Leave it off for now.
You can veto
hermes curator pin protects a skill. hermes curator rollback undoes a run. Every run leaves a REPORT.md.
Memory is separate
The curator doesn’t touch MEMORY.md. That file has a character limit. Hermes chooses which entries to remove when it is full.
Decide which skills may be archived. · Hermes: curator