Public dry run dryrun-20b59dc46b72
Source commit: 20b59dc46b72103c2f8a516c692b5cc3d54fab19 Public tree identity: sha256:aaa5ac7b58b2a0d23c6b11e5f76324bf3839ca1f62653a83deb736932adcfbd9
This commit is contained in:
commit
2bef715211
221 changed files with 79792 additions and 0 deletions
37
docs/artifacts.md
Normal file
37
docs/artifacts.md
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
# Artifacts
|
||||
|
||||
Artifacts are named, content-addressed results retained by the node that
|
||||
produced or received their bytes. The coordinator stores authorization and
|
||||
location metadata, not an implicit copy of every output.
|
||||
|
||||
## Publish, flush, and sync
|
||||
|
||||
- Publishing from a Wasm task transfers bytes to its retaining node and records
|
||||
the digest and size.
|
||||
- `flush()` publishes metadata so downstream tasks can refer to the artifact. It
|
||||
does not imply coordinator storage or durable replication.
|
||||
- `sync()` is an explicit movement decision to another node or user-provided
|
||||
storage integration.
|
||||
|
||||
Large bytes should travel node-to-node or node-to-receiver. Task arguments carry
|
||||
artifact handles rather than embedding output data.
|
||||
|
||||
## Download and export
|
||||
|
||||
`disasmer artifact download <artifact>` asks the coordinator for an authorized,
|
||||
scoped stream and retrieves the real bytes from a retaining node. Authorization
|
||||
is bound to tenant, project, process, artifact, actor, retention state, expiry,
|
||||
and quota. Missing, expired, revoked, oversized, or unreachable artifacts fail
|
||||
explicitly before success is reported.
|
||||
|
||||
Final export is also explicit. A project can attach a receiver node or invoke a
|
||||
user-provided storage tool from an allowed environment. The MVP intentionally
|
||||
does not advertise a managed artifact-store product.
|
||||
|
||||
Node retention is best effort unless project code synchronizes the artifact to
|
||||
a durable destination. Coordinator restart does not manufacture or preserve
|
||||
artifact bytes. Each node enforces configured byte, object-count, and age
|
||||
bounds. Artifacts required by active tasks, live downloads, or a retained
|
||||
restart boundary are pinned; garbage collection evicts eligible older objects
|
||||
and reports unavailable bytes honestly. Coordinator metadata and download
|
||||
session histories are independently count- and time-bounded.
|
||||
Loading…
Add table
Add a link
Reference in a new issue