跳到主要內容

ARC 2.0.0-beta.28

Product layers

Choose the AFS, AFS UI, AUP, Web Device, Blocklet, or identity layer that owns a task, and keep their contracts separate.

Choose a layer from the problem you are solving, not from a directory name or an old product label.

Layer map

LayerOwnsDoes not ownDeveloper entry
AFSPaths, mounts, provider operations, capability declarationsSite themes, AUP primitives, Blocklet release policyAFS
AFS UIHow UI devices relate to AFS (architecture explanation)A portable third-party device SDK promised as productAFS UI (this board)
AUPSemantic UI tree, events, bindings, sessions, degradation rulesWebsite content model, package lifecycleAUP
Web DeviceStatic site trees, pages, content objects, components, HTML renderInteractive session protocol, identity lifecycleWeb Device
BlockletPackage vs instance, local run, manifest/check, composition boundaryCore AFS op semantics, AUP node catalogueBlocklets
Identity & data spacesCaller context, DID-scoped storage, session data views, membership surfacesAFS provider authoring, site markdown pipelineIdentity & Data Spaces
ARC CLI / runtimeHost process, service lifecycle, operational commandsReplacing the contracts of the layers aboveARC CLI

ARC product layers: ARC hosts AFS, Blocklet, and identity; AFS projects through AFS UI into AUP and Web Device

ARC hosts the runtime. AFS, Blocklet, and identity are primary developer surfaces. AFS UI is the lens that connects AFS resources to AUP and Web Device.

Decision table

You are trying to…Correct layerCommon mistake
List or write a path, mount a providerAFSAssuming every mount supports search or exec
Describe buttons, forms, and state for an interactive appAUPCopying Web components into the AUP semantic contract
Publish pages, posts, or a marketing siteWeb DeviceTreating layout AUP as a full interactive session
Ship an installable unit with config and surfacesBlockletCalling a single .aup file “the Blocklet”
Know who signed in and which user data they may seeIdentityTrusting a path segment that looks like a DID
Understand how UI and AFS fit without picking a target yetAFS UI (this board)Inventing a third authoring product
Run arc service / arc blocklet / arc afsARC CLITreating CLI help as the only product contract

Composition, not collapse

A Blocklet often uses AFS providers, AUP apps, and Web Device sites. That composition does not merge their contracts:

  • Web Device remains an AFS provider (@aigne/afs-web-device) that renders site trees.
  • Interactive AUP runs through the UI runtime (@aigne/afs-ui) and AUP types (@aigne/afs-aup).
  • DID Space (@aigne/afs-did-space) is a storage provider; session views project caller data into AFS paths.

When two layers disagree in documentation, keep the claim on the layer that owns the behaviour, and link the other for context. Do not “average” them into one API.

Where evidence lives

Claim typePrefer
Present-tense operation or fieldSibling board + current source/tests for that layer
“How layers fit”This architecture board
Old product nameProduct lineage

Classification rules: Contracts and evidence.