# Bloch Markets Developer Studio

Open `/studio/` to inspect local Ustav receipts. The initial lifecycle example and the optional native-pair example were generated by `sandbox/run.py` against the revision named in `contract.json`. Published sample bytes are checked against SHA-256 hashes in that manifest.

## Inspect and compare

Import one or more v1 lifecycle or native-pair JSON receipts, or a saved Studio review bundle. The workspace holds at most 12 unique receipts, limited to 1 MiB each. A review bundle is limited to 16 MiB. Import is transactional: a malformed file or capacity failure preserves the previous workspace. Files remain in browser memory until an explicit export; nothing is uploaded or automatically saved.

Structure checks require the exact local receipt fields and fixed result contracts. Six source claims are compared with the published pin: repository, revision, Rust toolchain, Cargo lock hash, example source hash and executed command. A source mismatch remains inspectable and is marked clearly. These comparisons cannot prove that an uploaded receipt actually came from a kernel run. There is no independently verifiable run signature.

Lifecycle views show the reported supply of 60 after mint, 60 after transfer and zero after burn. Pair views show two independently owned assets and the reported joint authorization and atomic local settlement. Pair receipts contain no amounts, signatures, reserves or prices. Fresh ephemeral keys can change lifecycle asset identifiers and roots between runs. Such differences are not evidence of a chain reorganization.

## Export and reproduce

Export a review JSON bundle, CSV index or the selected original receipt. Reopening a review verifies each receipt checksum and recomputes comparisons against the currently published pin; saved comparison results are not trusted. Checksums detect inconsistent bytes, not forgery.

Prepare a local command by selecting a scenario, pinned protocol checkout and new output filename. The command uses the existing Python runner and is quoted for a POSIX shell. The browser never executes it. Run it from the Bloch Markets repository with the exact clean protocol revision, Rust toolchain and cached dependencies. The runner uses offline, locked Cargo execution and refuses existing output filenames.

## Capability boundary

This is a local reference workflow. No hosted lifecycle API, wallet connection, chain transaction, production finality, asset backing or live native DEX AMM is provided. Consult `/status.json` for the machine-readable capability boundary and `/schemas/` for the two receipt contracts. Network observation is available separately at https://ops-blochinc.xyz/monitor/.
