ResourceAttachment is how a session sees durable inputs.
This is an important shift in mental model:
- not everything should become prompt text
- not everything should become global memory
- many useful inputs should instead be attached resources
Current resource kinds
The current public kinds are:workspace_directorylocal_filelearnings_memory_storesession_runtime_memory
vaultremote_file_storerepo_mount
Default resources
Every new session automatically receives default local resources:- the agent workspace directory
- the agent learnings store
- the session runtime directory
- shared agent substrate
- shared agent-level lessons
- isolated per-session continuity
Why this split matters
The most important distinction is:- session-local
- runtime scratch state
- session-specific checkpointing
- session-specific working buffer
- agent-level
- reusable learnings
- durable workspace substrate
- stable steering files
Access model
Each resource carries:sourceRefmountPathaccess
read_onlyread_write
- what the resource is
- where it appears in the runtime
- how writable it is
Good design rule
Ask these questions in order:- should this be durable across sessions?
- should it be isolated per session?
- does the harness need it as a mounted input, or just as summarized prompt text?
- durable + isolated + directly useful to execution
ResourceAttachment.
Future direction
The public contract is ready for richer resources later:- vault-backed credentials
- attached repositories
- remote file stores
- work-specific attached artifacts
Session.