Pattern
- Store shared files in a versioned file system.
- Publish updates from outside the sandbox with
tl fs push. - Mount the file system into agents as a read-only directory.
- Follow the file system for automatic distribution, or pin a permanent snapshot for fixed releases.
Create an Asset File System
- CLI
- Python
- TypeScript
/opt/agent-assets/manuals/operator.md, /opt/agent-assets/skills/research/SKILL.md, or /opt/agent-assets/bin/validator.
Publish From Outside a Sandbox
The producer does not need a sandbox, and it does not need a mount. Push a directory and create a permanent snapshot for the release:-m on the changed push that should create a permanent snapshot; without it, the push creates an ephemeral autosave checkpoint. A push with no changes is a quiet no-op.
Pushes honor .gitignore, preserve symlinks, and preserve executable bits on regular files. A file system has no special .git handling — only .gitignore governs what is excluded.
Mount Into Agents
Mount the file system read-only at a predictable path:- CLI
- Python
- TypeScript
Version Releases
Use a pinned permanent snapshot when a run must be reproducible:Snapshots in tl fs history agent-assets. Recent autosave IDs can expire and should not be used as long-lived release anchors.
If you need named release channels (stable, canary) that you advance deliberately, back the assets with a Git repository and use branches as channels — that’s the surface built for explicit publication.
Binary Tools
Put tools under a stable directory such asbin/ with the executable bit set, and push:
Choose a Mount
Next Steps
Read-only Mounts
Choose between following the file system and pinning a permanent snapshot.
File System Mounts
Give agents a separate place to write outputs.