# Bytes management surface

**Contract:** 2026-09-11

The management surface observes a particular bytes instance for its operator.
It has its own listener, description and contract, independent of the nine
BN bytes content operations. The operations listener serves that separate
contract at its own `/describe/SURFACE.md`.
Management does not change content identity or require an index of every
implementation of the content protocol.

## Inventory

`inventory` reads an observation of committed artifacts: their count, total
logical byte length, up to ten most recently modified objects, and up to ten
largest objects. Counts and lengths are nonnegative decimal strings. The
empty store returns zero counts and empty arrays.

Only regular files with canonical lowercase SHA-256 object paths under
`objects/<first-two-hex>/<remaining-62-hex>` are counted. Symlinks, temporary
uploads and unrelated files are excluded. The scan reads metadata; it neither
reads nor hashes object content, so this is not an integrity audit. Logical
byte length excludes filesystem metadata, staging files and allocation overhead.

`recent` orders objects by descending modification time, `largest` by descending
logical size. Equal values are ordered by ascending content name. Both lists
and totals come from the same scan. Successful observations may be reused for
at most five seconds, retaining their original scan timestamps. Reads are
idempotent and can be retried. Request cancellation cancels waiting or scanning.
A scan failure returns an error, never successful partial totals.

`scan_started_at` and `observed_at` bound the scan in UTC. Concurrent writes
can enter or miss the observation. This is not a transactional snapshot or an
upload history; there is no pagination, retained read view or snapshot token.

## Timestamp meaning

`timestamp_source` is `filesystem_mtime`. An artifact's `stored_at` is the
file's modification time. The store writes a temporary file, then renames it,
preserving that timestamp. It is an approximation of when an object was added:
writing may finish before commit, and restores or external changes can alter
timestamps. Historical first-admission times are not recorded. Idempotent puts
ordinarily preserve existing objects and do not increase the artifact count.

The dashboard explains this basis and does not present it as exact upload
history. The observation carries no ownership, authority, attribution, binding
or custody claim.

## Separation

Management is unauthenticated, like the underlying foundation. Deployment
decides who can reach each listener. The separate management port allows a
private management network while preserving a public content API. A deployment
may explicitly publish both; no particular exposure follows from this contract.

The content listener does not serve management routes. The management listener
does not serve content reads or writes. Each listener's description covers
exactly its own surface.
