Name the layers by what you depend on:
| Name | Role | You reach it when… |
|---|---|---|
| AFS | Path-based resource and capability abstraction | You list, read, write, search, exec, or mount a path |
| ARC | Runtime product shell around AFS | You start a service, run a Blocklet, open a session, or use the CLI against a live instance |
AFS does not know how HTTP arrived or which process hosts it. ARC does: it boots the host, mounts providers, applies identity and session context, and exposes operational tools.
What AFS owns
AFS is implemented as the @aigne/afs core and provider base classes. A provider declares a name, access mode, and the operations it implements. Core operations you will see in the CLI and provider contract include:
| Operation family | Purpose |
|---|---|
list / read / write / delete | Directory and entry access |
stat | Metadata without full content |
search | Provider-defined content search inside a path |
exec | Actions exposed as executable paths |
explain | Human- and agent-oriented description of a path or concept |
mount | Attach a provider at a path |
A path is an interface boundary. It is not evidence that all data lives in one store. Check the provider’s declared capabilities before treating an operation as part of your application contract. Full operation semantics: AFS core contract.
What ARC owns
ARC is the host that makes AFS useful as a product:
- Loads and mounts providers (for example Web Device, DID Space, UI device modules)
- Runs Blocklet packages and instances
- Builds session and caller views used by interactive and site surfaces
- Exposes
arcCLI groups (afs,blocklet,service,dsl,space,did, and others)
Installed CLI surface checked for this board: arc 2.0.0-beta.28. Command reference: ARC CLI.
Start with the right name
| Task | Start with | Why |
|---|---|---|
| Implement or debug a path operation | AFS | The provider and operation contract decide behaviour |
| Author a provider package | AFS | Mount and capability rules live there |
| Run or package an application | Blocklet on ARC | Lifecycle is package/instance, not a raw path |
| Render a static site | Web Device (AFS provider) via ARC | Site layout is a Web Device concern hosted by ARC |
| Drive an interactive AUP app | AUP session under ARC UI runtime | Session and device handshake are runtime concerns |
| Inspect who is calling | Identity board | Caller and DID Space are not AFS operation names |
What this page does not claim
- It does not publish a stable third-party “plug in any UI device” extension API.
- It does not equate every historical Blocklet Server or DID product name with a current ARC module.
- It does not expand experimental remote deploy or instance-DID lifecycle paths into present-tense contracts; those belong on the boards that can re-verify them.
Next: Product layers for ownership, or AFS for operations.