Storage

Storage Filesystem Adapter Integration

This document describes how to register and use @dsar/storage-filesystem with backend runtime.

Runtime Registration

Config Fields

  • baseDir (required): local directory used to store artifacts and sidecar metadata.
  • prefix (optional, default artifacts): key prefix used by deterministic key builder.
  • retryMaxAttempts (optional, default 1): retries for retriable filesystem failures (ETIMEDOUT, EAGAIN, etc.).

Key Strategy Reference

Default deterministic key layout:

<prefix>/<requestId>/<manifestId>/<category>/<redaction>/<thirdParty>/<artifactName>

Fallback behavior:

  • missing requestId => request-unknown
  • missing manifestId => manifest-unknown
  • missing category => uncategorized
  • missing name/id => artifact.bin

Error and Retry Behavior Matrix

CategoryRetriableExamples
timeoutyesoperation timeout (ETIMEDOUT)
networkyestemporary resource pressure (EAGAIN, EBUSY)
validationnoinvalid key/path traversal, missing object
confignobase directory permission/configuration issues
unknownnounmatched filesystem errors

Manifest Linkage

Storage operations preserve manifest-linked metadata on artifact references:

  • requestId
  • manifestId
  • manifestHash
  • manifestSignature

Manifest metadata is stored in sidecar JSON files alongside artifacts so metadata remains available across runtime restarts.